Java 类org.eclipse.ui.internal.navigator.workingsets.WorkingSetsContentProvider 实例源码

项目:translationstudio8    文件:WorkingSetActionProvider.java   
public void onExtensionActivation(String aViewerId, String[] theNavigatorExtensionIds, boolean isActive) {

            for (int i = 0; i < theNavigatorExtensionIds.length; i++) {
                if (WorkingSetsContentProvider.EXTENSION_ID.equals(theNavigatorExtensionIds[i])) {
                    if (isActive) {
                        extensionStateModel = contentService.findStateModel(WorkingSetsContentProvider.EXTENSION_ID);
                        workingSetRootModeActionGroup.setStateModel(extensionStateModel);
                        extensionStateModel.addPropertyChangeListener(topLevelModeListener);

                        if (savedWorkingSet != null) {
                            setWorkingSet(savedWorkingSet);
                        }
                        managerChangeListener.listen();

                    } else {
                        savedWorkingSet = workingSet;
                        setWorkingSet(null);
                        viewer.getCommonNavigator().setWorkingSetLabel(null);
                        managerChangeListener.ignore();
                        workingSetRootModeActionGroup.setShowTopLevelWorkingSets(false);
                        extensionStateModel.removePropertyChangeListener(topLevelModeListener);

                    }
                }
            }
        }
项目:translationstudio8    文件:WorkingSetActionProvider.java   
public void init(ICommonActionExtensionSite aSite) {
    viewer = (CommonViewer) aSite.getStructuredViewer();
    contentService = aSite.getContentService();
    filterService = (NavigatorFilterService) contentService.getFilterService();

    extensionStateModel = contentService.findStateModel(WorkingSetsContentProvider.EXTENSION_ID);

    workingSetActionGroup = new WorkingSetFilterActionGroup(aSite.getViewSite().getShell(), filterChangeListener);
    workingSetRootModeActionGroup = new WorkingSetRootModeActionGroup(viewer, extensionStateModel);

    topLevelModeListener = new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            setWorkingSet(workingSet);
            viewer.getFrameList().reset();
        }
    };

    if (contentService.isActive(WorkingSetsContentProvider.EXTENSION_ID)) {
        managerChangeListener.listen();
        extensionStateModel.addPropertyChangeListener(topLevelModeListener);
    }

    contentService.getActivationService().addExtensionActivationListener(activationListener);
}
项目:translationstudio8    文件:WorkingSetRootModeActionGroup.java   
/**
 * Toggle whether top level working sets should be displayed as a group or
 * collapse to just show their contents.
 * 
 * @param showTopLevelWorkingSets
 */
public void setShowTopLevelWorkingSets(boolean showTopLevelWorkingSets) {
    if (actions == null) 
        actions = createActions();

    currentSelection = showTopLevelWorkingSets ? 1 : 0;
    workingSetsAction.setChecked(showTopLevelWorkingSets);
    projectsAction.setChecked(!showTopLevelWorkingSets);

    if (items != null) {
        for (int i = 0; i < items.length; i++) {
            if(items[i] != null && actions[i] != null)
                items[i].setSelection(actions[i].isChecked());
        }
    }
    if (stateModel != null) {
        stateModel.setBooleanProperty(
                WorkingSetsContentProvider.SHOW_TOP_LEVEL_WORKING_SETS,
                showTopLevelWorkingSets);
    }
}
项目:tmxeditor8    文件:WorkingSetActionProvider.java   
public void onExtensionActivation(String aViewerId, String[] theNavigatorExtensionIds, boolean isActive) {

            for (int i = 0; i < theNavigatorExtensionIds.length; i++) {
                if (WorkingSetsContentProvider.EXTENSION_ID.equals(theNavigatorExtensionIds[i])) {
                    if (isActive) {
                        extensionStateModel = contentService.findStateModel(WorkingSetsContentProvider.EXTENSION_ID);
                        workingSetRootModeActionGroup.setStateModel(extensionStateModel);
                        extensionStateModel.addPropertyChangeListener(topLevelModeListener);

                        if (savedWorkingSet != null) {
                            setWorkingSet(savedWorkingSet);
                        }
                        managerChangeListener.listen();

                    } else {
                        savedWorkingSet = workingSet;
                        setWorkingSet(null);
                        viewer.getCommonNavigator().setWorkingSetLabel(null);
                        managerChangeListener.ignore();
                        workingSetRootModeActionGroup.setShowTopLevelWorkingSets(false);
                        extensionStateModel.removePropertyChangeListener(topLevelModeListener);

                    }
                }
            }
        }
