public String getToolTipText(MouseEvent event){
		
		//block the appearence of the ToolTip when the simulation is runing. This prevents the
		//simulation from getting inconsistencies from multiple threads drawing into the same
		//buffer
		if(Global.isRunning){
			return null;
		}
		
		Edge edgeUnderPos = null;
		
		Enumeration<Node> nodeEnumer = Runtime.nodes.getSortedNodeEnumeration(false);
		while(nodeEnumer.hasMoreElements()){
			Node node = nodeEnumer.nextElement();
			if(node.isInside(event.getX(), event.getY(), pt)){
				if(Configuration.dimensions == 3) {
					toolTipDrawCoordCube = node;
					repaint();
				}
				return "Node "+node.ID+":\n"+node.toString();
			}
			// give precendence to the nodes - only if there is no node at the cursor, select the edge
			if(edgeUnderPos == null) {
				edgeUnderPos = getFirstEdgeAtPosition(event.getX(), event.getY(), node);
			}
		}
		if(edgeUnderPos != null){
			return "Edge from "+edgeUnderPos.startNode.ID+" to "+edgeUnderPos.endNode.ID+":\n"+edgeUnderPos.toString();
		}
		return null;
	}