@Override public boolean aside( AsideRequest request ){ if( request.getPlaceholder() != null ){ addPlaceholder( request.getPlaceholder() ); AsideAnswer answer = request.forward( getStation().getCombiner(), getPlaceholderMap() ); if( answer.isCanceled() ){ return false; } setPlaceholderMap( answer.getLayout() ); } return true; }
/** * Can be called by {@link DockStation#aside(AsideRequest)} if <code>request</code> contains a * location that points toward <code>item</code>. The method first tries to call * {@link DockStation#aside(AsideRequest)} of the {@link Dockable} represented by * <code>item</code>, and if that fails it tries to call {@link Combiner#aside(AsideRequest)}. * @param item the item which should contain the new location * @param combiner the {@link Combiner} to ask if there is no {@link DockStation} to ask, not <code>null</code> * @param request information about the location to create */ public <T extends PlaceholderListItem<Dockable>> void combine( DockablePlaceholderList<T>.Item item, Combiner combiner, AsideRequest request ){ PlaceholderListItem<Dockable> handle = item.getDockable(); Path placeholder = request.getPlaceholder(); if( placeholder != null ){ item.add( placeholder ); } if( handle != null ){ DockStation station = handle.asDockable().asDockStation(); if( station != null ){ request.forward( station ); return; } } PlaceholderMap childLayout = item.getPlaceholderMap(); AsideAnswer answer = request.forward( combiner, childLayout ); if( !answer.isCanceled() ){ item.setPlaceholderMap( answer.getLayout() ); } } }
/** * Can be called by {@link DockStation#aside(AsideRequest)} if <code>request</code> contains a * location that points toward <code>item</code>. The method first tries to call * {@link DockStation#aside(AsideRequest)} of the {@link Dockable} represented by * <code>item</code>, and if that fails it tries to call {@link Combiner#aside(AsideRequest)}. * @param item the item which should contain the new location * @param combainer the {@link Combiner} to ask if there is no {@link DockStation} to ask, not <code>null</code> * @param request information about the location to create */ public <T extends PlaceholderListItem<Dockable>> void combine( DockablePlaceholderList<T>.Item item, Combiner combiner, AsideRequest request ){ PlaceholderListItem<Dockable> handle = item.getDockable(); Path placeholder = request.getPlaceholder(); if( placeholder != null ){ item.add( placeholder ); } if( handle != null ){ DockStation station = handle.asDockable().asDockStation(); if( station != null ){ request.forward( station ); return; } } PlaceholderMap childLayout = item.getPlaceholderMap(); AsideAnswer answer = request.forward( combiner, childLayout ); if( !answer.isCanceled() ){ item.setPlaceholderMap( answer.getLayout() ); } } }
@Override public boolean aside( AsideRequest request ){ if( request.getPlaceholder() != null ){ addPlaceholder( request.getPlaceholder() ); DockStation station = getDockable().asDockStation(); if( station == null ){ AsideAnswer answer = request.forward( getStation().getCombiner(), getPlaceholderMap() ); if( answer.isCanceled() ){ return false; } setPlaceholderMap( answer.getLayout() ); } else{ AsideAnswer answer = request.forward( station ); if( answer.isCanceled() ){ return false; } } } return true; }
answer = request.forward( getCombiner(), leaf.getPlaceholderMap() ); if( !answer.isCanceled() ){ leaf.setPlaceholderMap( answer.getLayout() );
answer = request.forward( getCombiner(), leaf.getPlaceholderMap() ); if( !answer.isCanceled() ){ leaf.setPlaceholderMap( answer.getLayout() );