项目:tmxeditor8    文件:WorkingSetActionProvider.java   
public void init(ICommonActionExtensionSite aSite) {
    viewer = (CommonViewer) aSite.getStructuredViewer();
    contentService = aSite.getContentService();
    filterService = (NavigatorFilterService) contentService.getFilterService();

    extensionStateModel = contentService.findStateModel(WorkingSetsContentProvider.EXTENSION_ID);

    workingSetActionGroup = new WorkingSetFilterActionGroup(aSite.getViewSite().getShell(), filterChangeListener);
    workingSetRootModeActionGroup = new WorkingSetRootModeActionGroup(viewer, extensionStateModel);

    topLevelModeListener = new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            setWorkingSet(workingSet);
            viewer.getFrameList().reset();
        }
    };

    if (contentService.isActive(WorkingSetsContentProvider.EXTENSION_ID)) {
        managerChangeListener.listen();
        extensionStateModel.addPropertyChangeListener(topLevelModeListener);
    }

    contentService.getActivationService().addExtensionActivationListener(activationListener);
}
项目:tmxeditor8    文件:WorkingSetRootModeActionGroup.java   
/**
 * Toggle whether top level working sets should be displayed as a group or
 * collapse to just show their contents.
 * 
 * @param showTopLevelWorkingSets
 */
public void setShowTopLevelWorkingSets(boolean showTopLevelWorkingSets) {
    if (actions == null) 
        actions = createActions();

    currentSelection = showTopLevelWorkingSets ? 1 : 0;
    workingSetsAction.setChecked(showTopLevelWorkingSets);
    projectsAction.setChecked(!showTopLevelWorkingSets);

    if (items != null) {
        for (int i = 0; i < items.length; i++) {
            if(items[i] != null && actions[i] != null)
                items[i].setSelection(actions[i].isChecked());
        }
    }
    if (stateModel != null) {
        stateModel.setBooleanProperty(
                WorkingSetsContentProvider.SHOW_TOP_LEVEL_WORKING_SETS,
                showTopLevelWorkingSets);
    }
}
项目:translationstudio8    文件:WorkingSetActionProvider.java   
public void propertyChange(PropertyChangeEvent event) {

    if (ignoreFilterChangeEvents)
        return;

    IWorkingSet newWorkingSet = (IWorkingSet) event.getNewValue();

    setWorkingSet(newWorkingSet);
    if (newWorkingSet != null) {
        if (!contentService.isActive(WorkingSetsContentProvider.EXTENSION_ID)) {
            contentService.getActivationService().activateExtensions(
                    new String[] { WorkingSetsContentProvider.EXTENSION_ID }, false);
            contentService.getActivationService().persistExtensionActivations();
        }
        if (newWorkingSet.isAggregateWorkingSet()) {
            IAggregateWorkingSet agWs = (IAggregateWorkingSet) newWorkingSet;
            IWorkingSet[] comps = agWs.getComponents();
            if (comps.length > 1) {
                viewer.getCommonNavigator().setWorkingSetLabel(
                        WorkbenchNavigatorMessages.actions_WorkingSetActionProvider_multipleWorkingSets);
            } else if (comps.length > 0) {
                viewer.getCommonNavigator().setWorkingSetLabel(comps[0].getLabel());
            } else {
                viewer.getCommonNavigator().setWorkingSetLabel(null);
            }
        } else
            viewer.getCommonNavigator().setWorkingSetLabel(workingSet.getLabel());
    } else {
        viewer.getCommonNavigator().setWorkingSetLabel(null);
    }

    viewer.getFrameList().reset();
}
项目:translationstudio8    文件:WorkingSetActionProvider.java   
/**
 * Set current active working set.
 * 
 * @param workingSet
 *            working set to be activated, may be <code>null</code>
 */
