Example usage for org.eclipse.jface.action IToolBarManager update

List of usage examples for org.eclipse.jface.action IToolBarManager update

Introduction

In this page you can find the example usage for org.eclipse.jface.action IToolBarManager update.

Prototype

void update(boolean force);

Source Link

Document

Updates this manager's underlying widget(s) with any changes which have been made to it or its items.

Usage

From source file:org.codehaus.groovy.eclipse.editor.outline.GroovyOutlinePage.java

License:Apache License

private void initializeViewer() {
    if (isInitialized) {
        return;/*from   w ww . j  av a2s.co m*/
    }
    // remove actions
    IPageSite site = getSite();
    if (site != null) {
        IActionBars actionBars = site.getActionBars();
        if (actionBars != null) {
            IToolBarManager toolBarManager = actionBars.getToolBarManager();
            if (toolBarManager != null) {
                toolBarManager.removeAll();
                toolBarManager.add(new GroovyLexicalSortingAction());
                toolBarManager.update(true);
            }
        }
    }

    isInitialized = true;
}

From source file:org.csstudio.scan.ui.plot.ScanPlotView.java

License:Open Source License

/** Update toolbar to display selectors for the devices shown in the plot */
void updateToolbar() {
    final String[] devices = model.getYDevices();
    final IToolBarManager toolbar = getViewSite().getActionBars().getToolBarManager();
    // Add/update Y axis selectors
    for (int i = 0; i < devices.length; ++i) {
        final ActionContributionItem item = (ActionContributionItem) toolbar
                .find(DeviceSelectorAction.ID_Y + i);
        final DeviceSelectorAction selector;
        if (item != null)
            selector = (DeviceSelectorAction) item.getAction();
        else {/*w w w .  j  a  va  2 s.com*/
            selector = DeviceSelectorAction.forYAxis(model, i, plot);
            toolbar.insertBefore(DeviceSelectorAction.ID_ADD, selector);
            toolbar.update(true);
        }
        selector.setSelection(devices[i]);
    }
    // Remove extra Y selectors, if there are any
    int i = devices.length;
    ActionContributionItem item = (ActionContributionItem) toolbar.find(DeviceSelectorAction.ID_Y + i);
    while (item != null) {
        final DeviceSelectorAction selector = (DeviceSelectorAction) item.getAction();
        if (devices.length <= 0)
            selector.setSelection(""); //$NON-NLS-1$
        else {
            toolbar.remove(item);
            toolbar.update(true);
        }
        ++i;
        item = (ActionContributionItem) toolbar.find(DeviceSelectorAction.ID_Y + i);
    }

    y_removal.setEnabled(devices.length > 1);
}

From source file:org.dawnsci.breadcrumb.navigation.views.AbstractNavigationView.java

License:Open Source License

