public boolean drop( Dockable dockable, DockableProperty property ) { if( property instanceof StackDockProperty ){ return drop( dockable, (StackDockProperty)property ); } else return false; }
public void drop( Dockable dockable ) { drop( dockable, true ); }
public Dockable execute( CombinerSource source ){ DockStation parent = source.getParent(); PlaceholderMap placeholders = source.getPlaceholders(); StackDockStation stack = new StackDockStation( parent.getTheme() ); stack.setController( parent.getController() ); if( placeholders != null ){ stack.setPlaceholders( placeholders ); } if( index == 1 ){ stack.drop( source.getOld(), false ); stack.drop( source.getNew(), false ); } else{ stack.drop( source.getNew(), false ); stack.drop( source.getOld(), false ); } return stack; }
public Dockable execute( CombinerSource source ){ DockStation parent = source.getParent(); PlaceholderMap placeholders = source.getPlaceholders(); StackDockStation stack = new StackDockStation( parent.getTheme() ); stack.setController( parent.getController() ); if( placeholders != null ){ stack.setPlaceholders( placeholders ); } if( index == 1 ){ stack.drop( source.getOld(), false ); stack.drop( source.getNew(), false ); } else{ stack.drop( source.getNew(), false ); stack.drop( source.getOld(), false ); } return stack; }
public Dockable combine( CombinerSource source, CombinerTarget target ){ if( target instanceof DisplayerTarget ){ return ((DisplayerTarget)target).execute( source ); } else{ DockStation parent = source.getParent(); PlaceholderMap placeholders = source.getPlaceholders(); StackDockStation stack = new StackDockStation( parent.getTheme() ); stack.setController( parent.getController() ); if( placeholders != null ){ stack.setPlaceholders( placeholders ); } stack.drop( source.getOld() ); stack.drop( source.getNew() ); return stack; } }
public void setLayout( StackDockStation station, StackDockStationLayout layout, Map<Integer, Dockable> children, PlaceholderStrategy placeholders ){ DockController controller = station.getController(); try { if (controller != null) controller.freezeLayout(); for (int i = station.getDockableCount() - 1; i >= 0; i--) station.remove( i ); if( layout instanceof RetroStackDockStationLayout ){ RetroStackDockStationLayout retroLayout = (RetroStackDockStationLayout)layout; for (int id : retroLayout.getChildren()) { Dockable dockable = children.get( id ); if (dockable != null) { station.drop( dockable ); } } } else{ station.setPlaceholders( layout.getPlaceholders().filter( placeholders ), children ); } Dockable selected = children.get( layout.getSelected() ); if (selected != null) { station.setFrontDockable( selected ); } } finally { if (controller != null) controller.meltLayout(); } }
public void setLayout( StackDockStation station, StackDockStationLayout layout, Map<Integer, Dockable> children, PlaceholderStrategy placeholders ){ DockController controller = station.getController(); try { if (controller != null) controller.freezeLayout(); for (int i = station.getDockableCount() - 1; i >= 0; i--) station.remove( i ); if( layout instanceof RetroStackDockStationLayout ){ RetroStackDockStationLayout retroLayout = (RetroStackDockStationLayout)layout; for (int id : retroLayout.getChildren()) { Dockable dockable = children.get( id ); if (dockable != null) { station.drop( dockable ); } } } else{ station.setPlaceholders( layout.getPlaceholders().filter( placeholders ), children ); } Dockable selected = children.get( layout.getSelected() ); if (selected != null) { station.setFrontDockable( selected ); } } finally { if (controller != null) controller.meltLayout(); } }
/** * Adds <code>dockable</code> to this station. * @param dockable the element to drop * @param autoPlaceholder whether the {@link PlaceholderStrategy} can be invoked to search for a matching placeholder */ public void drop( Dockable dockable, boolean autoPlaceholder ){ Path placeholder = null; if( autoPlaceholder ){ PlaceholderStrategy strategy = getPlaceholderStrategy(); placeholder = strategy == null ? null : strategy.getPlaceholderFor( dockable ); } boolean done = false; if( placeholder != null ){ done = drop( dockable, new StackDockProperty( dockables.dockables().size(), placeholder ) ); } if( !done ){ add( dockable, dockables.dockables().size(), null ); } }
drop( dockable, false ); result = true;