public MinimizedControlPanel(GUI p){
		parent = p;
		int controlPanelHeight= 25;
		this.setMaximumSize(new Dimension(20000, controlPanelHeight));
		this.setMinimumSize(new Dimension(20000, controlPanelHeight));
		this.setLayout(new BorderLayout());
		this.setBorder(BorderFactory.createRaisedBevelBorder());
		
		buttonPanel = new JPanel();
		FlowLayout buttonLayout = new FlowLayout(FlowLayout.LEFT, 2, 0);
		buttonPanel.setLayout(buttonLayout);

		JButton button = createFrameworkIconButton("clearGraph", "cleargraph.gif", "Clear Graph");
		buttonPanel.add(button);
		addToDisabledButtonList(button);
		
		button = createFrameworkIconButton("addNodes", "addnodes.gif", "Add Nodes");
		buttonPanel.add(button);
		addToDisabledButtonList(button);

		button = createFrameworkIconButton("connectNodes", "connectnodes.gif", "Reevaluate Connections");
		buttonPanel.add(button);
		addToDisabledButtonList(button);

		
		addSeparator(buttonPanel);

		button = createFrameworkIconButton("zoomIn", "zoominimage.png", "Zoom In");
		buttonPanel.add(button);
		addToDisabledButtonList(button);

		button = createFrameworkIconButton("zoomOut", "zoomoutimage.png", "Zoom Out");
		buttonPanel.add(button);
		addToDisabledButtonList(button);

		button = createFrameworkIconButton("zoomToFit", "zoomtofit.gif", "Zoom To Fit");
		buttonPanel.add(button);
		addToDisabledButtonList(button);
		
		if(parent.getTransformator() instanceof Transformation3D) {
			button = createFrameworkIconButton("zoomToFit3D", "zoomtofit3d.gif", "Default View");
			buttonPanel.add(button);
			addToDisabledButtonList(button);
		}
		
		addSeparator(buttonPanel);
		addSpacer(buttonPanel, 5);
		
		// The two text fields to enter number of rounds and refresh rate
		//roundNumber.setText(String.valueOf(Configuration.defaultRoundNumber));
		if(Configuration.asynchronousMode){
			roundsToPerform.setToolTipText("Number of Events to perform");
		}
		else{
			roundsToPerform.setToolTipText("Number of Rounds to perform");
		}
		buttonPanel.add(roundsToPerform);
		
		refreshRate.setText(String.valueOf(Configuration.refreshRate));
		refreshRate.setToolTipText("Refresh Rate");
		buttonPanel.add(refreshRate);

		JPanel startButtonPanel = new JPanel();
		startButtonPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0));
		startButtonPanel.add(start);
			
		// the run-selection button
		runMenuButton = createFrameworkIconButton("RunMenu", "maximize.gif", "Run Options");
		runMenuButton.setPreferredSize(new Dimension(13, 29));
		addToDisabledButtonList(runMenuButton);
		startButtonPanel.add(runMenuButton);
		// raise the 'run' menu whenever the mouse idles over this button
		runMenuButton.addMouseListener(new MouseListener() {
			public void mouseClicked(MouseEvent e) {}
			public void mouseEntered(MouseEvent e) {
				if(runMenuButton.isEnabled()) {
					start.setBorderPainted(true);
				}
			}
			public void mouseExited(MouseEvent e) {
				if(runMenuButton.isEnabled()) {
					start.setBorderPainted(false);
				}
			}
			public void mousePressed(MouseEvent e) {}
			public void mouseReleased(MouseEvent e) {}
		});
		buttonPanel.add(startButtonPanel);
		
		
		abort = createFrameworkIconButton("Abort", "abort.gif", "Abort Simulation");
		abort.setEnabled(false);
		buttonPanel.add(abort);
		
		addSpacer(buttonPanel, 5);
		
		JLabel doneRoundsLabel;
		if(Global.isAsynchronousMode){
			doneRoundsLabel = new JLabel("Time: ");
			roundsPerformed.setText(String.valueOf(round(sinalgo.runtime.Global.currentTime, 2)));
		}
		else{
			doneRoundsLabel = new JLabel("Round: ");
			roundsPerformed.setText(String.valueOf((int)round(sinalgo.runtime.Global.currentTime, 2)));
		}
		buttonPanel.add(doneRoundsLabel);
		roundsPerformed.setEditable(false);
		roundsPerformed.setBorder(BorderFactory.createEmptyBorder());
		roundsPerformed.setToolTipText("Number of rounds performed so far");
		buttonPanel.add(roundsPerformed);

		// Add the user-defined buttons
		Vector<JButton> customButtons = super.createCustomButtons();
		if(customButtons.size() > 0) {
			addSpacer(buttonPanel, 5);
			addSeparator(buttonPanel);
			addSpacer(buttonPanel, 5);

			for(JButton b : customButtons) {
				buttonPanel.add(b);
				addToDisabledButtonList(b);
			}
			addSpacer(buttonPanel, 4); // strange, but the last button is sometimes not painted...
		}
		
		JButton changeButton = createFrameworkIconButton("extendPanel", "maximize.gif", "Extend");
		changeButton.setPreferredSize(new Dimension(13, 29));
		addToDisabledButtonList(changeButton);
		this.add(BorderLayout.EAST, changeButton);
		this.add(BorderLayout.WEST, buttonPanel);

		this.setVisible(true);
	}