Example usage for org.eclipse.jface.util OpenStrategy setOpenMethod

List of usage examples for org.eclipse.jface.util OpenStrategy setOpenMethod

Introduction

In this page you can find the example usage for org.eclipse.jface.util OpenStrategy setOpenMethod.

Prototype

public static void setOpenMethod(int method) 

Source Link

Document

Set the current used single/double-click method.

Usage

From source file:com.google.dart.tools.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 ww  w.  jav  a  2s .c  om
        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) {

        @Override
        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);
            }
        }

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

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

    };

    fViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            fCurrentMatchIndex = -1;
        }
    });

    fViewer.addSelectionChangedListener(fViewerAdapter);

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

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

From source file:com.puppetlabs.geppetto.pp.dsl.ui.editor.findrefs.PPReferenceSearchViewPage.java

License:Open Source License

protected OpenAndLinkWithEditorHelper createOpenAndLinkWithEditorHandler() {
    return new OpenAndLinkWithEditorHelper(viewer) {
        @Override/*  w w  w  .  j  av a 2 s.c  o m*/
        protected void activate(ISelection selection) {
            final int currentMode = OpenStrategy.getOpenMethod();
            try {
                OpenStrategy.setOpenMethod(OpenStrategy.DOUBLE_CLICK);
                handleOpen(new OpenEvent(viewer, selection));
            } finally {
                OpenStrategy.setOpenMethod(currentMode);
            }
        }

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

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

From source file:com.puppetlabs.geppetto.puppetdb.ui.views.PuppetResourceEventsView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    Composite treeComp = new Composite(parent, SWT.NONE);
    viewer = new TreeViewer(treeComp, SWT.VIRTUAL | SWT.V_SCROLL);
    viewer.setContentProvider(new TreeNodeContentProvider(viewer));
    viewer.addDoubleClickListener(this);
    viewer.getTree().addKeyListener(this);
    ColumnViewerToolTipSupport.enableFor(viewer, ToolTip.NO_RECREATE);

    new OpenAndLinkWithEditorHelper(viewer) {

        @Override//from ww w .j ava  2  s  . c o  m
        protected void activate(ISelection selection) {
            final int currentMode = OpenStrategy.getOpenMethod();
            try {
                OpenStrategy.setOpenMethod(OpenStrategy.DOUBLE_CLICK);
                handleOpen(selection);
            } finally {
                OpenStrategy.setOpenMethod(currentMode);
            }
        }

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

        @Override
        protected void open(ISelection selection, boolean activate) {
            handleOpen(selection);
        }

    };
    viewer.addSelectionChangedListener(this);

    Tree tree = viewer.getTree();

    TreeColumnLayout layout = new TreeColumnLayout();
    treeComp.setLayout(layout);

    tree.setLinesVisible(true);
    tree.setHeaderVisible(true);
    createColumn("_UI_Description_title", layout, 600, new TreeNodeLabelProvider(0), true, LEFT);
    createColumn("_UI_Type_title", layout, 100, new TreeNodeLabelProvider(1), false, LEFT);
    createColumn("_UI_Title_title", layout, 150, new TreeNodeLabelProvider(2), true, LEFT);
    createColumn("_UI_Path_title", layout, 300, new TreeNodeLabelProvider(3), true, LEFT);
    createColumn("_UI_Line_title", layout, 50, new TreeNodeLabelProvider(4), false, RIGHT);
    createColumn("_UI_Timestamp_title", layout, 130, new TreeNodeLabelProvider(5), false, LEFT);
    createActions(tree);
    viewer.setInput(getPuppetDBConnections(viewer, puppetDBManager));
}

From source file:org.eclipse.rcptt.ctx.preferences.impl.PreferencesContextProcessor.java

License:Open Source License

private void processOpenStrategy(Preferences preferences) {
    // Check some special cases
    boolean openOnSingleClick = preferences.getBoolean("OPEN_ON_SINGLE_CLICK", false);
    boolean selectOnHover = preferences.getBoolean("SELECT_ON_HOVER", false);
    boolean openAfterDelay = preferences.getBoolean("OPEN_AFTER_DELAY", false);
    int singleClickMethod = openOnSingleClick ? OpenStrategy.SINGLE_CLICK : OpenStrategy.DOUBLE_CLICK;
    if (openOnSingleClick) {
        if (selectOnHover) {
            singleClickMethod |= OpenStrategy.SELECT_ON_HOVER;
        }//w  w  w  .ja  va2  s  . c  o  m
        if (openAfterDelay) {
            singleClickMethod |= OpenStrategy.ARROW_KEYS_OPEN;
        }
    }
    OpenStrategy.setOpenMethod(singleClickMethod);
}

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  ww.  j  av a 2  s  .c  o 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.team.internal.ccvs.ui.CVSHistoryPage.java

License:Open Source License

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

    //Refresh/*from   w  ww.j  av a2 s  .  co 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);
}

