@Override public PutInfo validatePutInfo( SplitDockStation station, PutInfo putInfo ){ putInfo = ensureDropLocation( putInfo ); if( putInfo != null ){ return super.validatePutInfo( station, putInfo ); } else{ return null; } }
/** * Creates a new manager using the {@link DefaultSplitLayoutManager} * as delegate. */ public LockedResizeLayoutManager(){ this( new DefaultSplitLayoutManager() ); }
public PutInfo prepareDrop( SplitDockStation station, StationDropItem item ){ if( station.isFullScreen() ) return null; if( station.getDockableCount() == 0 ){ PutInfo putInfo = new PutInfo( null, PutInfo.Put.CENTER, item.getDockable(), true ); putInfo = validatePutInfo( station, putInfo ); return putInfo; } else{ Point point = new Point( item.getMouseX(), item.getMouseY() ); SwingUtilities.convertPointFromScreen( point, station ); PutInfo putInfo = station.getRoot().getPut( point.x, point.y, item.getDockable() ); if( putInfo == null && station.isAllowSideSnap() ){ putInfo = calculateSideSnap( station, point.x, point.y, null, item.getDockable() ); putInfo = validatePutInfo( station, putInfo ); } if( putInfo != null ){ putInfo.setDockable( item.getDockable() ); calculateDivider( station, putInfo, null, item ); } return putInfo; } }
public double validateDivider( SplitDockStation station, double divider, Node node ){ divider = Math.min( 1, Math.max( 0, divider )); SplitNode left = node.getLeft(); SplitNode right = node.getRight(); Dimension leftMin = null; Dimension rightMin = null; if( left != null ){ leftMin = left.getMinimumSize(); } if( right != null ){ rightMin = right.getMinimumSize(); } if( leftMin == null ){ leftMin = new Dimension(); } if( rightMin == null ){ rightMin = new Dimension(); } return validateDivider( station, divider, leftMin, rightMin, node.getOrientation(), node.getWidth(), node.getHeight() ); }
public PutInfo prepareDrop( SplitDockStation station, StationDropItem item ){ if( station.isFullScreen() ) return null; if( station.getDockableCount() == 0 ){ PutInfo putInfo = new PutInfo( null, PutInfo.Put.CENTER, item.getDockable(), true ); putInfo = validatePutInfo( station, putInfo ); return putInfo; } else{ Point point = new Point( item.getMouseX(), item.getMouseY() ); SwingUtilities.convertPointFromScreen( point, station ); PutInfo putInfo = station.getRoot().getPut( point.x, point.y, item.getDockable() ); if( putInfo == null && station.isAllowSideSnap() ){ putInfo = calculateSideSnap( station, point.x, point.y, null, item.getDockable() ); putInfo = validatePutInfo( station, putInfo ); } if( putInfo != null ){ putInfo.setDockable( item.getDockable() ); calculateDivider( station, putInfo, null, item ); } return putInfo; } }
public double validateDivider( SplitDockStation station, double divider, Node node ){ divider = Math.min( 1, Math.max( 0, divider )); SplitNode left = node.getLeft(); SplitNode right = node.getRight(); Dimension leftMin = null; Dimension rightMin = null; if( left != null ){ leftMin = left.getMinimumSize(); } if( right != null ){ rightMin = right.getMinimumSize(); } if( leftMin == null ){ leftMin = new Dimension(); } if( rightMin == null ){ rightMin = new Dimension(); } return validateDivider( station, divider, leftMin, rightMin, node.getOrientation(), node.getWidth(), node.getHeight() ); }
putInfo = calculateSideSnap( station, point.x, point.y, leaf, item.getDockable() ); putInfo = validatePutInfo( station, putInfo ); if( putInfo != null ){ leaf = null; calculateDivider( station, putInfo, leaf, item );
divider = (size + dividerSize/2.0) / nodeSize.height; divider = validateDivider( station, divider, item.getMinimumSize(), other.getMinimumSize(), divider = 1.0 - (size + dividerSize/2.0) / nodeSize.height; divider = validateDivider( station, divider, other.getMinimumSize(), item.getMinimumSize(), divider = (size + dividerSize/2.0) / nodeSize.width; divider = validateDivider( station, divider, item.getMinimumSize(), other.getMinimumSize(), divider = 1.0 - (size + dividerSize/2.0) / nodeSize.width; divider = validateDivider( station, divider, other.getMinimumSize(), item.getMinimumSize(),
/** * Creates a new manager using the {@link DefaultSplitLayoutManager} * as delegate. */ public LockedResizeLayoutManager(){ this( new DefaultSplitLayoutManager() ); }
putInfo = calculateSideSnap( station, point.x, point.y, leaf, item.getDockable() ); putInfo = validatePutInfo( station, putInfo ); if( putInfo != null ){ leaf = null; calculateDivider( station, putInfo, leaf, item );
divider = (size + dividerSize/2.0) / nodeSize.height; divider = validateDivider( station, divider, item.getMinimumSize(), other.getMinimumSize(), divider = 1.0 - (size + dividerSize/2.0) / nodeSize.height; divider = validateDivider( station, divider, other.getMinimumSize(), item.getMinimumSize(), divider = (size + dividerSize/2.0) / nodeSize.width; divider = validateDivider( station, divider, item.getMinimumSize(), other.getMinimumSize(), divider = 1.0 - (size + dividerSize/2.0) / nodeSize.width; divider = validateDivider( station, divider, other.getMinimumSize(), item.getMinimumSize(),