protected void setWorkingSet(IWorkingSet workingSet) {
    this.workingSet = workingSet;
    emptyWorkingSet = workingSet != null && workingSet.isAggregateWorkingSet() && workingSet.isEmpty();

       ignoreFilterChangeEvents = true;
       try {
        workingSetActionGroup.setWorkingSet(workingSet);
       } finally {
        ignoreFilterChangeEvents = false;
        }       

    if (viewer != null) {
        setWorkingSetFilter(workingSet);
        if (workingSet == null || emptyWorkingSet
                || !extensionStateModel.getBooleanProperty(WorkingSetsContentProvider.SHOW_TOP_LEVEL_WORKING_SETS)) {
            if (viewer.getInput() != originalViewerInput) {
                viewer.setInput(originalViewerInput);
            } else {
                viewer.refresh();
            }
        } else {
            if (!workingSet.isAggregateWorkingSet()) {
                IWorkingSetManager workingSetManager = PlatformUI.getWorkbench().getWorkingSetManager();
                viewer.setInput(workingSetManager.createAggregateWorkingSet(
                        "", "", new IWorkingSet[] { workingSet })); //$NON-NLS-1$ //$NON-NLS-2$
            } else {
                viewer.setInput(workingSet);
            }
        }
    }
}
项目:translationstudio8    文件:WorkingSetActionProvider.java   
public void restoreState(final IMemento aMemento) {
    super.restoreState(aMemento);

    // Need to run this async to avoid being reentered when processing a selection change
    viewer.getControl().getShell().getDisplay().asyncExec(new Runnable() {
        public void run() {
            boolean showWorkingSets = true;
            if (aMemento != null) {
                Integer showWorkingSetsInt = aMemento
                        .getInteger(WorkingSetsContentProvider.SHOW_TOP_LEVEL_WORKING_SETS);
                showWorkingSets = showWorkingSetsInt == null || showWorkingSetsInt.intValue() == 1;
                extensionStateModel.setBooleanProperty(WorkingSetsContentProvider.SHOW_TOP_LEVEL_WORKING_SETS,
                        showWorkingSets);
                workingSetRootModeActionGroup.setShowTopLevelWorkingSets(showWorkingSets);

                String lastWorkingSetName = aMemento.getString(TAG_CURRENT_WORKING_SET_NAME);
                initWorkingSetFilter(lastWorkingSetName);
            } else {
                showWorkingSets = false;

                extensionStateModel.setBooleanProperty(WorkingSetsContentProvider.SHOW_TOP_LEVEL_WORKING_SETS,
                        showWorkingSets);
                workingSetRootModeActionGroup.setShowTopLevelWorkingSets(showWorkingSets);
            }
        }
    });
}
项目:translationstudio8    文件:WorkingSetActionProvider.java   
public void saveState(IMemento aMemento) {
    super.saveState(aMemento);

    if (aMemento != null) {
        int showWorkingSets = extensionStateModel
                .getBooleanProperty(WorkingSetsContentProvider.SHOW_TOP_LEVEL_WORKING_SETS) ? 1 : 0;
        aMemento.putInteger(WorkingSetsContentProvider.SHOW_TOP_LEVEL_WORKING_SETS, showWorkingSets);

        if (workingSet != null) {
            aMemento.putString(TAG_CURRENT_WORKING_SET_NAME, workingSet.getName());
        }
    }

}
项目:translationstudio8    文件:WorkingSetRootModeActionGroup.java   
public void run() {
    if (stateModel
            .getBooleanProperty(WorkingSetsContentProvider.SHOW_TOP_LEVEL_WORKING_SETS) != groupWorkingSets) {
        stateModel.setBooleanProperty(
                WorkingSetsContentProvider.SHOW_TOP_LEVEL_WORKING_SETS,
                groupWorkingSets);

        structuredViewer.getControl().setRedraw(false);
        try {
            structuredViewer.refresh();
        } finally {
            structuredViewer.getControl().setRedraw(true);
        }
    }
}
项目:tmxeditor8    文件:WorkingSetActionProvider.java   
public void propertyChange(PropertyChangeEvent event) {

    if (ignoreFilterChangeEvents)
        return;

    IWorkingSet newWorkingSet = (IWorkingSet) event.getNewValue();

    setWorkingSet(newWorkingSet);
    if (newWorkingSet != null) {
        if (!contentService.isActive(WorkingSetsContentProvider.EXTENSION_ID)) {
            contentService.getActivationService().activateExtensions(
                    new String[] { WorkingSetsContentProvider.EXTENSION_ID }, false);
            contentService.getActivationService().persistExtensionActivations();
        }
        if (newWorkingSet.isAggregateWorkingSet()) {
            IAggregateWorkingSet agWs = (IAggregateWorkingSet) newWorkingSet;
            IWorkingSet[] comps = agWs.getComponents();
            if (comps.length > 1) {
                viewer.getCommonNavigator().setWorkingSetLabel(
                        WorkbenchNavigatorMessages.actions_WorkingSetActionProvider_multipleWorkingSets);
            } else if (comps.length > 0) {
                viewer.getCommonNavigator().setWorkingSetLabel(comps[0].getLabel());
            } else {
                viewer.getCommonNavigator().setWorkingSetLabel(null);
            }
        } else
            viewer.getCommonNavigator().setWorkingSetLabel(workingSet.getLabel());
    } else {
        viewer.getCommonNavigator().setWorkingSetLabel(null);
    }

    viewer.getFrameList().reset();
}
项目:tmxeditor8    文件:WorkingSetActionProvider.java   
/**
 * Set current active working set.
 * 
 * @param workingSet
 *            working set to be activated, may be <code>null</code>
 */
