Eclipse RCP - как добавить кнопку в верхний правый угол формы затмения - PullRequest
4 голосов
/ 19 июля 2011

Я нигде не могу найти, как добавить кнопку в верхний правый угол формы Eclipse, так же, как на скриншоте.

eclispe-rcp form with a button

Кнопка, кажется, является частью области заголовка формы, является ли она частью функциональности формы или это просто еще один композит, который выглядит как заголовок формы? Любые примеры исходного кода (даже черновики) высоко ценятся.

Edit:

Мне удалось добавить кнопки в раздел, но все же не в саму форму, я использовал пример, найденный здесь:

http://svn.regilo.org/repository/regilo/trunk/org.regilo.menu/src/org/regilo/menu/editor/page/MenuPageMaster.java

private void createSectionToolbar(Section section, FormToolkit toolkit) {
    ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
    ToolBar toolbar = toolBarManager.createControl(section);
    final Cursor handCursor = new Cursor(Display.getCurrent(),
            SWT.CURSOR_HAND);
    toolbar.setCursor(handCursor);
    // Cursor needs to be explicitly disposed
    toolbar.addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
            if ((handCursor != null) && (handCursor.isDisposed() == false)) {
                handCursor.dispose();
            }
        }
    });

    // save
    CommandContributionItemParameter saveContributionParameter = new CommandContributionItemParameter(
            editor.getSite(), null,
            "it.wellnet.easysitebox.menu.commands.saveMenu",
            CommandContributionItem.STYLE_PUSH);
    saveContributionParameter.icon = RegiloCoreImages.getInstance().DESC_UPDATE;

    CommandContributionItem saveMenu = new CommandContributionItem(
            saveContributionParameter);

    toolBarManager.add(saveMenu);

    toolBarManager.update(true);

    section.setTextClient(toolbar);
}

Тем не менее, с самой формой все еще не везет.

Ответы [ 2 ]

3 голосов
/ 19 июля 2011

Вы можете получить менеджер панели инструментов следующим образом:

IManagedForm mform = formPage.getManagedForm();
IToolBarManager toolbar = mform.getForm().getToolBarManager();

Теперь вы сможете добавлять элементы на панель инструментов, используя API-интерфейс менеджера панели инструментов, как обычно.

0 голосов
/ 17 октября 2012

Попробуйте получить менеджер панели инструментов, используя form.getToolBarManager()

...