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.eclipse.scout.rt.ui.swt.window.desktop.editor.AbstractScoutEditorPart.java

License:Open Source License

/**
 *
 *///from   w  w w. j a  v a2  s  .  co m
protected void updateToolbarActionsFromScout() {
    List<IToolButton> toolbuttons = ActionUtility.visibleNormalizedActions(getForm().getToolButtons());
    if (!toolbuttons.isEmpty()) {
        IToolBarManager toolBarManager = getRootForm().getToolBarManager();
        if (getForm().getToolbarLocation() == IForm.TOOLBAR_VIEW_PART) {
            toolBarManager = getEditorSite().getActionBars().getToolBarManager();
        }
        for (IToolButton b : toolbuttons) {
            toolBarManager.add(new SwtScoutToolbarAction(b, getSwtEnvironment(), toolBarManager));
        }
        toolBarManager.update(true);
    }

}

From source file:org.eclipse.scout.rt.ui.swt.window.desktop.view.AbstractScoutView.java

License:Open Source License

/**
 *
 *///from   ww w .  jav a  2s  .co m
protected void updateToolbarActionsFromScout() {
    List<IToolButton> toolbuttons = ActionUtility.visibleNormalizedActions(getForm().getToolButtons());
    if (!toolbuttons.isEmpty()) {
        IToolBarManager toolBarManager = getRootForm().getToolBarManager();
        if (getForm().getToolbarLocation() == IForm.TOOLBAR_VIEW_PART) {
            toolBarManager = getViewSite().getActionBars().getToolBarManager();
        }
        for (IToolButton b : toolbuttons) {
            toolBarManager.add(new SwtScoutToolbarAction(b, getSwtEnvironment(), toolBarManager));
        }
        toolBarManager.update(true);
    }

}

From source file:org.eclipse.search.ui.text.AbstractTextSearchViewPage.java

License:Open Source License

private void createViewer(Composite parent, int layout) {
    if ((layout & FLAG_LAYOUT_FLAT) != 0) {
        TableViewer viewer = createTableViewer(parent);
        fViewer = viewer;/*from w w  w.  j  av a2s . co  m*/
        configureTableViewer(viewer);
    } else if ((layout & FLAG_LAYOUT_TREE) != 0) {
        TreeViewer viewer = createTreeViewer(parent);
        fViewer = viewer;
        configureTreeViewer(viewer);
        fCollapseAllAction.setViewer(viewer);
        fExpandAllAction.setViewer(viewer);
    }

    fCopyToClipboardAction.setViewer(fViewer);
    fSelectAllAction.setViewer(fViewer);

    IToolBarManager tbm = getSite().getActionBars().getToolBarManager();
    tbm.removeAll();
    SearchView.createToolBarGroups(tbm);
    fillToolbar(tbm);
    tbm.update(false);

    new OpenAndLinkWithEditorHelper(fViewer) {

        protected void activate(ISelection selection) {
            final int currentMode = OpenStrategy.getOpenMethod();
            try {
                OpenStrategy.setOpenMethod(OpenStrategy.DOUBLE_CLICK);
                handleOpen(new OpenEvent(fViewer, selection));
            } finally {
                OpenStrategy.setOpenMethod(currentMode);
            }
        }

        protected void linkToEditor(ISelection selection) {
            // not supported by this part
        }

        protected void open(ISelection selection, boolean activate) {
            handleOpen(new OpenEvent(fViewer, selection));
        }

    };

    fViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            fCurrentMatchIndex = -1;
            fRemoveSelectedMatches.setEnabled(canRemoveMatchesWith(event.getSelection()));
        }
    });

    fViewer.addSelectionChangedListener(fViewerAdapter);

    Menu menu = fMenu.createContextMenu(fViewer.getControl());
    fViewer.getControl().setMenu(menu);

    updateLayoutActions();
    getViewPart().updateLabel();
}

From source file:org.eclipse.sirius.table.ui.tools.internal.editor.provider.DTableActionBarContributor.java

License:Open Source License

/**
 * Add the create line menu to the toolbar.
 * //from ww  w.  j a  v a  2s  . c  om
 * @param editorCreateLineMenuAction
 *            the menu to add
 */
public void addCreateLineMenu(final EditorCreateLineMenuAction editorCreateLineMenuAction) {
    final IToolBarManager toolBarManager = getActionBars().getToolBarManager();
    toolBarManager.remove(EditorCreateLineMenuAction.ID);
    toolBarManager.appendToGroup(IWorkbenchActionConstants.MB_ADDITIONS, editorCreateLineMenuAction);
    toolBarManager.update(true);
}

