com.vlsolutions.swing.docking

Class BorderSplitter


public class BorderSplitter
extends java.lang.Object

An utility class used to delegate the border drag/drop scanning for docking ( since the same code is used in many DockDropReceivers).

This class is only meant for API Extenders.

Taking a DockDragEvent or DockDropEvent, check if mouse is near of one border. If so, accepts the drag or drop operation.

Constructor Summary

BorderSplitter(Component delegator)

Method Summary

void
processDockableDrag(DockDragEvent e)
void
processDockableDrop(DockDropEvent e)
void
split(DockDropEvent event, Container draggedContainer, DockingConstants.Split position)
This method should be overriden if the delegator doesn't belong to the docking containment hierarchy after drop acceptance.

Constructor Details

BorderSplitter

public BorderSplitter(Component delegator)

Method Details

processDockableDrag

public void processDockableDrag(DockDragEvent e)

processDockableDrop

public void processDockableDrop(DockDropEvent e)

split

public void split(DockDropEvent event,
                  Container draggedContainer,
                  DockingConstants.Split position)
This method should be overriden if the delegator doesn't belong to the docking containment hierarchy after drop acceptance.

Here is a case :

  • if tabpane is a TabbedDockableContainer with 2 tabs,
  • if drag starts on tabpane
  • if drop occurs on a border of the same tabpane

Then, tabpane will be replaced by a simple DockableContainer on drop acceptance (because only one tab left).

And DockingDesktop.splitContainer(Component base, Split position) cannot be called with tabpane as "base" (instead, it should be called with the replacer of tabpane, or use the other split method which takes a dockable as base.


© Copyright 2004-2006 VLSolutions. All Rights Reserved.
www.vlsolutions.com : Java Components - Smart Client Applications