@Override public void addDockActionSourceListener( DockActionSourceListener listener ){ if( !hasListeners() ){ source.addDockActionSourceListener( this.listener ); } super.addDockActionSourceListener( listener ); }
@Override public void removeDockActionSourceListener( DockActionSourceListener listener ){ super.removeDockActionSourceListener( listener ); if( !hasListeners() ){ source.removeDockActionSourceListener( this.listener ); } }
@Override public void addDockActionSourceListener( DockActionSourceListener listener ){ if( this.listener == null ){ updateActionList( false ); } super.addDockActionSourceListener( listener ); if( this.listener == null ){ this.listener = new Listener(); this.listener.add( dockable ); } }
public DefaultDockActionSource getDirectActionOffers( Dockable dockable ){ if( fullScreenAction == null ) return null; else { DefaultDockActionSource source = new DefaultDockActionSource(new LocationHint(LocationHint.DIRECT_ACTION, LocationHint.VERY_RIGHT)); source.add(fullScreenAction); return source; } }
public void setController( DockController controller ) { icon.setController( controller ); iconHover.setController( controller ); iconPressed.setController( controller ); text.setController( controller ); tooltip.setController( controller ); }
@Override public void addDockActionSourceListener( DockActionSourceListener listener ){ boolean empty = listeners.isEmpty(); super.addDockActionSourceListener( listener ); if( empty && !listeners.isEmpty() ){ for( DockActionSource source : sources ) source.addDockActionSourceListener( this.listener ); updateSeparators(); } }
/** * Adds several actions to this source. * @param actions the new actions */ public void add( DockAction... actions ){ add( new DefaultDockActionSource( actions )); }
public void update( boolean last ){ if( !separateSources || last ) remove( SeparatorAction.SEPARATOR ); else if( predecessor.getDockActionCount() > 0 && getDockActionCount() == 0 ) add( SeparatorAction.SEPARATOR ); } }
@Override public void actionsRemoved( DockActionSource source, int firstIndex, int lastIndex ){ if( source.getDockActionCount() == 0 ){ fireRemoved( 0, lastIndex+1 ); } else{ fireRemoved( firstIndex+1, lastIndex+1 ); } }
@Override public void actionsAdded( DockActionSource source, int firstIndex, int lastIndex ){ int count = lastIndex - firstIndex + 1; if( count == source.getDockActionCount() ){ fireAdded( 0, lastIndex+1 ); } else{ fireAdded( firstIndex+1, lastIndex+1 ); } } };
public int compare( DockActionSource a, DockActionSource b ){ int indexA = indexOf( hints, a.getLocationHint().getHint() ); int indexB = indexOf( hints, b.getLocationHint().getHint() ); if( indexA == indexB ){ indexA = indexOf( origins, a.getLocationHint().getOrigin() ); indexB = indexOf( origins, b.getLocationHint().getOrigin() ); } if( indexA < indexB ) return -1; if( indexA > indexB ) return 1; return 0; }
@Override public int getDockActionCount(){ int count = source.getDockActionCount(); if( count > 0 ){ count++; } return count; }
/** * Gets the number of {@link DockAction}s that were added to this menu. * @return the number of actions */ public int getActionCount(){ return menu.getDockActionCount(); }
/** * Sets whether there are separators between the children of this * source or not. * @param separateSources <code>true</code> if children should be separated */ public void setSeparateSources( boolean separateSources ) { if( this.separateSources != separateSources ){ this.separateSources = separateSources; updateSeparators(); } }
public DefaultDockActionSource getDirectActionOffers( Dockable dockable ){ if( fullScreenAction == null ) return null; else { DefaultDockActionSource source = new DefaultDockActionSource(new LocationHint(LocationHint.DIRECT_ACTION, LocationHint.VERY_RIGHT)); source.add(fullScreenAction); return source; } }
public void setController( DockController controller ) { icon.setController( controller ); text.setController( controller ); tooltip.setController( controller ); } }
/** * Tells whether the action of this guard can be seen or not * @return <code>true</code> if the action can be seen */ public boolean isVisible(){ return source.getDockActionCount() > 0; }
public void setController( DockController controller ) { icon.setController( controller ); iconHover.setController( controller ); iconPressed.setController( controller ); text.setController( controller ); tooltip.setController( controller ); }
public void setController( DockController controller ) { icon.setController( controller ); text.setController( controller ); tooltip.setController( controller ); } }