From source file:org.eclipse.sirius.table.ui.tools.internal.editor.provider.DTableActionBarContributor.java

License:Open Source License

/**
 * Add the create target column menu to the toolbar.
 * //from  w  w  w . jav  a 2  s . c  om
 * @param editorCreateTargetColumnMenuAction
 *            the menu to add
 */
public void addCreateTargetColumnMenu(
        final EditorCreateTargetColumnMenuAction editorCreateTargetColumnMenuAction) {
    final IToolBarManager toolBarManager = getActionBars().getToolBarManager();
    toolBarManager.remove(EditorCreateTargetColumnMenuAction.ID);
    toolBarManager.appendToGroup(IWorkbenchActionConstants.MB_ADDITIONS, editorCreateTargetColumnMenuAction);
    toolBarManager.update(true);
}

From source file:org.eclipse.sirius.tree.ui.tools.internal.editor.DTreeActionBarContributor.java

License:Open Source License

/**
 * Add the create tree item menu to the toolbar.
 * /*  w w w . j  a va  2 s.  c  o m*/
 * @param editorCreateLineMenuAction
 *            the menu to add
 */
public void addCreateTreeItemMenu(final EditorCreateTreeItemMenuAction editorCreateLineMenuAction) {
    final IToolBarManager toolBarManager = getActionBars().getToolBarManager();
    toolBarManager.remove(EditorCreateTreeItemMenuAction.ID);
    toolBarManager.appendToGroup(IWorkbenchActionConstants.MB_ADDITIONS, editorCreateLineMenuAction); //$NON-NLS-1$
    toolBarManager.update(true);
}

From source file:org.eclipse.sirius.ui.tools.internal.views.modelexplorer.ModelExplorerView.java

License:Open Source License

/**
 * {@inheritDoc}/*from w  w  w . j  a  v  a2s .c o m*/
 */
@Override
public void createPartControl(Composite aParent) {
    aParent.setLayout(new FillLayout(SWT.HORIZONTAL));
    Collection<ModelExplorerTabDescriptor> tabDescriptors = ModelExplorerTabRegistry.getRegisteredExtensions();
    if (tabDescriptors.isEmpty()) {
        // No extension : standard view
        super.createPartControl(aParent);
        hookGlobalActions();
    } else {
        // Extension tabs : new tab folder
        this.tabFolder = new CTabFolder(aParent, SWT.BORDER);
        tabFolder.setBorderVisible(false);
        tabFolder.setSelectionBackground(
                Display.getCurrent().getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT));

        tabFolder.addSelectionListener(new SelectionAdapter() {

            public void widgetSelected(SelectionEvent e) {
                selection(e);
            }

            private void selection(SelectionEvent e) {
                CTabItem tabItem = tabFolder.getSelection();
                TabInfo tabInfo = tabItems.get(tabItem);
                IModelExplorerTabExtension tab = tabInfo.tab;
                if (tab != null) {
                    IToolBarManager mgr = getViewSite().getActionBars().getToolBarManager();
                    for (final IAction action : tab.getActions()) {
                        mgr.add(action);
                    }
                    mgr.update(true);
                }
            }

        });

        createTabs(tabDescriptors);
    }
    getCommonViewer().setComparer(new ModelExplorerItemComparer());
}

From source file:org.eclipse.tcf.te.tcf.launch.ui.editor.AbstractTcfLaunchTabContainerEditorPage.java

License:Open Source License