From source file:org.eclipse.team.internal.ui.history.LocalHistoryPage.java

License:Open Source License

private void contributeActions() {
    final IPreferenceStore store = TeamUIPlugin.getPlugin().getPreferenceStore();
    //Group by Date
    groupByDateMode = new Action(TeamUIMessages.LocalHistoryPage_GroupRevisionsByDateAction,
            TeamUIPlugin.getImageDescriptor(ITeamUIImages.IMG_DATES_CATEGORY)) {
        public void run() {
            groupingOn = !groupingOn;/*  w  w w.j  a  v  a 2s  . co m*/
            store.setValue(IPreferenceIds.PREF_GROUPBYDATE_MODE, groupingOn);
            refreshHistory(false);
        }
    };
    groupingOn = store.getBoolean(IPreferenceIds.PREF_GROUPBYDATE_MODE);
    groupByDateMode.setChecked(groupingOn);
    groupByDateMode.setToolTipText(TeamUIMessages.LocalHistoryPage_GroupRevisionsByDateTip);
    groupByDateMode
            .setDisabledImageDescriptor(TeamUIPlugin.getImageDescriptor(ITeamUIImages.IMG_DATES_CATEGORY));
    groupByDateMode.setHoverImageDescriptor(TeamUIPlugin.getImageDescriptor(ITeamUIImages.IMG_DATES_CATEGORY));

    //Collapse All
    collapseAll = new Action(TeamUIMessages.LocalHistoryPage_CollapseAllAction,
            TeamUIPlugin.getImageDescriptor(ITeamUIImages.IMG_COLLAPSE_ALL)) {
        public void run() {
            treeViewer.collapseAll();
        }
    };
    collapseAll.setToolTipText(TeamUIMessages.LocalHistoryPage_CollapseAllTip);
    collapseAll.setDisabledImageDescriptor(TeamUIPlugin.getImageDescriptor(ITeamUIImages.IMG_COLLAPSE_ALL));
    collapseAll.setHoverImageDescriptor(TeamUIPlugin.getImageDescriptor(ITeamUIImages.IMG_COLLAPSE_ALL));

    IHistoryPageSite historyPageSite = getHistoryPageSite();
    if (!historyPageSite.isModal()) {
        //Compare Mode Action
        if ((compareMode & ALWAYS) == 0) {
            compareModeAction = new Action(TeamUIMessages.LocalHistoryPage_CompareModeAction,
                    TeamUIPlugin.getImageDescriptor(ITeamUIImages.IMG_COMPARE_VIEW)) {
                public void run() {
                    // switch the mode
                    compareMode = compareMode == ON ? OFF : ON;
                    compareModeAction.setChecked(compareMode == ON);
                }
            };
            compareModeAction.setToolTipText(TeamUIMessages.LocalHistoryPage_CompareModeTip);
            compareModeAction.setDisabledImageDescriptor(
                    TeamUIPlugin.getImageDescriptor(ITeamUIImages.IMG_COMPARE_VIEW));
            compareModeAction
                    .setHoverImageDescriptor(TeamUIPlugin.getImageDescriptor(ITeamUIImages.IMG_COMPARE_VIEW));
            compareModeAction.setChecked(compareMode == ON);

            getContentsAction = getContextMenuAction(TeamUIMessages.LocalHistoryPage_GetContents,
                    true /* needs progress */, new IWorkspaceRunnable() {
                        public void run(IProgressMonitor monitor) throws CoreException {
                            monitor.beginTask(null, 100);
                            try {
                                if (confirmOverwrite()) {
                                    IStorage currentStorage = currentSelection
                                            .getStorage(new SubProgressMonitor(monitor, 50));
                                    InputStream in = currentStorage.getContents();
                                    (file).setContents(in, false, true, new SubProgressMonitor(monitor, 50));
                                }
                            } catch (TeamException e) {
                                throw new CoreException(e.getStatus());
                            } finally {
                                monitor.done();
                            }
                        }
                    });
        }

        //TODO: Doc help
        //PlatformUI.getWorkbench().getHelpSystem().setHelp(getContentsAction, );

        // Click Compare action
        compareAction = createCompareAction();
        compareAction.setEnabled(!treeViewer.getSelection().isEmpty());
        treeViewer.getTree().addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                compareAction.setCurrentFileRevision(getCurrentFileRevision());
                compareAction.selectionChanged((IStructuredSelection) treeViewer.getSelection());
            }
        });

        // Only add the open action if compare mode is not always on
        if (!((compareMode & (ALWAYS | ON)) == (ALWAYS | ON))) {
            openAction = new OpenRevisionAction(TeamUIMessages.LocalHistoryPage_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 & ON) > 0) {
                        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
                        if (openAction != null) {
                            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
            }
        };

        //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
        IWorkbenchPart part = historyPageSite.getPart();
        if (part != null) {
            IWorkbenchPartSite workbenchPartSite = part.getSite();
            workbenchPartSite.registerContextMenu(menuMgr, treeViewer);
        }
        IPageSite pageSite = historyPageSite.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.removeAll();
            }
            actionBars.updateActionBars();
        }
    }

    //Create the local tool bar
    IToolBarManager tbm = historyPageSite.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 + "collapse")); //$NON-NLS-1$
        tbm.appendToGroup(fileNameQualifier + "collapse", collapseAll); //$NON-NLS-1$
        if (compareModeAction != null)
            tbm.appendToGroup(fileNameQualifier + "collapse", compareModeAction); //$NON-NLS-1$
        tbm.update(false);
    }

}

