/** * Searches the {@link ActionOffer} for <code>dockable</code>. * @param dockable the element whose offer is searched * @return the offer */ public ActionOffer getActionOffer( Dockable dockable ){ for( ActionOffer offer : actionOffers ){ if( offer.interested( dockable )) return offer; } return getDefaultActionOffer(); }
public DockActionSource getSource( Dockable dockable, DockActionSource source, DockActionSource[] guards, DockActionSource parent, DockActionSource[] parents ){ DockActionSource[] sources = ((CommonDockable)dockable).getSources(); int sizeSources = sources == null ? 0 : sources.length; int sizeGuards = guards == null ? 0 : guards.length; DockActionSource[] newGuards; if( sizeSources == 0 ){ newGuards = guards; } else if( sizeGuards == 0 ){ newGuards = sources; } else{ newGuards = new DockActionSource[ sizeSources + sizeGuards ]; System.arraycopy( sources, 0, newGuards, 0, sizeSources ); System.arraycopy( guards, 0, newGuards, sizeSources, sizeGuards ); } try{ onRecall = true; return control.intern().getController().getActionOffer( dockable ).getSource( dockable, source, newGuards, parent, parents ); } finally{ onRecall = false; } }
public DockActionSource getSource( Dockable dockable, DockActionSource source, DockActionSource[] guards, DockActionSource parent, DockActionSource[] parents ){ DockActionSource[] sources = ((CommonDockable)dockable).getSources(); int sizeSources = sources == null ? 0 : sources.length; int sizeGuards = guards == null ? 0 : guards.length; DockActionSource[] newGuards; if( sizeSources == 0 ){ newGuards = guards; } else if( sizeGuards == 0 ){ newGuards = sources; } else{ newGuards = new DockActionSource[ sizeSources + sizeGuards ]; System.arraycopy( sources, 0, newGuards, 0, sizeSources ); System.arraycopy( guards, 0, newGuards, sizeSources, sizeGuards ); } try{ onRecall = true; return control.intern().getController().getActionOffer( dockable ).getSource( dockable, source, newGuards, parent, parents ); } finally{ onRecall = false; } }
parentSource = dockable.getDockParent().getDirectActionOffers( dockable ); return offer.getSource( dockable, dockable.getLocalActionOffers(), guards.toArray( new DockActionSource[guards.size()] ), parentSource, parents.toArray( new DockActionSource[ parents.size() ] ));