@Override
protected IContributionItem doCreateLinkContribution(final IToolBarManager tbManager) {
    return new ControlContribution("SetAsDefaultContextLink") { //$NON-NLS-1$
        IEventListener eventListener = null;

        @Override//from  www. j a va  2s  .  c om
        public void dispose() {
            super.dispose();
            if (eventListener == null) {
                EventManager.getInstance().removeEventListener(eventListener);
            }
        }

        @Override
        protected Control createControl(Composite parent) {
            final ImageHyperlink hyperlink = new ImageHyperlink(parent, SWT.NONE);
            hyperlink.setText(Messages.AbstractCustomFormToolkitEditorPage_setAsDefault_link);
            hyperlink.setUnderlined(true);
            hyperlink.setForeground(getManagedForm().getToolkit().getHyperlinkGroup().getForeground());
            IPeerNode defaultNode = ServiceManager.getInstance().getService(IDefaultContextService.class)
                    .getDefaultContext(null);
            setVisible(defaultNode == null || defaultNode != getEditorInputNode());
            hyperlink.addHyperlinkListener(new IHyperlinkListener() {
                @Override
                public void linkActivated(HyperlinkEvent e) {
                    ServiceManager.getInstance().getService(IDefaultContextService.class)
                            .setDefaultContext((IPeerNode) getEditorInputNode());
                }

                @Override
                public void linkEntered(HyperlinkEvent e) {
                    hyperlink.setForeground(
                            getManagedForm().getToolkit().getHyperlinkGroup().getActiveForeground());
                }

                @Override
                public void linkExited(HyperlinkEvent e) {
                    hyperlink.setForeground(getManagedForm().getToolkit().getHyperlinkGroup().getForeground());
                }
            });

            eventListener = new IEventListener() {
                @Override
                public void eventFired(EventObject event) {
                    if (event instanceof ChangeEvent) {
                        ChangeEvent changeEvent = (ChangeEvent) event;
                        if (changeEvent.getSource() instanceof IDefaultContextService) {
                            IPeerNode defaultNode = ServiceManager.getInstance()
                                    .getService(IDefaultContextService.class).getDefaultContext(null);
                            setVisible(defaultNode == null || getEditorInputNode() == null
                                    || defaultNode != getEditorInputNode());
                            ExecutorsUtil.executeInUI(new Runnable() {
                                @Override
                                public void run() {
                                    tbManager.update(true);
                                }
                            });
                        }
                    }
                }
            };

            EventManager.getInstance().addEventListener(eventListener, ChangeEvent.class);

            return hyperlink;
        }
    };
}

From source file:org.eclipse.tcf.te.tcf.ui.editor.AbstractConfigurationEditorPage.java

License:Open Source License

@Override
protected IContributionItem doCreateLinkContribution(final IToolBarManager tbManager) {
    return new ControlContribution("SetAsDefaultContextLink") { //$NON-NLS-1$
        IEventListener eventListener = null;

        @Override/*from  ww  w  .  j a  v a 2 s .co m*/
        public void dispose() {
            super.dispose();
            if (eventListener == null) {
                EventManager.getInstance().removeEventListener(eventListener);
            }
        }

        @Override
        protected Control createControl(Composite parent) {
            final ImageHyperlink hyperlink = new ImageHyperlink(parent, SWT.NONE);
            hyperlink.setText("Set as default connection"); //$NON-NLS-1$
            hyperlink.setUnderlined(true);
            hyperlink.setForeground(getManagedForm().getToolkit().getHyperlinkGroup().getForeground());
            IPeerNode defaultNode = ServiceManager.getInstance().getService(IDefaultContextService.class)
                    .getDefaultContext(null);
            setVisible(defaultNode == null || defaultNode != getEditorInputNode());
            hyperlink.addHyperlinkListener(new IHyperlinkListener() {
                @Override
                public void linkActivated(HyperlinkEvent e) {
                    if (getEditorInputNode() instanceof IPeerNode) {
                        ServiceManager.getInstance().getService(IDefaultContextService.class)
                                .setDefaultContext((IPeerNode) getEditorInputNode());
                    }
                }

                @Override
                public void linkEntered(HyperlinkEvent e) {
                    hyperlink.setForeground(
                            getManagedForm().getToolkit().getHyperlinkGroup().getActiveForeground());
                }

                @Override
                public void linkExited(HyperlinkEvent e) {
                    hyperlink.setForeground(getManagedForm().getToolkit().getHyperlinkGroup().getForeground());
                }
            });

            eventListener = new IEventListener() {
                @Override
                public void eventFired(EventObject event) {
                    if (event instanceof ChangeEvent) {
                        ChangeEvent changeEvent = (ChangeEvent) event;
                        if (changeEvent.getSource() instanceof IDefaultContextService) {
                            IPeerNode defaultNode = ServiceManager.getInstance()
                                    .getService(IDefaultContextService.class).getDefaultContext(null);
                            setVisible(defaultNode == null || getEditorInputNode() == null
                                    || defaultNode != getEditorInputNode());
                            ExecutorsUtil.executeInUI(new Runnable() {
                                @Override
                                public void run() {
                                    tbManager.update(true);
                                }
                            });
                        }
                    }
                }
            };

            EventManager.getInstance().addEventListener(eventListener, ChangeEvent.class);

            return hyperlink;
        }
    };
}