protected void createActions() {

    final IToolBarManager man = getViewSite().getActionBars().getToolBarManager();
    final MenuManager menuMan = new MenuManager();

    man.add(new Separator("breadcrumb.group"));

    Action add = new Action("Add another breadcrumb search",
            Activator.getImageDescriptor("icons/ui-tooltip--plus.png")) {
        public void run() {
            addBreadcrumb();/*from  ww w . jav a2  s  . c om*/
        }
    };
    man.add(add);

    man.add(new Separator("refresh.group"));
    menuMan.add(new Separator("refresh.group"));

    Action refresh = new Action("Refresh table", Activator.getImageDescriptor("icons/refresh_16x16.png")) {
        public void run() {
            refreshDataCollections();
        }
    };
    man.add(refresh);

    refresh = new Action("Refresh connection", Activator.getImageDescriptor("icons/refresh_red.png")) {
        public void run() {
            boolean ok = MessageDialog.openConfirm(Display.getDefault().getActiveShell(),
                    "Confirm Full Refresh",
                    "Are you sure that you would like to do a complete refresh?\n\nThis will loose your selected visit(s) and ask you to start again.");
            if (!ok)
                return;
            connectionManager.logoff();
            connectionManager.connect();
        }
    };
    man.add(refresh);

    // Actions to search data collection table
    for (INavigationDelegateMode mode : pages.keySet()) {
        INavigationDelegate delegate = pages.get(mode);
        if (delegate instanceof AbstractTableDelegate) {
            ((AbstractTableDelegate) delegate).createActions(getViewSite().getActionBars().getToolBarManager(),
                    menuMan);
        }
    }

    // Actions to log in and log out
    connectionManager.createLogActions(getViewSite().getActionBars().getToolBarManager());

    man.add(new Separator("preference.group"));
    menuMan.add(new Separator("preference.group"));

    if (getPreferencePageId() != null) {
        Action ispyPref = new Action("Preferences... (Connection and polling)",
                Activator.getImageDescriptor("icons/data.gif")) {
            @Override
            public void run() {
                PreferenceDialog pref = PreferencesUtil.createPreferenceDialogOn(
                        PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), getPreferencePageId(),
                        null, null);
                if (pref != null)
                    pref.open();
            }
        };
        man.add(ispyPref);
        getViewSite().getActionBars().getMenuManager().add(ispyPref);
    }

    Action prefs = new Action("Image Preferences... (For data collection images in gallery)",
            Activator.getImageDescriptor("icons/data.gif")) {
        @Override
        public void run() {
            PreferenceDialog pref = PreferencesUtil.createPreferenceDialogOn(
                    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), ViewConstants.PAGE_ID,
                    null, null);
            if (pref != null)
                pref.open();
        }
    };

    getViewSite().getActionBars().getMenuManager().add(prefs);
    menuMan.add(prefs);

    man.add(new SpacerContributionItem(50));

    final CheckableActionGroup grp = new CheckableActionGroup();
    for (final INavigationDelegateMode mode : getDefaultNavigationMode().allValues()) {
        if (mode.isInToolbar()) {
            final Action action = new Action(mode.getLabel(), IAction.AS_CHECK_BOX) {
                public void run() {
                    navigationMode = mode;
                    final INavigationDelegate prov = pages.get(mode);
                    if (prov != null) {
                        setActiveUI(prov.getControl(), mode);
                        selectionChanged(null);
                        // TODO Might want to leave selection so that do not loose plots one day.
                        prov.getSelectionProvider().setSelection(prov.getSelectionProvider().getSelection());
                    }
                }
            };
            action.setId(mode.getId());
            action.setImageDescriptor(mode.getIcon());

            final ActionContributionItem item = new ActionContributionItem(action);
            if (Activator.getDefault().getPreferenceStore().getBoolean(NavigationConstants.SHOW_MODE_LABEL)) {
                item.setMode(ActionContributionItem.MODE_FORCE_TEXT);
            }
            man.add(item);
            grp.add(action);
            action.setChecked(navigationMode == mode);
        }
    }
    man.add(new Separator("tablemode.group"));
    menuMan.add(new Separator("tablemode.group"));

    Activator.getDefault().getPreferenceStore().addPropertyChangeListener(new IPropertyChangeListener() {

        @Override
        public void propertyChange(PropertyChangeEvent event) {
            if (NavigationConstants.SHOW_MODE_LABEL.equals(event.getProperty())) {
                boolean isShowLabel = Activator.getDefault().getPreferenceStore()
                        .getBoolean(NavigationConstants.SHOW_MODE_LABEL);
                int modeCode = isShowLabel ? ActionContributionItem.MODE_FORCE_TEXT : 0;
                for (final INavigationDelegateMode mode : getDefaultNavigationMode().allValues()) {
                    final IContributionItem item = man.find(mode.getId());
                    if (item instanceof ActionContributionItem) {
                        ((ActionContributionItem) item).setMode(modeCode);
                    }
                }
                man.update(true);
            }
        }
    });

    for (INavigationDelegateMode mode : pages.keySet()) {
        INavigationDelegate delegate = pages.get(mode);
        if (delegate instanceof AbstractTableDelegate) {
            ((AbstractTableDelegate) delegate).setMenu(menuMan);
        }
    }

}

From source file:org.dawnsci.marketplace.ui.editors.OverviewPage.java

License:Open Source License

private void createActions(IToolBarManager manager) {
    Action publishAction = new Action("Publish to DAWN marketplace", Action.AS_PUSH_BUTTON) {

        @Override/*from  w  w w.  j a  va 2  s. com*/
        public ImageDescriptor getImageDescriptor() {
            return Activator.getImageDescriptor("icons/publish.png");
        }

        @Override
        public void run() {
            OverviewPage.this.getManagedForm().getMessageManager().removeAllMessages();
            try {
                scheduleExportJob();
            } catch (IOException e) {
                OverviewPage.this.getManagedForm().getMessageManager().addMessage(MPC, e.getMessage(), null,
                        IMessage.ERROR);
            }
        }

    };
    manager.add(publishAction);
    manager.update(true);
}

