@Override protected Entry getRoot( SplitDockPerspective station ){ return station.getRoot(); }
@Override protected Entry getRoot( SplitDockPerspective station ){ return station.getRoot(); }
@Override public Root getRoot(){ maybeDeploy(); return super.getRoot(); }
@Override public Root getRoot(){ maybeDeploy(); return super.getRoot(); }
/** * Searches and returns the leaf that shows <code>child</code>. * @param child some child of this station * @return the leaf showing <code>child</code> or <code>null</code> if not found */ public Leaf getLeaf( PerspectiveDockable child ){ return find( getRoot().getChild(), child ); }
/** * Makes sure that <code>placeholder</code> is not found anywhere * @param placeholder the element to remove * @param exception the entry that should not be modified */ private void clearPlaceholder( Path placeholder, Entry exception ){ clearPlaceholder( getRoot().getChild(), placeholder, exception ); }
/** * Searches and returns the leaf that shows <code>child</code>. * @param child some child of this station * @return the leaf showing <code>child</code> or <code>null</code> if not found */ public Leaf getLeaf( PerspectiveDockable child ){ return find( getRoot().getChild(), child ); }
/** * Makes sure that <code>placeholder</code> is not found anywhere * @param placeholder the element to remove * @param exception the entry that should not be modified */ private void clearPlaceholder( Path placeholder, Entry exception ){ clearPlaceholder( getRoot().getChild(), placeholder, exception ); }
/** * Adds a placeholder to <code>destination</code> and makes sure at the same time that * <code>placeholder</code> is not used by any other node. * @param destination a child of this perspective * @param placeholder the placeholder to insert */ public void addPlaceholder( Entry destination, Path placeholder ){ if( !destination.isAnchestor( getRoot() ) ){ throw new IllegalArgumentException( "destination is not child of this perspective" ); } clearPlaceholder( placeholder, destination ); destination.getPlaceholders().add( placeholder ); }
/** * Adds a placeholder to <code>destination</code> and makes sure at the same time that * <code>placeholder</code> is not used by any other node. * @param destination a child of this perspective * @param placeholder the placeholder to insert */ public void addPlaceholder( Entry destination, Path placeholder ){ if( !destination.isAnchestor( getRoot() ) ){ throw new IllegalArgumentException( "destination is not child of this perspective" ); } clearPlaceholder( placeholder, destination ); destination.getPlaceholders().add( placeholder ); }
public SplitDockStationLayout getPerspectiveLayout( SplitDockPerspective element, Map<PerspectiveDockable, Integer> children ){ if( children == null ){ return createLayout( null, -1, element.hasFullscreenAction() ); } Entry root = convert( element.getRoot(), children ); PerspectiveDockable fullscreenDockable = element.getFullscreen(); Integer fullscreen = null; if( fullscreenDockable != null ) fullscreen = children.get( fullscreenDockable ); if( fullscreen == null ) return createLayout( element, root, -1, element.hasFullscreenAction() ); else return createLayout( element, root, fullscreen, element.hasFullscreenAction() ); }