From source file:org.eclipse.team.internal.ccvs.ui.CVSHistoryPage.java

License:Open Source License

protected void contributeActions() {
    CVSUIPlugin plugin = CVSUIPlugin.getPlugin();

    //Refresh/*from   w  w w  .j a  v a 2 s  . c  o  m*/
    refreshAction = new Action(CVSUIMessages.HistoryView_refreshLabel,
            plugin.getImageDescriptor(ICVSUIConstants.IMG_REFRESH_ENABLED)) {
        public void run() {
            refresh();
        }
    };
    refreshAction.setToolTipText(CVSUIMessages.HistoryView_refresh);
    refreshAction.setDisabledImageDescriptor(plugin.getImageDescriptor(ICVSUIConstants.IMG_REFRESH_DISABLED));
    refreshAction.setHoverImageDescriptor(plugin.getImageDescriptor(ICVSUIConstants.IMG_REFRESH));

    //Local Mode
    final IPreferenceStore store = CVSUIPlugin.getPlugin().getPreferenceStore();
    localMode = new Action(CVSUIMessages.CVSHistoryPage_LocalModeAction,
            plugin.getImageDescriptor(ICVSUIConstants.IMG_LOCALMODE)) {
        public void run() {
            if (isChecked()) {
                store.setValue(ICVSUIConstants.PREF_REVISION_MODE, LOCAL_MODE);
                updateFilterMode(LOCAL_MODE);
            } else
                setChecked(true);
        }
    };
    localMode.setToolTipText(CVSUIMessages.CVSHistoryPage_LocalModeTooltip);
    localMode.setDisabledImageDescriptor(plugin.getImageDescriptor(ICVSUIConstants.IMG_LOCALMODE_DISABLED));
    localMode.setHoverImageDescriptor(plugin.getImageDescriptor(ICVSUIConstants.IMG_LOCALMODE));

    //Remote Mode
    remoteMode = new Action(CVSUIMessages.CVSHistoryPage_RemoteModeAction,
            plugin.getImageDescriptor(ICVSUIConstants.IMG_REMOTEMODE)) {
        public void run() {
            if (isChecked()) {
                store.setValue(ICVSUIConstants.PREF_REVISION_MODE, REMOTE_MODE);
                updateFilterMode(REMOTE_MODE);
            } else
                setChecked(true);
        }
    };
    remoteMode.setToolTipText(CVSUIMessages.CVSHistoryPage_RemoteModeTooltip);
    remoteMode.setDisabledImageDescriptor(plugin.getImageDescriptor(ICVSUIConstants.IMG_REMOTEMODE_DISABLED));
    remoteMode.setHoverImageDescriptor(plugin.getImageDescriptor(ICVSUIConstants.IMG_REMOTEMODE));

    //Remote + Local Mode
    remoteLocalMode = new Action(CVSUIMessages.CVSHistoryPage_CombinedModeAction,
            plugin.getImageDescriptor(ICVSUIConstants.IMG_LOCALREMOTE_MODE)) {
        public void run() {
            if (isChecked()) {
                store.setValue(ICVSUIConstants.PREF_REVISION_MODE, REMOTE_LOCAL_MODE);
                updateFilterMode(REMOTE_LOCAL_MODE);
            } else
                setChecked(true);
        }
    };
    remoteLocalMode.setToolTipText(CVSUIMessages.CVSHistoryPage_CombinedModeTooltip);
    remoteLocalMode.setDisabledImageDescriptor(
            plugin.getImageDescriptor(ICVSUIConstants.IMG_LOCALREMOTE_MODE_DISABLED));
    remoteLocalMode.setHoverImageDescriptor(plugin.getImageDescriptor(ICVSUIConstants.IMG_LOCALREMOTE_MODE));

    //set the inital filter to both remote and local
    updateFilterMode(store.getInt(ICVSUIConstants.PREF_REVISION_MODE));

    //Group by Date
    groupByDateMode = new Action(CVSUIMessages.CVSHistoryPage_GroupByDate,
            CVSUIPlugin.getPlugin().getImageDescriptor(ICVSUIConstants.IMG_DATES_CATEGORY)) {
        public void run() {
            groupingOn = !groupingOn;
            store.setValue(ICVSUIConstants.PREF_GROUPBYDATE_MODE, groupingOn);
            refreshHistory(false, false, CVSFileHistory.REFRESH_LOCAL | CVSFileHistory.REFRESH_REMOTE);
        }
    };
    groupingOn = store.getBoolean(ICVSUIConstants.PREF_GROUPBYDATE_MODE);
    groupByDateMode.setChecked(groupingOn);
    groupByDateMode.setToolTipText(CVSUIMessages.CVSHistoryPage_GroupByDate);
    groupByDateMode.setDisabledImageDescriptor(plugin.getImageDescriptor(ICVSUIConstants.IMG_DATES_CATEGORY));
    groupByDateMode.setHoverImageDescriptor(plugin.getImageDescriptor(ICVSUIConstants.IMG_DATES_CATEGORY));

    //Collapse All
    collapseAll = new Action(CVSUIMessages.CVSHistoryPage_CollapseAllAction,
            plugin.getImageDescriptor(ICVSUIConstants.IMG_COLLAPSE_ALL)) {
        public void run() {
            treeViewer.collapseAll();
        }
    };
    collapseAll.setToolTipText(CVSUIMessages.CVSHistoryPage_CollapseAllTooltip);
    collapseAll.setDisabledImageDescriptor(plugin.getImageDescriptor(ICVSUIConstants.IMG_COLLAPSE_ALL));
    collapseAll.setHoverImageDescriptor(plugin.getImageDescriptor(ICVSUIConstants.IMG_COLLAPSE_ALL));

    //Compare Mode Action
    compareModeAction = new Action(CVSUIMessages.CVSHistoryPage_CompareModeToggleAction,
            plugin.getImageDescriptor(ICVSUIConstants.IMG_COMPARE_VIEW)) {
        public void run() {
            compareMode = !compareMode;
            compareModeAction.setChecked(compareMode);
        }
    };
    compareModeAction.setToolTipText(CVSUIMessages.CVSHistoryPage_CompareModeTooltip);
    compareModeAction.setDisabledImageDescriptor(plugin.getImageDescriptor(ICVSUIConstants.IMG_COMPARE_VIEW));
    compareModeAction.setHoverImageDescriptor(plugin.getImageDescriptor(ICVSUIConstants.IMG_COMPARE_VIEW));
    compareModeAction.setChecked(false);

    // Click Compare action
    compareAction = new CompareRevisionAction(CVSUIMessages.CVSHistoryPage_CompareRevisionAction, this);
    compareAction.setEnabled(!treeViewer.getSelection().isEmpty());
    treeViewer.getTree().addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            //update the current
            compareAction.setCurrentFileRevision(getCurrentFileRevision());
            compareAction.selectionChanged((IStructuredSelection) treeViewer.getSelection());
        }
    });

    openAction = new OpenRevisionAction(CVSUIMessages.CVSHistoryPage_OpenAction, this);
    openAction.setEnabled(!treeViewer.getSelection().isEmpty());
    treeViewer.getTree().addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            openAction.selectionChanged((IStructuredSelection) treeViewer.getSelection());
        }
    });

    // Add 'Open With...'  sub-menu
    openWithMenu = new OpenWithMenu(this);
    treeViewer.getTree().addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            openWithMenu.selectionChanged((IStructuredSelection) treeViewer.getSelection());
        }
    });

    new OpenAndLinkWithEditorHelper(treeViewer) {
        protected void open(ISelection selection, boolean activate) {
            if (getSite() != null && selection instanceof IStructuredSelection) {
                IStructuredSelection structuredSelection = (IStructuredSelection) selection;
                if (compareMode) {
                    StructuredSelection sel = new StructuredSelection(
                            new Object[] { getCurrentFileRevision(), structuredSelection.getFirstElement() });
                    compareAction.selectionChanged(sel);
                    compareAction.run();
                } else {
                    //Pass in the entire structured selection to allow for multiple editor openings
                    openAction.selectionChanged(structuredSelection);
                    openAction.run();
                }
            }
        }

        protected void activate(ISelection selection) {
            int currentMode = OpenStrategy.getOpenMethod();
            try {
                OpenStrategy.setOpenMethod(OpenStrategy.DOUBLE_CLICK);
                open(selection, true);
            } finally {
                OpenStrategy.setOpenMethod(currentMode);
            }
        }

        protected void linkToEditor(ISelection selection) {
            // XXX: Not yet implemented, see http://bugs.eclipse.org/324185
        }
    };

    getContentsAction = getContextMenuAction(CVSUIMessages.HistoryView_getContentsAction,
            true /* needs progress */, new IWorkspaceRunnable() {
                public void run(IProgressMonitor monitor) throws CoreException {
                    monitor.beginTask(null, 100);
                    try {
                        if (confirmOverwrite() && validateChange()) {
                            IStorage currentStorage = currentSelection
                                    .getStorage(new SubProgressMonitor(monitor, 50));
                            InputStream in = currentStorage.getContents();
                            ((IFile) file.getIResource()).setContents(in, false, true,
                                    new SubProgressMonitor(monitor, 50));
                        }
                    } catch (TeamException e) {
                        throw new CoreException(e.getStatus());
                    } finally {
                        monitor.done();
                    }
                }
            });
    PlatformUI.getWorkbench().getHelpSystem().setHelp(getContentsAction,
            IHelpContextIds.GET_FILE_CONTENTS_ACTION);

    getRevisionAction = getContextMenuAction(CVSUIMessages.HistoryView_getRevisionAction,
            true /* needs progress */, new IWorkspaceRunnable() {
                public void run(IProgressMonitor monitor) throws CoreException {
                    ICVSRemoteFile remoteFile = (ICVSRemoteFile) CVSWorkspaceRoot
                            .getRemoteResourceFor(((CVSFileRevision) currentSelection).getCVSRemoteFile());
                    try {
                        if (confirmOverwrite() && validateChange()) {
                            CVSTag revisionTag = new CVSTag(remoteFile.getRevision(), CVSTag.VERSION);

                            if (CVSAction.checkForMixingTags(getHistoryPageSite().getShell(),
                                    new IResource[] { file.getIResource() }, revisionTag)) {
                                new UpdateOperation(null, new IResource[] { file.getIResource() },
                                        new Command.LocalOption[] { Update.IGNORE_LOCAL_CHANGES }, revisionTag)
                                                .run(monitor);

                                Display.getDefault().asyncExec(new Runnable() {
                                    public void run() {
                                        refresh();
                                    }
                                });
                            }
                        }
                    } catch (InvocationTargetException e) {
                        throw CVSException.wrapException(e);
                    } catch (InterruptedException e) {
                        // Cancelled by user
                    }
                }
            });
    PlatformUI.getWorkbench().getHelpSystem().setHelp(getRevisionAction,
            IHelpContextIds.GET_FILE_REVISION_ACTION);

    // Override MoveRemoteTagAction to work for log entries
    final IActionDelegate tagActionDelegate = new MoveRemoteTagAction() {
        protected ICVSResource[] getSelectedCVSResources() {
            ICVSResource[] resources = super.getSelectedCVSResources();
            if (resources == null || resources.length == 0) {
                ArrayList logEntrieFiles = null;
                IStructuredSelection selection = getSelection();
                if (!selection.isEmpty()) {
                    logEntrieFiles = new ArrayList();
                    Iterator elements = selection.iterator();
                    while (elements.hasNext()) {
                        Object next = elements.next();
                        if (next instanceof CVSFileRevision) {
                            logEntrieFiles.add(((CVSFileRevision) next).getCVSRemoteFile());
                            continue;
                        }
                        if (next instanceof IAdaptable) {
                            IAdaptable a = (IAdaptable) next;
                            Object adapter = a.getAdapter(ICVSResource.class);
                            if (adapter instanceof ICVSResource) {
                                logEntrieFiles.add(((ILogEntry) adapter).getRemoteFile());
                                continue;
                            }
                        }
                    }
                }
                if (logEntrieFiles != null && !logEntrieFiles.isEmpty()) {
                    return (ICVSResource[]) logEntrieFiles.toArray(new ICVSResource[logEntrieFiles.size()]);
                }
            }
            return resources;
        }

        /*
         * Override the creation of the tag operation in order to support
         * the refresh of the view after the tag operation completes
         */
        protected ITagOperation createTagOperation() {
            return new TagInRepositoryOperation(getTargetPart(), getSelectedRemoteResources()) {
                public void execute(IProgressMonitor monitor) throws CVSException, InterruptedException {
                    super.execute(monitor);
                    Display.getDefault().asyncExec(new Runnable() {
                        public void run() {
                            if (!wasCancelled()) {
                                refresh();
                            }
                        }
                    });
                };
            };
        }
    };
    tagWithExistingAction = getContextMenuAction(CVSUIMessages.HistoryView_tagWithExistingAction,
            false /* no progress */, new IWorkspaceRunnable() {
                public void run(IProgressMonitor monitor) throws CoreException {
                    tagActionDelegate.selectionChanged(tagWithExistingAction, treeViewer.getSelection());
                    tagActionDelegate.run(tagWithExistingAction);
                }
            });
    PlatformUI.getWorkbench().getHelpSystem().setHelp(getRevisionAction,
            IHelpContextIds.TAG_WITH_EXISTING_ACTION);

    // Toggle text visible action
    toggleTextAction = new Action(TeamUIMessages.GenericHistoryView_ShowCommentViewer) {
        public void run() {
            setViewerVisibility();
            store.setValue(ICVSUIConstants.PREF_SHOW_COMMENTS, toggleTextAction.isChecked());
        }
    };
    toggleTextAction.setChecked(store.getBoolean(ICVSUIConstants.PREF_SHOW_COMMENTS));
    //PlatformUI.getWorkbench().getHelpSystem().setHelp(toggleTextAction, IHelpContextIds.SHOW_COMMENT_IN_HISTORY_ACTION);

    // Toggle wrap comments action
    toggleTextWrapAction = new Action(TeamUIMessages.GenericHistoryView_WrapComments) {
        public void run() {
            setViewerVisibility();
            store.setValue(ICVSUIConstants.PREF_WRAP_COMMENTS, toggleTextWrapAction.isChecked());
        }
    };
    toggleTextWrapAction.setChecked(store.getBoolean(ICVSUIConstants.PREF_WRAP_COMMENTS));
    //PlatformUI.getWorkbench().getHelpSystem().setHelp(toggleTextWrapAction, IHelpContextIds.SHOW_TAGS_IN_HISTORY_ACTION);

    // Toggle list visible action
    toggleListAction = new Action(TeamUIMessages.GenericHistoryView_ShowTagViewer) {
        public void run() {
            setViewerVisibility();
            store.setValue(ICVSUIConstants.PREF_SHOW_TAGS, toggleListAction.isChecked());
        }
    };
    toggleListAction.setChecked(store.getBoolean(ICVSUIConstants.PREF_SHOW_TAGS));
    //PlatformUI.getWorkbench().getHelpSystem().setHelp(toggleListAction, IHelpContextIds.SHOW_TAGS_IN_HISTORY_ACTION);

    //Toggle search field
    toggleSearchAction = new Action(CVSUIMessages.CVSHistoryPage_ShowSearchField) {
        public void run() {
            setViewerVisibility();
            store.setValue(ICVSUIConstants.PREF_SHOW_SEARCH, toggleSearchAction.isChecked());
            if (!toggleSearchAction.isChecked()) {
                if (searchFilter != null)
                    treeViewer.removeFilter(searchFilter);
            } else {
                searchField.setMessage(CVSUIMessages.CVSHistoryPage_EnterSearchTerm);
                searchField.selectAll();
                searchField.setFocus();
            }
        }
    };
    toggleSearchAction.setChecked(store.getBoolean(ICVSUIConstants.PREF_SHOW_SEARCH));
    //PlatformUI.getWorkbench().getHelpSystem().setHelp(toggleListAction, IHelpContextIds.SHOW_TAGS_IN_HISTORY_ACTION);

    toggleFilterAction = new Action(CVSUIMessages.CVSHistoryPage_NoFilter) {
        public void run() {
            if (historyFilter != null)
                treeViewer.removeFilter(historyFilter);
            historyFilter = null;
            String old = CVSHistoryPage.this.description;
            CVSHistoryPage.this.description = null;
            CVSHistoryPage.this.firePropertyChange(CVSHistoryPage.this, P_NAME, old, getName());
            toggleFilterAction.setEnabled(false);
        }
    };
    toggleFilterAction.setEnabled(historyFilter != null);

    //Create the filter action
    cvsHistoryFilter = new CVSHistoryFilterAction(this);
    cvsHistoryFilter.setText(CVSUIMessages.CVSHistoryPage_FilterOn);
    cvsHistoryFilter.init(treeViewer);
    cvsHistoryFilter.setToolTipText(CVSUIMessages.CVSHistoryPage_FilterHistoryTooltip);
    cvsHistoryFilter
            .setImageDescriptor(CVSUIPlugin.getPlugin().getImageDescriptor(ICVSUIConstants.IMG_FILTER_HISTORY));

    //Contribute actions to popup menu
    MenuManager menuMgr = new MenuManager();
    Menu menu = menuMgr.createContextMenu(treeViewer.getTree());
    menuMgr.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager menuMgr) {
            fillTableMenu(menuMgr);
        }
    });
    menuMgr.setRemoveAllWhenShown(true);
    treeViewer.getTree().setMenu(menu);
    //Don't add the object contribution menu items if this page is hosted in a dialog
    IHistoryPageSite parentSite = getHistoryPageSite();
    if (!parentSite.isModal()) {
        IWorkbenchPart part = parentSite.getPart();
        if (part != null) {
            IWorkbenchPartSite workbenchPartSite = part.getSite();
            workbenchPartSite.registerContextMenu(menuMgr, treeViewer);
        }
        IPageSite pageSite = parentSite.getWorkbenchPageSite();
        if (pageSite != null) {
            IActionBars actionBars = pageSite.getActionBars();
            // Contribute toggle text visible to the toolbar drop-down
            IMenuManager actionBarsMenu = actionBars.getMenuManager();
            if (actionBarsMenu != null) {
                actionBarsMenu.add(toggleTextWrapAction);
                actionBarsMenu.add(new Separator());
                actionBarsMenu.add(toggleTextAction);
                actionBarsMenu.add(toggleListAction);
                actionBarsMenu.add(new Separator());
                actionBarsMenu.add(toggleSearchAction);
                actionBarsMenu.add(new Separator());
                actionBarsMenu.add(cvsHistoryFilter);
                actionBarsMenu.add(toggleFilterAction);
            }
            // Create actions for the text editor
            copyAction = new TextViewerAction(textViewer, ITextOperationTarget.COPY);
            copyAction.setText(CVSUIMessages.HistoryView_copy);
            actionBars.setGlobalActionHandler(ITextEditorActionConstants.COPY, copyAction);

            selectAllAction = new TextViewerAction(textViewer, ITextOperationTarget.SELECT_ALL);
            selectAllAction.setText(CVSUIMessages.HistoryView_selectAll);
            actionBars.setGlobalActionHandler(ITextEditorActionConstants.SELECT_ALL, selectAllAction);

            copyTagAction = new TableViewerAction(tagViewer);
            copyTagAction.setText(CVSUIMessages.HistoryView_copy);
            copyTagAction.setEnabled(false);

            actionBars.updateActionBars();
        }
    }

    //Create the local tool bar
    IToolBarManager tbm = parentSite.getToolBarManager();
    if (tbm != null) {
        String fileNameQualifier = getFileNameQualifier();
        //Add groups
        tbm.add(new Separator(fileNameQualifier + "grouping")); //$NON-NLS-1$
        tbm.appendToGroup(fileNameQualifier + "grouping", groupByDateMode); //$NON-NLS-1$
        tbm.add(new Separator(fileNameQualifier + "modes")); //$NON-NLS-1$
        tbm.appendToGroup(fileNameQualifier + "modes", remoteLocalMode); //$NON-NLS-1$
        tbm.appendToGroup(fileNameQualifier + "modes", localMode); //$NON-NLS-1$
        tbm.appendToGroup(fileNameQualifier + "modes", remoteMode); //$NON-NLS-1$
        tbm.add(new Separator(fileNameQualifier + "collapse")); //$NON-NLS-1$
        tbm.appendToGroup(fileNameQualifier + "collapse", collapseAll); //$NON-NLS-1$
        if (!parentSite.isModal()) {
            //don't bother adding the compare mode toolbar button if in
            //a dialog; you can only compare from dialogs
            tbm.appendToGroup(fileNameQualifier + "collapse", compareModeAction); //$NON-NLS-1$
        }
        tbm.update(false);
    }

    menuMgr = new MenuManager();
    menuMgr.setRemoveAllWhenShown(true);
    menuMgr.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager menuMgr) {
            fillTextMenu(menuMgr);
        }
    });
    StyledText text = textViewer.getTextWidget();
    menu = menuMgr.createContextMenu(text);
    text.setMenu(menu);

    menuMgr = new MenuManager();
    menuMgr.setRemoveAllWhenShown(true);
    menuMgr.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager menuMgr) {
            fillTagMenu(menuMgr);
        }
    });
    menu = menuMgr.createContextMenu(tagViewer.getControl());
    tagViewer.getControl().setMenu(menu);
}