Weitere Icons/Actions der Source Editor Toolbar hinzufügen

Alles zu NetBeans als RCP-Platform

Moderator: wegus

WeserLinux
Beiträge: 89
Registriert: 16.03.2012, 10:46
Wohnort: Niedersachsen

Weitere Icons/Actions der Source Editor Toolbar hinzufügen

Beitragvon WeserLinux » 04.09.2017, 15:24

Moin Zusammen

In meiner NB 8.2 Applikation können ASCII Dateien geöffnet und im Editor-Bereich im Source Multiview bearbeitet werden. Diverse Actions bringt der Standard Editor mit ("Last Edit", "Find Selection..", "Previous Bookmark", etc.)

Wie kann ich nun weitere eigene Icons/Actions an die existierende Toolbar ranhängen?


Danke schön

Olaf

WeserLinux
Beiträge: 89
Registriert: 16.03.2012, 10:46
Wohnort: Niedersachsen

Re: Weitere Icons/Actions der Source Editor Toolbar hinzufügen

Beitragvon WeserLinux » 08.09.2017, 14:06

Hallo Zusammen

Habe die Lösung gefunden. Anstatt den default Code von NB zu nehmen habe ich eine neue Klasse erstellt und MultiViewEditorElement erweitert. Damit konnte ich leicht die System-Toolbar herausziehen und mit myAction erweitern.

Code: Alles auswählen

@MultiViewElement.Registration(
        displayName = "#LBL_Fig_EDITOR",
        iconBase = "org/rdexplorersuite/filetypefig/xfig-icon16.png",
        mimeType = "text/x-fig",
        persistenceType = TopComponent.PERSISTENCE_ONLY_OPENED,
        preferredID = "Fig",
        position = 1000
)
@Messages("LBL_Fig_EDITOR=Source")
public final class FigSourceElement extends MultiViewEditorElement implements MultiViewElement {

    private final FigDataObject obj;
    private final Figure figure;
    private final MyNewAction myAction;
    private JToolBar toolbar;

    public FigSourceElement(Lookup lkp) {
        super(lkp);
        obj = lkp.lookup(FigDataObject.class);
        assert obj != null;
        figure = new Figure(FileUtil.toFile(obj.getPrimaryFile()));
        myAction= new MyNewAction(figure);
    }

    @Override
    public JComponent getToolbarRepresentation() {
        Document doc = getEditorPane().getDocument();
        if (doc instanceof NbDocument.CustomToolbar) {
            if (toolbar == null) {
                toolbar = ((NbDocument.CustomToolbar) doc).createToolbar(getEditorPane());
                toolbar.addSeparator();
                toolbar.add(myAction);
            }
            return toolbar;
        }
        return null;
    }
}


Zurück zu „NetBeans - Platform / RCP“

Wer ist online?

Mitglieder in diesem Forum: Baidu [Spider] und 4 Gäste