From source file:org.dawnsci.plotting.tools.RegionSumTool.java

License:Open Source License

private void createActions(IPageSite site) {

    final Clipboard cb = new Clipboard(parent.getDisplay());
    final Action fontChooser = new Action("Configure Font", IAction.AS_PUSH_BUTTON) {
        @Override//w ww .j a v a2 s  .  c o  m
        public void run() {
            FontDialog dlg = new FontDialog(parent.getShell());

            FontData fontData = dlg.open();
            if (fontData != null) {
                if (sumDisplay.getFont() != null)
                    sumDisplay.getFont().dispose();
                sumDisplay.setFont(new Font(parent.getShell().getDisplay(), fontData));
                sumDisplay.update(sumDisplay.getText());
            }
        }
    };
    fontChooser.setToolTipText("Configure Font");
    fontChooser.setText("Font");
    fontChooser.setImageDescriptor(Activator.getImageDescriptor("icons/font.gif"));

    final Action sumCopy = new Action("Copy Sum", IAction.AS_PUSH_BUTTON) {
        @Override
        public void run() {
            TextTransfer textTransfer = TextTransfer.getInstance();
            cb.setContents(new Object[] { sumDisplay.getText() }, new Transfer[] { textTransfer });
        }
    };
    sumCopy.setToolTipText("Copy Sum to Clipboard");
    sumCopy.setText("Copy");
    sumCopy.setImageDescriptor(Activator.getImageDescriptor("icons/copy.gif"));

    final Action sciNotation = new Action("Scientific Notation", IAction.AS_CHECK_BOX) {
        @Override
        public void run() {
            // update the Region Sum
            String str = "";
            for (int j = 0; j < precision; j++)
                str += "#";
            DecimalFormat sciNotationFormat = new DecimalFormat("0." + str + "E0");
            if (currentROI != null)
                update(null, currentROI, false);
            double value = DoubleUtils.roundDouble(Double.valueOf(sumStr), precision);
            if (isChecked()) {
                isSciNotation = true;
                sumStr = sciNotationFormat.format(value);
                sumDisplay.update(sumStr);
            } else {
                isSciNotation = false;
                sumStr = normNotationFormat.format(value);
                sumDisplay.update(sumStr);
            }
        }
    };
    sciNotation.setToolTipText("Toggle On/Off Scientific Notation");
    sciNotation.setText("E");
    sciNotation.setImageDescriptor(Activator.getImageDescriptor("icons/SciNotation.png"));

    final MenuAction decimalDropDown = new MenuAction("Decimal Precision");
    CheckableActionGroup group = new CheckableActionGroup();
    IAction selectedAction = null;
    for (int i = 0; i < 10; i++) {
        final int precis = i;
        Action decimalPrecision = new Action(String.valueOf(i), IAction.AS_CHECK_BOX) {
            @Override
            public void run() {
                precision = precis;
                String str = "";
                for (int j = 0; j < precis; j++)
                    str += "#";
                DecimalFormat sciNotationFormat = new DecimalFormat("0." + str + "E0");
                // update the Region Sum
                if (currentROI != null)
                    update(null, currentROI, false);
                double value = DoubleUtils.roundDouble(Double.valueOf(sumStr), precis);
                if (sciNotation.isChecked()) {
                    sumStr = sciNotationFormat.format(value);
                } else {
                    sumStr = normNotationFormat.format(value);
                }
                sumDisplay.update(sumStr);
                setChecked(true);
            }
        };
        // select 3 by default
        if (i == precision)
            selectedAction = decimalPrecision;

        decimalDropDown.add(decimalPrecision);
        group.add(decimalPrecision);
    }
    if (selectedAction != null)
        selectedAction.setChecked(true);
    decimalDropDown.setToolTipText("Adjust decimal precision for non-scientific notation");
    decimalDropDown.setText("#.#");
    decimalDropDown.setImageDescriptor(Activator.getImageDescriptor("icons/edit_decimal.png"));

    final Action autoResize = new Action("Automatic Resize", IAction.AS_CHECK_BOX) {
        @Override
        public void run() {
            if (isChecked()) {
                sumDisplay.setAutoResize(true);
            } else {
                sumDisplay.setAutoResize(false);
            }
            sumDisplay.update(sumStr);
        }
    };
    autoResize.setToolTipText("Toggle On/Off the Font automatic resize");
    autoResize.setText("Auto");
    autoResize.setImageDescriptor(Activator.getImageDescriptor("icons/FontAutoResize.png"));

    // if site is null, the tool has been called programmatically
    if (site != null) {
        getSite().getActionBars().getToolBarManager().removeAll();
        IToolBarManager toolMan = getSite().getActionBars().getToolBarManager();
        MenuManager menuMan = new MenuManager();
        toolMan.add(fontChooser);
        menuMan.add(fontChooser);
        toolMan.add(sumCopy);
        menuMan.add(sumCopy);
        toolMan.add(sciNotation);
        menuMan.add(sciNotation);
        toolMan.add(decimalDropDown);
        menuMan.add(decimalDropDown);
        toolMan.add(autoResize);
        menuMan.add(autoResize);
    } else {
        //Action to open the tool in a separate view
        final Action openViewTool = new Action("Open Tool in a separate view", IAction.AS_PUSH_BUTTON) {
            @Override
            public void run() {
                try {
                    // If view already opened do nothing
                    IViewReference[] viewRefs = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
                            .getActivePage().getViewReferences();
                    for (IViewReference iViewReference : viewRefs) {
                        if (iViewReference.getId().equals("uk.ac.diamond.scisoft.arpes.regionSumView"))
                            return;
                    }
                    RegionSumTool roiSumProfile = (RegionSumTool) ToolPageFactory
                            .getToolPage("org.dawb.workbench.plotting.tools.regionSumTool");

                    final IToolPageSystem sys = (IToolPageSystem) getPlottingSystem()
                            .getAdapter(IToolPageSystem.class);
                    roiSumProfile.setToolSystem(sys);
                    roiSumProfile.setPlottingSystem(getPlottingSystem());
                    roiSumProfile.setTitle("Region_Sum_View");
                    roiSumProfile.setToolId(String.valueOf(roiSumProfile.hashCode()));
                    RegionSumView viewPart = (RegionSumView) PlatformUI.getWorkbench()
                            .getActiveWorkbenchWindow().getActivePage()
                            .showView("uk.ac.diamond.scisoft.arpes.regionSumView");
                    // Check that the controls have not already been created
                    Control[] children = viewPart.getComposite().getChildren();
                    for (Control control : children)
                        if (control instanceof ToolBar || control instanceof FontExtenderWidget)
                            return;
                    roiSumProfile.createControl(viewPart.getComposite());
                    roiSumProfile.activate();
                    // update the sum profile
                    roiSumProfile.createProfile(getImageTrace(), region, currentROI, true, false, null);
                    // refresh the layout
                    viewPart.getComposite().layout();
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        };
        openViewTool.setToolTipText("Open Tool in a separate view");
        openViewTool.setText("Open");
        openViewTool.setImageDescriptor(Activator.getImageDescriptor("icons/openbrwsr.gif"));

        ToolBarManager toolMan = new ToolBarManager(SWT.FLAT | SWT.LEFT | SWT.WRAP);
        Control tb = toolMan.createControl(parent);
        tb.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1));

        MenuManager menuMan = new MenuManager();
        Control mb = toolMan.createControl(parent);
        mb.setLayoutData(new GridData(SWT.FLAT | SWT.RIGHT, SWT.TOP, true, false));

        toolMan.add(fontChooser);
        menuMan.add(fontChooser);
        toolMan.add(sumCopy);
        menuMan.add(sumCopy);
        toolMan.add(sciNotation);
        menuMan.add(sciNotation);
        toolMan.add(decimalDropDown);
        menuMan.add(decimalDropDown);
        toolMan.add(autoResize);
        menuMan.add(autoResize);
        toolMan.add(openViewTool);
        menuMan.add(openViewTool);

        toolMan.update(true);
        menuMan.update(true);
    }
}

