Beispiel zum Einfügen eines Commands zum Beenden des Annotations-Erstellmodus in die Annotations-Toolbar.
Die Commands für das Anlegen von Annotationen werden in der com.levigo.jadice.appbase.AnnotationProfileAwareToolBar-Klasse aus dem Annotationsprofil erstellt, hier hat man die Möglichkeit ein weiteres Command zum Beenden des Annotations-Erstellmodus einzufügen. Die AnnotationProfileAwareToolBar-Implementation muss angepasst werden, der Quellcode ist in der lib/appbase/jadice-appbase-x.x.x.x-sources.jar Datei unter com/levigo/jadice/appbase/AnnotationProfileAwareToolBar.java zu finden. Hier muss das zusätzliche Command in der Methode populateComponent(...) Methode am Anfang eingefügt werden, z.B.:
final AbstractDocumentCommand cmdStopAnnoCreation = new AbstractDocumentCommand() { @Override protected void execute() { getPageView().getToolManager().getTool(AnnotationTool.class).setEditMode(); } @Override protected boolean canExecute() { return getPageView().getToolManager().getTool(AnnotationTool.class).getCreateMode() != null; } }; final Icon iconStopAnnoCreation = UIManager.getIcon("Jadice.icons.TB_CLOSEDOC"); final CommandAction cmdActionStopAnnoCreation = new CommandAction(// context, // context Arrays.<Command> asList(cmdStopAnnoCreation), // command "",// "",// "Annotation erstellen beenden",// null, // long description; not used. iconStopAnnoCreation, // iconStopAnnoCreation, // "",// null, // accelerator key 0, // mnemonic key null // other options ); addActionToComponent(componentToPopulate, cmdActionStopAnnoCreation);
In der Annotationstoolbar erscheint oben nun ein zusätzliches Icon.
Das Einbinden der angepassten Toolbar-Implementation kann man im Code der BasicJadicePanel-Klasse sehen, siehe com/levigo/jadice/demo/BasicJadicePanel.java, Methode createJadiceAnnotationToolbar():
protected JToolBar createJadiceAnnotationToolbar() { return annoTools = new MyAnnotationProfileAwareToolBar(getPageView(), getContext()); }