protected void setWorkingSet(IWorkingSet workingSet) {
    this.workingSet = workingSet;
    emptyWorkingSet = workingSet != null && workingSet.isAggregateWorkingSet() && workingSet.isEmpty();

       ignoreFilterChangeEvents = true;
       try {
        workingSetActionGroup.setWorkingSet(workingSet);
       } finally {
        ignoreFilterChangeEvents = false;
        }       

    if (viewer != null) {
        setWorkingSetFilter(workingSet);
        if (workingSet == null || emptyWorkingSet
                || !extensionStateModel.getBooleanProperty(WorkingSetsContentProvider.SHOW_TOP_LEVEL_WORKING_SETS)) {
            if (viewer.getInput() != originalViewerInput) {
                viewer.setInput(originalViewerInput);
            } else {
                viewer.refresh();
            }
        } else {
            if (!workingSet.isAggregateWorkingSet()) {
                IWorkingSetManager workingSetManager = PlatformUI.getWorkbench().getWorkingSetManager();
                viewer.setInput(workingSetManager.createAggregateWorkingSet(
                        "", "", new IWorkingSet[] { workingSet })); //$NON-NLS-1$ //$NON-NLS-2$
            } else {
                viewer.setInput(workingSet);
            }
        }
    }
}
项目:tmxeditor8    文件:WorkingSetActionProvider.java   
public void restoreState(final IMemento aMemento) {
    super.restoreState(aMemento);

    // Need to run this async to avoid being reentered when processing a selection change
    viewer.getControl().getShell().getDisplay().asyncExec(new Runnable() {
        public void run() {
            boolean showWorkingSets = true;
            if (aMemento != null) {
                Integer showWorkingSetsInt = aMemento
                        .getInteger(WorkingSetsContentProvider.SHOW_TOP_LEVEL_WORKING_SETS);
                showWorkingSets = showWorkingSetsInt == null || showWorkingSetsInt.intValue() == 1;
                extensionStateModel.setBooleanProperty(WorkingSetsContentProvider.SHOW_TOP_LEVEL_WORKING_SETS,
                        showWorkingSets);
                workingSetRootModeActionGroup.setShowTopLevelWorkingSets(showWorkingSets);

                String lastWorkingSetName = aMemento.getString(TAG_CURRENT_WORKING_SET_NAME);
                initWorkingSetFilter(lastWorkingSetName);
            } else {
                showWorkingSets = false;

                extensionStateModel.setBooleanProperty(WorkingSetsContentProvider.SHOW_TOP_LEVEL_WORKING_SETS,
                        showWorkingSets);
                workingSetRootModeActionGroup.setShowTopLevelWorkingSets(showWorkingSets);
            }
        }
    });
}
项目:tmxeditor8    文件:WorkingSetActionProvider.java   
public void saveState(IMemento aMemento) {
    super.saveState(aMemento);

    if (aMemento != null) {
        int showWorkingSets = extensionStateModel
                .getBooleanProperty(WorkingSetsContentProvider.SHOW_TOP_LEVEL_WORKING_SETS) ? 1 : 0;
        aMemento.putInteger(WorkingSetsContentProvider.SHOW_TOP_LEVEL_WORKING_SETS, showWorkingSets);

        if (workingSet != null) {
            aMemento.putString(TAG_CURRENT_WORKING_SET_NAME, workingSet.getName());
        }
    }

}
项目:tmxeditor8    文件:WorkingSetRootModeActionGroup.java   
public void run() {
    if (stateModel
            .getBooleanProperty(WorkingSetsContentProvider.SHOW_TOP_LEVEL_WORKING_SETS) != groupWorkingSets) {
        stateModel.setBooleanProperty(
                WorkingSetsContentProvider.SHOW_TOP_LEVEL_WORKING_SETS,
                groupWorkingSets);

        structuredViewer.getControl().setRedraw(false);
        try {
            structuredViewer.refresh();
        } finally {
            structuredViewer.getControl().setRedraw(true);
        }
    }
}
项目:Pydev    文件:TopLevelProjectsOrWorkingSetChoice.java   
/**
 * Starts listening to property changes related to which should be the top-level elements to be shown.
 */
public void init(ICommonContentExtensionSite aConfig, CommonViewer viewer) {
    //if it had something, dispose of its association!
    this.dispose();
    try {
        extensionStateModel = viewer.getNavigatorContentService().findStateModel(
                WorkingSetsContentProvider.EXTENSION_ID);

        extensionStateModel.addPropertyChangeListener(rootModeListener);
    } catch (Exception e) {
        Log.log(e);
    }
    updateRootMode();
}