From source file:org.dawnsci.slicing.tools.hyper.HyperComponent.java

License:Open Source License

private void cleanUpActions(IPlottingSystem system, List<IAction> cached) {
    IActionBars actionBars = system.getActionBars();
    IToolBarManager toolBarManager = actionBars.getToolBarManager();
    IMenuManager menuManager = actionBars.getMenuManager();

    for (IAction action : cached) {
        toolBarManager.remove(action.getId());
        menuManager.remove(action.getId());
    }// www .j  a v  a 2s .  com

    toolBarManager.remove(SS1);
    toolBarManager.remove(SS2);
    menuManager.remove(SS1);
    menuManager.remove(SS2);
    cached.clear();
    toolBarManager.update(true);
}

From source file:org.dawnsci.slicing.tools.hyper.HyperComponent.java

License:Open Source License

private void createActions(IProvideReducerActions provider, IPlottingSystem system, List<IAction> cached,
        IROIListener listener, String barName) {

    IActionBars actionBars = system.getActionBars();
    IToolBarManager toolBarManager = actionBars.getToolBarManager();
    IMenuManager menuManager = actionBars.getMenuManager();
    List<IAction> actions = provider.getActions(system);

    IContributionItem s1 = new Separator(SS1);

    toolBarManager.insertBefore(barName + STARTGROUP, s1);
    menuManager.add(s1);//from  w ww  .  j  a v  a  2s .c  om

    for (IAction action : actions) {
        toolBarManager.insertBefore(barName + STARTGROUP, action);
        menuManager.add(action);
        cached.add(action);
    }
    IContributionItem s2 = new Separator(SS2);
    toolBarManager.insertBefore(barName + STARTGROUP, s2);
    menuManager.add(s2);
    toolBarManager.update(true);
}