From source file:org.eclipse.team.internal.ui.synchronize.StructuredViewerAdvisor.java

License:Open Source License

/**
 * Method invoked from <code>initializeViewer(Composite, StructuredViewer)</code>
 * in order to initialize any listeners for the viewer.
 *
 * @param viewer the viewer being initialize
 *//*from  w  w w.ja  v a  2  s.  c o  m*/
protected void initializeListeners(final StructuredViewer viewer) {
    viewer.getControl().addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
            StructuredViewerAdvisor.this.dispose();
        }
    });

    new OpenAndLinkWithEditorHelper(viewer) {

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

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

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

    };

    viewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            handleDoubleClick(viewer, event);
        }
    });

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            // Update the action bars enablement for any contributed action groups
            updateActionBars((IStructuredSelection) viewer.getSelection());
        }
    });
    TeamUIPlugin.getPlugin().getPreferenceStore().addPropertyChangeListener(propertyListener);
}

From source file:org.eclipse.ui.internal.dialogs.WorkbenchPreferencePage.java

License:Open Source License

/**
 * The user has pressed Ok. Store/apply this page's values appropriately.
 *///from   www.j av a2  s. co m
public boolean performOk() {
    IPreferenceStore store = getPreferenceStore();

    // store the keep cycle part dialogs sticky preference
    store.setValue(IPreferenceConstants.STICKY_CYCLE, stickyCycleButton.getSelection());
    store.setValue(IPreferenceConstants.OPEN_ON_SINGLE_CLICK, openOnSingleClick);
    store.setValue(IPreferenceConstants.SELECT_ON_HOVER, selectOnHover);
    store.setValue(IPreferenceConstants.OPEN_AFTER_DELAY, openAfterDelay);
    store.setValue(IPreferenceConstants.RUN_IN_BACKGROUND, showUserDialogButton.getSelection());
    store.setValue(IPreferenceConstants.WORKBENCH_SAVE_INTERVAL, saveInterval.getIntValue());
    PrefUtil.getAPIPreferenceStore().setValue(IWorkbenchPreferenceConstants.SHOW_MEMORY_MONITOR,
            showHeapStatusButton.getSelection());
    updateHeapStatus(showHeapStatusButton.getSelection());

    int singleClickMethod = openOnSingleClick ? OpenStrategy.SINGLE_CLICK : OpenStrategy.DOUBLE_CLICK;
    if (openOnSingleClick) {
        if (selectOnHover) {
            singleClickMethod |= OpenStrategy.SELECT_ON_HOVER;
        }
        if (openAfterDelay) {
            singleClickMethod |= OpenStrategy.ARROW_KEYS_OPEN;
        }
    }
    OpenStrategy.setOpenMethod(singleClickMethod);

    PrefUtil.savePrefs();
    return true;
}

From source file:org.eclipse.ui.internal.views.markers.ExtendedMarkersView.java

License:Open Source License

/**
 * /*from   www. j  ava 2  s .  c o  m*/
 */
private void addLinkWithEditorSupport() {
    new OpenAndLinkWithEditorHelper(viewer) {
        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.ui.OpenAndLinkWithEditorHelper#activate(org.eclipse
         * .jface.viewers.ISelection )
         */
        protected void activate(ISelection selection) {
            final int currentMode = OpenStrategy.getOpenMethod();
            try {
                OpenStrategy.setOpenMethod(OpenStrategy.DOUBLE_CLICK);
                openSelectedMarkers();
            } finally {
                OpenStrategy.setOpenMethod(currentMode);
            }
        }

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.ui.OpenAndLinkWithEditorHelper#linkToEditor(org.eclipse
         * .jface.viewers .ISelection)
         */
        protected void linkToEditor(ISelection selection) {
            // Not supported by this part
        }

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.ui.OpenAndLinkWithEditorHelper#open(org.eclipse.jface
         * .viewers.ISelection, boolean)
         */
        protected void open(ISelection selection, boolean activate) {
            openSelectedMarkers();
        }
    };
}