private void gripperDragged(MouseEvent e) {
		// where are we ?
		@SuppressWarnings("unused")
		Component gripper = e.getComponent();
		ToolBarPanel panel = (ToolBarPanel) this.getParent();
		if(! (panel.getParent() instanceof ToolBarContainer)) { //2006/12/01
			// this is a safety for users willing to include toolbar panels outside
			// a toolbar container (in that case, these toolbars aren't draggable).
			return;
		}
		ToolBarContainer container = (ToolBarContainer) panel.getParent();

		Point tbPanelPoint = SwingUtilities.convertPoint(e.getComponent(), e.getPoint(), panel);
		if(panel.contains(tbPanelPoint)) {
			// we're dragging inside the same ToolbarPanel
			ToolBarPanelLayout layout = (ToolBarPanelLayout) panel.getLayout();
			ToolBarConstraints constraints = layout.getInsertionContraintsAt(this, tbPanelPoint);
			if(constraints != null) {
				panel.remove(this);
				panel.add(this, constraints);
				panel.revalidate();
			}
		} else {
			// we're outside this toolbar panel, check if we're above another toolbar
			// or near an empty one
			Rectangle containerBounds = container.getBounds();
			Rectangle invisiblePanelBounds = new Rectangle(containerBounds);
			ToolBarPanel topPanel = (ToolBarPanel) container.getComponentAt(BorderLayout.NORTH);
			invisiblePanelBounds.height = 10;
			if(checkGripperOnOtherPanel(topPanel, e, invisiblePanelBounds)) {
				return;
			}
			invisiblePanelBounds.y = containerBounds.y + containerBounds.height - 10;
			ToolBarPanel bottomPanel = (ToolBarPanel) container.getComponentAt(BorderLayout.SOUTH);
			if(checkGripperOnOtherPanel(bottomPanel, e, invisiblePanelBounds)) {
				return;
			}

			invisiblePanelBounds.y = containerBounds.y;
			invisiblePanelBounds.height = containerBounds.height;
			invisiblePanelBounds.width = 10;
			ToolBarPanel leftPanel = (ToolBarPanel) container.getComponentAt(BorderLayout.WEST);
			if(checkGripperOnOtherPanel(leftPanel, e, invisiblePanelBounds)) {
				return;
			}

			invisiblePanelBounds.x = containerBounds.x + containerBounds.width - 10;
			ToolBarPanel rightPanel = (ToolBarPanel) container.getComponentAt(BorderLayout.EAST);
			if(checkGripperOnOtherPanel(rightPanel, e, invisiblePanelBounds)) {
				return;
			}
		}
	}