From source file:org.deved.antlride.internal.ui.editor.AntlrInterpreterPage.java

License:Open Source License

private void createGraphPanel(Composite parent) {
    GridData gd;// ww w  .java2s  .  c om

    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout(1, true));

    ToolBar bar = new ToolBar(composite, SWT.FLAT | SWT.RIGHT | SWT.HORIZONTAL);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalAlignment = SWT.END;
    bar.setLayoutData(gd);

    evalViewer = new EvalElementViewer(composite);
    gd = new GridData(GridData.FILL_BOTH);
    evalViewer.getControl().setLayoutData(gd);
    evalViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            AntlrUIHelper.select(sourceViewer.getTextWidget(), (AntlrTextSelection) event.getSelection());

        }
    });

    // add actions
    IToolBarManager barManager = new ToolBarManager(bar);
    barManager.add(evalViewer.getAction(EvalElementViewer.ZOOM_IN_ACTION));
    barManager.add(evalViewer.getAction(EvalElementViewer.ZOOM_OUT_ACTION));
    barManager.add(evalViewer.getAction(EvalElementViewer.CLEAR_DIAGRAM_ACTION));
    barManager.add(new Separator());
    barManager.add(evalViewer.getAction(EvalElementViewer.EXPORT_ACTION));
    barManager.update(true);
}

From source file:org.deved.antlride.internal.viz.RuleBasedGraphViewer.java

License:Open Source License

protected void createControl(Composite composite) {
    GridData gd;/*from   w  w  w .  j ava  2  s.  co m*/

    SashForm sashForm = new SashForm(composite, SWT.HORIZONTAL);

    Composite leftPane = new Composite(sashForm, SWT.NONE);
    leftPane.setLayout(new GridLayout(3, false));

    Label label = new Label(leftPane, SWT.NONE);
    label.setText("Rule:");
    label.setToolTipText("Search Rule");

    final Text ruleText = new Text(leftPane, SWT.BORDER);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    ruleText.setLayoutData(gd);
    ruleText.setToolTipText("Search Rule");
    ruleText.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            ruleViewer.refresh();
        }
    });

    ToolBar bar = new ToolBar(leftPane, SWT.HORIZONTAL);
    ToolItem clearFilter = new ToolItem(bar, SWT.PUSH);
    clearFilter.setToolTipText("Clear");
    clearFilter.setImage(AntlrImages.getImage(AntlrImages.CLEAR));
    clearFilter.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            ruleText.setText("");
            ruleViewer.refresh();
        }

        public void widgetDefaultSelected(SelectionEvent e) {

        }
    });

    ruleViewer = new TreeViewer(leftPane);
    gd = new GridData(GridData.FILL_BOTH);
    gd.horizontalSpan = 3;
    ruleViewer.getTree().setLayoutData(gd);
    ruleViewer.addFilter(new ViewerFilter() {

        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            String ruleName = ruleText.getText().toLowerCase();
            if (ruleName.length() > 0) {
                boolean select = false;
                if (element instanceof IRule) {
                    IRule rule = (IRule) element;
                    select = rule.getElementName().toLowerCase().startsWith(ruleName);
                }
                if (select) {
                    ruleViewer.setSelection(new StructuredSelection(element));
                }
                return select;
            }
            return true;
        }
    });
    ruleViewer.setLabelProvider(new RuleLabelProvider());
    ruleViewer.setContentProvider(new RuleContentProvider());
    ruleViewer.addSelectionChangedListener(new GraphSelectionListener());

    Composite rightPane = new Composite(sashForm, SWT.NONE);

    rightPane.setLayout(new GridLayout(2, false));

    bar = new ToolBar(rightPane, SWT.FLAT | SWT.RIGHT | SWT.HORIZONTAL);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalAlignment = SWT.END;
    gd.horizontalSpan = 2;
    bar.setLayoutData(gd);

    // add actions
    IToolBarManager barManager = new ToolBarManager(bar);
    barManager.add(new ZoomInAction());
    barManager.add(new ZoomOutAction());
    barManager.add(new ClearAction());

    fillToolBar(barManager);

    barManager.update(true);

    canvas = new Canvas(rightPane, SWT.BORDER);
    gd = new GridData(GridData.FILL_BOTH);
    gd.horizontalSpan = 2;
    canvas.setLayoutData(gd);
    Color color = JFaceResources.getColorRegistry().get(AntlrPreferenceConstants.EDITOR_BACKGROUND_COLOR);
    canvas.setBackground(color == null ? ColorConstants.white : color);
    lightweightSystem = new LightweightSystem(canvas);

    sashForm.setWeights(new int[] { 30, 70 });
    control = sashForm;
}

From source file:org.eclipse.acceleo.ui.interpreter.view.InterpreterView.java

License:Open Source License

/**
 * Creates the toolbar of our interpreter form.
 * /*  w ww . j a  va  2 s  . c om*/
 * @param form
 *            The interpreter form.
 */
protected void createToolBar(Form form) {
    IAction realTimeAction = new ToggleRealTimeAction(this);
    if (partMemento != null) {
        Boolean isRealTime = partMemento.getBoolean(MEMENTO_REAL_TIME_KEY);
        if (isRealTime != null && isRealTime.booleanValue()) {
            toggleRealTime();
            realTimeAction.setChecked(realTime);
        }
    } else {
        // Real-time is active by default
        toggleRealTime();
        realTimeAction.setChecked(realTime);
    }

    linkWithEditorContextAction = new LinkWithEditorContextAction(this);
    final IWorkbenchPage currentPage = getSite().getPage();
    if (currentPage != null) {
        editorPartListener = new InterpreterEditorPartListener();
        getSite().getPage().addPartListener(editorPartListener);

        IEditorPart currentEditor = currentPage.getActiveEditor();
        if (currentEditor == null) {
            linkWithEditorContextAction.setEnabled(false);
        } else {
            linkWithEditorContextAction
                    .setEnabled(getCurrentLanguageInterpreter().canLinkWithEditor(currentEditor));
        }
    } else {
        linkWithEditorContextAction.setEnabled(false);
    }

    IAction variableVisibilityAction = new ToggleVariableVisibilityAction(this);
    if (partMemento != null) {
        Boolean isVariableVisible = partMemento.getBoolean(MEMENTO_VARIABLES_VISIBLE_KEY);
        if (isVariableVisible != null && isVariableVisible.booleanValue()) {
            toggleVariableVisibility();
            variableVisibilityAction.setChecked(variableVisible);
        }
    }

    IToolBarManager toolBarManager = form.getToolBarManager();
    toolBarManager.add(linkWithEditorContextAction);
    toolBarManager.add(realTimeAction);
    toolBarManager.add(variableVisibilityAction);

    toolBarManager.add(new Separator(LANGUAGE_SPECIFIC_ACTION_GROUP));

    getCurrentLanguageInterpreter().addToolBarActions(this, toolBarManager);

    toolBarManager.update(true);
}