Java 类org.eclipse.ui.IPerspectiveDescriptor 实例源码

项目:tlaplus    文件:UIHelper.java   
/**
 * Determines if given perspective is shown
 * 
 * @param id
 * @return true if the perspective with current id is shown, false otherwise
 */
public static boolean isPerspectiveShown(String perspectiveId) {
    if (perspectiveId == null || perspectiveId.equals("")) {
        return false;
    }
    IWorkbenchWindow[] workbenchWindows = PlatformUI.getWorkbench().getWorkbenchWindows();
    for (int i = 0; i < workbenchWindows.length; i++) {
        IPerspectiveDescriptor[] openPerspectives = workbenchWindows[i].getActivePage().getOpenPerspectives();
        for (int j = 0; j < openPerspectives.length; j++) {
            if (perspectiveId.equals(openPerspectives[j].getId())) {
                return true;
            }
        }
    }
    return false;
}
项目:gwt-eclipse-plugin    文件:GdtPlugin.java   
/**
 * Adds the new wizards to the current perspective displayed in <code>activeWorkbenchWindow</code>, if they've not
 * been added already. Adds listeners on the window so that the same is done whenever the user switches perspectives
 * in the window.
 *
 * Note: This method can only be called once the workbench has been started.
 */
private void maybeAddNewWizardActionsToWindow(IWorkbenchWindow activeWorkbenchWindow) {
  if (activeWorkbenchWindow == null) {
    return;
  }

  activeWorkbenchWindow.addPerspectiveListener(perspectiveListener);

  WorkbenchPage activePage = (WorkbenchPage) activeWorkbenchWindow.getActivePage();
  if (activePage == null) {
    return;
  }

  IPerspectiveDescriptor perspectiveDesc = activePage.getPerspective();
  maybeAddNewWizardActionsToPerspective(activePage, perspectiveDesc);
}
项目:APICloud-Studio    文件:CommonEditorPlugin.java   
public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId)
{
    if (changeId.equals(IWorkbenchPage.CHANGE_VIEW_HIDE))
    {
        if (findView(page, OUTLINE_VIEW_ID) == null)
        {
            setCommandState(false);
        }
    }
    else if (changeId.equals(IWorkbenchPage.CHANGE_VIEW_SHOW))
    {
        if (findView(page, OUTLINE_VIEW_ID) != null)
        {
            setCommandState(true);
        }
    }
}
项目:OpenSPIFe    文件:EnsembleBasicNewProjectResourceWizard.java   
private static void replaceCurrentPerspective(IPerspectiveDescriptor persp) {

        // Get the active page.
        IWorkbenchWindow window = PlatformUI.getWorkbench()
                .getActiveWorkbenchWindow();
        if (window == null) {
            return;
        }
        IWorkbenchPage page = window.getActivePage();
        if (page == null) {
            return;
        }

        // Set the perspective.
        page.setPerspective(persp);
    }
项目:OpenSPIFe    文件:EnsembleBasicNewProjectResourceWizard.java   
/**
 * Adds to the list all perspective IDs in the Workbench who's original ID
 * matches the given ID.
 * 
 * @param perspectiveIds
 *            the list of perspective IDs to supplement.
 * @param id
 *            the id to query.
 * @since 3.0
 */
@SuppressWarnings({ "unchecked" })
private static void addPerspectiveAndDescendants(List perspectiveIds,
        String id) {
    IPerspectiveRegistry registry = PlatformUI.getWorkbench()
            .getPerspectiveRegistry();
    IPerspectiveDescriptor[] perspectives = registry.getPerspectives();
    for (int i = 0; i < perspectives.length; i++) {
        // @issue illegal ref to workbench internal class;
        // consider adding getOriginalId() as API on IPerspectiveDescriptor
        PerspectiveDescriptor descriptor = ((PerspectiveDescriptor) perspectives[i]);
        if (descriptor.getOriginalId().equals(id)) {
            perspectiveIds.add(descriptor.getId());
        }
    }
}
项目:tesb-studio-se    文件:OpenWSDLEditorAction.java   
public void run(IIntroSite site, Properties params) {
    PlatformUI.getWorkbench().getIntroManager().closeIntro(PlatformUI.getWorkbench().getIntroManager().getIntro());

    IPerspectiveDescriptor currentPerspective = site.getPage().getPerspective();
    if (!PERSPECTIVE_ID.equals(currentPerspective.getId())) {
        // show required perspective
        IWorkbenchWindow workbenchWindow = site.getWorkbenchWindow();
        try {
            workbenchWindow.getWorkbench().showPerspective(PERSPECTIVE_ID, workbenchWindow);
        } catch (WorkbenchException e) {
            ExceptionHandler.process(e);
            return;
        }
    }

    // find repository node
    repositoryNode = (RepositoryNode) RepositorySeekerManager.getInstance().searchRepoViewNode(params.getProperty("nodeId"),
            false);
    if (null != repositoryNode) {
        // expand/select node item
        RepositoryManagerHelper.getRepositoryView().getViewer().setSelection(new StructuredSelection(repositoryNode));
        init(repositoryNode);
        doRun();
    }
}
项目:watchdog    文件:WindowListener.java   
private void addPerspectiveListener(IWorkbenchWindow window) {
    IPerspectiveListener perspectiveListener = new PerspectiveListener();
    window.addPerspectiveListener(perspectiveListener);

    // triggers the event for the currently open perspective, if there is
    // any
    IWorkbenchPage activePage = window.getActivePage();
    if (activePage != null) {
        IPerspectiveDescriptor currentPerspective = window.getActivePage()
                .getPerspective();
        if (currentPerspective != null) {
            perspectiveListener.perspectiveActivated(activePage,
                    currentPerspective);
        }

    }
}
项目:elexis-3-core    文件:ApplicationActionBarAdvisor.java   
/**
 * Create a new action for opening a perspective
 * 
 * @param perspectiveDescriptor
 *            the perspective to be opened
 */
OpenPerspectiveAction(IPerspectiveDescriptor perspectiveDescriptor, String name, String icon){
    super(perspectiveDescriptor.getLabel());

    setId(perspectiveDescriptor.getId());
    if (!StringTool.isNothing(icon)) {
        setImageDescriptor(perspectiveDescriptor.getImageDescriptor());
    } else {

        setImageDescriptor(perspectiveDescriptor.getImageDescriptor());
    }

    setToolTipText((StringTool.isNothing(name) ? perspectiveDescriptor.getLabel() : name)
        + Messages.ApplicationActionBarAdvisor_10);

    this.perspectiveDescriptor = perspectiveDescriptor;
}
项目:elexis-3-core    文件:PerspektiveImportHandler.java   
@SuppressWarnings("restriction")
private IPerspectiveDescriptor savePerspectiveToRegistryLegacy(MPerspective perspective){
    IPerspectiveRegistry perspectiveRegistry =
        (PerspectiveRegistry) PlatformUI.getWorkbench().getPerspectiveRegistry();
    IPerspectiveDescriptor pd =
        perspectiveRegistry.findPerspectiveWithId(perspective.getElementId());
    if (pd == null) {
        ((PerspectiveRegistry) perspectiveRegistry).addPerspective(perspective);
        pd = perspectiveRegistry.findPerspectiveWithId(perspective.getElementId());
    } else {
        LoggerFactory.getLogger(PerspektiveImportHandler.class)
            .error("perspective descriptor already exists for perspective id: "
            + perspective.getElementId());
    }

    return pd;
}
项目:elexis-3-core    文件:PerspectiveImportService.java   
@Override
public int deletePerspective(String perspectiveId){
    IPerspectiveRegistry iPerspectiveRegistry =
        PlatformUI.getWorkbench().getPerspectiveRegistry();
    MApplication mApplication = getService(MApplication.class);
    IPerspectiveDescriptor existingPerspectiveDescriptor =
        iPerspectiveRegistry.findPerspectiveWithId(perspectiveId);

    int idx = -1;

    if (existingPerspectiveDescriptor != null) {

        idx = closePerspective(existingPerspectiveDescriptor);
        //NOT WORKING IF PERSPECTIVE IS PREDEFINED - workaround with generics
        iPerspectiveRegistry.deletePerspective(existingPerspectiveDescriptor);
        PerspectiveImportService.genericInvokMethod(iPerspectiveRegistry, "removeSnippet",
            MSnippetContainer.class, String.class, mApplication,
            existingPerspectiveDescriptor.getId());

    }
    return idx;
}
项目:elexis-3-core    文件:PerspectiveImportService.java   
private int isPerspectiveInsideStack(IPerspectiveDescriptor pd){
    int idx = -1;
    if (pd != null) {
        List<MPerspective> perspectivesInStack;
        MPerspectiveStack mPerspectiveStack = getPerspectiveStack();
        perspectivesInStack = mPerspectiveStack.getChildren();

        for (MPerspective perspectiveInStack : perspectivesInStack) {
            if (pd.getId().equals(perspectiveInStack.getElementId())) {
                idx++;
                break;
            }
        }
    }
    return idx;
}
项目:elexis-3-base    文件:PerspektivenContribution.java   
@Override
public void fill(ToolBar parent, int index) {
    IPerspectiveRegistry pr = PlatformUI.getWorkbench().
        getPerspectiveRegistry();

    String cfg = CoreHub.localCfg.get(Preferences.CFG_PERSPEKTIVEN, "");
    String[] ids = cfg.split(",");
    if (cfg == "") return;

    for (String id: ids) {
        IPerspectiveDescriptor pd = pr.findPerspectiveWithId(id);
        if (pd == null) continue;

        ToolItem ti = new ToolItem(parent, SWT.PUSH);
        ImageDescriptor idesc = pd.getImageDescriptor();
        Image im = (idesc != null ? idesc.createImage() : null);
        if (im != null)
            ti.setImage(im);
        else
            ti.setText(pd.getLabel());
        ti.setToolTipText(pd.getLabel());
        ti.addSelectionListener(new TISelListener(pd.getId()));
    }

    parent.update();
}
项目:convertigo-eclipse    文件:ConvertigoPerspectiveListener.java   
public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {

        ConvertigoPlugin.logDebug3("IWorkbenchPage perspectiveActivated : " + page.getLabel() + "("
                + page.toString() + ")");
        if (!perspective.getId().equalsIgnoreCase(ConvertigoPlugin.PLUGIN_PERSPECTIVE_ID)) {
        } else {
        }
    }
项目:convertigo-eclipse    文件:ConvertigoPerspectiveListener.java   
public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) {
    ConvertigoPlugin.logDebug3("IWorkbenchPage perspectiveChanged : " + page.getLabel() + "("
            + perspective.getLabel() + " - " + changeId + ")");

    IViewReference introView = page.findViewReference("org.eclipse.ui.internal.introview");
    // Maximize the intro view if present
    if (introView != null) {
        page.setPartState(introView, IWorkbenchPage.STATE_MAXIMIZED);
    }
}
项目:Hydrograph    文件:PerspectiveRemover.java   
/**
 * Removes the unwanted perspectives from your RCP application
 */
public void removeUnWantedPerspectives() {
    IPerspectiveRegistry perspectiveRegistry = PlatformUI.getWorkbench().getPerspectiveRegistry();
    IPerspectiveDescriptor[] perspectiveDescriptors = getAllRegisteredPerspectiveDescriptors();
    ArrayList<IPerspectiveDescriptor> ignorePerspectiveList = getIgnorePerspectiveList(perspectiveDescriptors);
    removePerspetives(perspectiveRegistry, ignorePerspectiveList);
}
项目:Hydrograph    文件:PerspectiveRemover.java   
private void removePerspetives(IPerspectiveRegistry perspectiveRegistry, List<IPerspectiveDescriptor> removePerspectiveDesc) {
    // If the list is non-empty then remove all such perspectives from the IExtensionChangeHandler
    if(perspectiveRegistry instanceof IExtensionChangeHandler && !removePerspectiveDesc.isEmpty()) {
        IExtensionChangeHandler extChgHandler = (IExtensionChangeHandler) perspectiveRegistry;
        extChgHandler.removeExtension(null, removePerspectiveDesc.toArray());
    }
}
项目:Hydrograph    文件:PerspectiveRemover.java   
private ArrayList<IPerspectiveDescriptor> getIgnorePerspectiveList(IPerspectiveDescriptor[] registeredPerspetives){        
    ArrayList<IPerspectiveDescriptor> ignorePerspectiveList = new ArrayList<>();
    for (IPerspectiveDescriptor perspectiveDescriptor : registeredPerspetives) {
        if(!ELTPerspectives.contains(perspectiveDescriptor.getId())) {
            ignorePerspectiveList.add(perspectiveDescriptor);
        }
    }
    return ignorePerspectiveList;
}
项目:typescript.java    文件:AbstractNewProjectWizard.java   
private static void openInNewWindow(IPerspectiveDescriptor desc) {

        // Open the page.
        try {
            PlatformUI.getWorkbench().openWorkbenchWindow(desc.getId(), ResourcesPlugin.getWorkspace().getRoot());
        } catch (WorkbenchException e) {
            IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
            if (window != null) {
                ErrorDialog.openError(window.getShell(), WINDOW_PROBLEMS_TITLE, e.getMessage(), e.getStatus());
            }
        }
    }
项目:typescript.java    文件:AbstractNewProjectWizard.java   
private static void replaceCurrentPerspective(IPerspectiveDescriptor persp) {

        // Get the active page.
        IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
        if (window == null) {
            return;
        }
        IWorkbenchPage page = window.getActivePage();
        if (page == null) {
            return;
        }

        // Set the perspective.
        page.setPerspective(persp);
    }
项目:typescript.java    文件:AbstractNewProjectWizard.java   
/**
 * Adds to the list all perspective IDs in the Workbench who's original ID
 * matches the given ID.
 *
 * @param perspectiveIds
 *            the list of perspective IDs to supplement.
 * @param id
 *            the id to query.
 * @since 3.0
 */
private static void addPerspectiveAndDescendants(List perspectiveIds, String id) {
    IPerspectiveRegistry registry = PlatformUI.getWorkbench().getPerspectiveRegistry();
    IPerspectiveDescriptor[] perspectives = registry.getPerspectives();
    for (int i = 0; i < perspectives.length; i++) {
        // @issue illegal ref to workbench internal class;
        // consider adding getOriginalId() as API on IPerspectiveDescriptor
        PerspectiveDescriptor descriptor = ((PerspectiveDescriptor) perspectives[i]);
        if (descriptor.getOriginalId().equals(id)) {
            perspectiveIds.add(descriptor.getId());
        }
    }
}
项目:typescript.java    文件:AbstractNewProjectWizard.java   
/**
 * Prompts the user for whether to switch perspectives.
 *
 * @param window
 *            The workbench window in which to switch perspectives; must not
 *            be <code>null</code>
 * @param finalPersp
 *            The perspective to switch to; must not be <code>null</code>.
 *
 * @return <code>true</code> if it's OK to switch, <code>false</code>
 *         otherwise
 */
private static boolean confirmPerspectiveSwitch(IWorkbenchWindow window, IPerspectiveDescriptor finalPersp) {
    IPreferenceStore store = IDEWorkbenchPlugin.getDefault().getPreferenceStore();
    String pspm = store.getString(IDEInternalPreferences.PROJECT_SWITCH_PERSP_MODE);
    if (!IDEInternalPreferences.PSPM_PROMPT.equals(pspm)) {
        // Return whether or not we should always switch
        return IDEInternalPreferences.PSPM_ALWAYS.equals(pspm);
    }
    String desc = finalPersp.getDescription();
    String message;
    if (desc == null || desc.length() == 0)
        message = NLS.bind(ResourceMessages.NewProject_perspSwitchMessage, finalPersp.getLabel());
    else
        message = NLS.bind(ResourceMessages.NewProject_perspSwitchMessageWithDesc,
                new String[] { finalPersp.getLabel(), desc });

    MessageDialogWithToggle dialog = MessageDialogWithToggle.openYesNoQuestion(window.getShell(),
            ResourceMessages.NewProject_perspSwitchTitle, message,
            null /* use the default message for the toggle */,
            false /* toggle is initially unchecked */, store, IDEInternalPreferences.PROJECT_SWITCH_PERSP_MODE);
    int result = dialog.getReturnCode();

    // If we are not going to prompt anymore propogate the choice.
    if (dialog.getToggleState()) {
        String preferenceValue;
        if (result == IDialogConstants.YES_ID) {
            // Doesn't matter if it is replace or new window
            // as we are going to use the open perspective setting
            preferenceValue = IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE;
        } else {
            preferenceValue = IWorkbenchPreferenceConstants.NO_NEW_PERSPECTIVE;
        }

        // update PROJECT_OPEN_NEW_PERSPECTIVE to correspond
        PrefUtil.getAPIPreferenceStore().setValue(IDE.Preferences.PROJECT_OPEN_NEW_PERSPECTIVE, preferenceValue);
    }
    return result == IDialogConstants.YES_ID;
}
项目:typescript.java    文件:AllInOneWorkbenchListener.java   
private void hookListeners(IWorkbenchPage page) {
    IPerspectiveDescriptor perspective = page.getPerspective();
    if (perspective != null) {
        perspectiveActivated(page, perspective);
    }
    page.addPartListener(this);
}
项目:NEXCORE-UML-Modeler    文件:UMLStartupCore.java   
@Override
public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
    super.perspectiveActivated(page, perspective);
    if (UICoreConstant.PROJECT_CONSTANTS__UmlPerspectiveID.equals(perspective.getId())) {
        if (UMLLoginController.getInstance().getLoginState() != UMLNexcoreLoginEvent.LOG_IN) {
            MessageDialog.openWarning(getShell(),
                UMLMessage.LABEL_NEXCORE_UML_MODELER,
                UMLMessage.MESSAGE_LOGIN_ERROR);
        }
    }

    flag = true;
}
项目:statecharts    文件:PerspectiveUtil.java   
public static void switchToModelingPerspective(IWorkbenchWindow window) {
    IPreferenceStore prefs = UIPluginActivator.getDefault()
            .getPreferenceStore();
    boolean hide = prefs.getBoolean(AUTO_SWITCH_PERSPECTIVE);
    IWorkbenchPage page = window.getActivePage();
    if (!hide) {
        IWorkbench workbench = window.getWorkbench();
        IPerspectiveRegistry registry = workbench.getPerspectiveRegistry();
        IPerspectiveDescriptor descriptor = registry
                .findPerspectiveWithId(IYakinduSctPerspectives.ID_PERSPECTIVE_SCT_MODELING);
        if ((page != null) && (page.getPerspective() != descriptor)) {
            MessageDialogWithToggle dialog = MessageDialogWithToggle
                    .openYesNoQuestion(
                            window.getShell(),
                            "Confirm Perspective Switch",
                            "This kind of editor is associated with the YAKINDU Modeling perspective. Do you want to switch to this perspective now?",
                            "Do not offer to switch perspective in the future",
                            hide, prefs, AUTO_SWITCH_PERSPECTIVE);
            if (dialog.getReturnCode() == 2)
                page.setPerspective(descriptor);
            hide = dialog.getToggleState();
            prefs.setValue(AUTO_SWITCH_PERSPECTIVE, hide);
            try {
                InstanceScope.INSTANCE.getNode(UIPluginActivator.PLUGIN_ID)
                        .flush();
            } catch (BackingStoreException e) {
                e.printStackTrace();
            }
        }
    }
}
项目:scouter    文件:SetDefaultServerAction.java   
public void run() {
    if(server != null) {
        ServerPrefUtil.storeDefaultServer(server.getIp()+":"+server.getPort());
        ServerManager.getInstance().setDefaultServer(server);
        IWorkbenchPage page = win.getActivePage();
        IPerspectiveDescriptor perspective = page.getPerspective();
        if (Activator.getDefault().isPrePerspective(perspective.getId())) {
            if (MessageDialog.openConfirm(win.getShell(), "Reset Perspectives", "Default server is changed. Would you reset current perspective?")) {
                RCPUtil.resetPerspective();
            }
        } else {
            MessageDialog.openInformation(win.getShell(), "Custom perspective", "Default server is changed. But custom perspective is not applied");
        }
    }
}
项目:scouter    文件:RCPUtil.java   
public static void preLoadingPerspective(String[] ids){
    IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
    if (page != null) {
        IPerspectiveRegistry registry = PlatformUI.getWorkbench().getPerspectiveRegistry();
        IPerspectiveDescriptor active = page.getPerspective();
        for (int idx = ids.length - 1; idx >= 0; idx--) {
            if (active == null || !active.getId().equals(ids[idx])) {
                IPerspectiveDescriptor perspective = registry.findPerspectiveWithId(ids[idx]);
                page.setPerspective(perspective);
            }
        }
        page.setPerspective(active);
    }
}
项目:scouter    文件:RCPUtil.java   
public static void hidePerspectives(String[] ids) {
    IPerspectiveRegistry registry = PlatformUI.getWorkbench().getPerspectiveRegistry();
    IPerspectiveDescriptor[] descriptors = registry.getPerspectives();
    List ignoredPerspectives = Arrays.asList(ids);
    List removePerspectiveDesc = new ArrayList();
    for (IPerspectiveDescriptor desc : descriptors) {
        if (ignoredPerspectives.contains(desc.getId())) {
            removePerspectiveDesc.add(desc);
        }
    }
    if (registry instanceof IExtensionChangeHandler && !removePerspectiveDesc.isEmpty()) {
        IExtensionChangeHandler extChgHandler = (IExtensionChangeHandler) registry;
        extChgHandler.removeExtension(null, removePerspectiveDesc.toArray());
    }
}
项目:scouter    文件:RCPUtil.java   
public static void printPerspectives(){
    System.out.println("=== Perspectives ===");
    IPerspectiveRegistry registry = PlatformUI.getWorkbench().getPerspectiveRegistry();
    IPerspectiveDescriptor[] descriptors = registry.getPerspectives();
    for (int idx = 0; idx < descriptors.length; idx++) {
        System.out.println(descriptors[idx].getId());
    }
}
项目:gama    文件:PerspectiveHelper.java   
private static IPerspectiveDescriptor findOrBuildPerspectiveWithId(final String id) {
    IPerspectiveDescriptor tempDescriptor = getPerspectiveRegistry().findPerspectiveWithId(id);
    if ( tempDescriptor == null ) {
        tempDescriptor = new SimulationPerspectiveDescriptor(id);
    }
    return tempDescriptor;
}
项目:gama    文件:CleanupHelper.java   
@Override
public void perspectiveActivated(final IWorkbenchPage page, final IPerspectiveDescriptor perspective) {
    final WorkbenchWindow w = (WorkbenchWindow) page.getWorkbenchWindow();
    WorkbenchHelper.asyncRun(() -> {
        // RearrangeMenus.run();
        final IContributionItem[] items = w.getCoolBarManager2().getItems();
        // System.out.println(Arrays.toString(items));
        // We remove all contributions to the toolbar that do not
        // relate
        // to gama
        for (final IContributionItem item : items) {

            for (final String s1 : TOOLBAR_ACTION_SETS_TO_REMOVE) {
                if (item.getId().contains(s1)) {
                    try {
                        if (w.getCoolBarManager2().find(item.getId()) != null)
                            w.getCoolBarManager2().remove(item);
                    } catch (final Exception e) {}
                }
            }
        }

        // exploreMenus(w.getMenuBarManager(), "");
        for (final String s2 : MENUS_TO_REMOVE) {
            w.getMenuBarManager().remove(s2);
            w.getMenuManager().remove(s2);
        }
        // Update the tool and menu bars
        w.getCoolBarManager2().update(true);
        w.getMenuManager().update(true);
        w.getMenuBarManager().update(true);
    });
}
项目:eclipseforces    文件:Utilities.java   
public static void setPerspective(final String perspectiveID) {
  runInDisplayThread(new Runnable() {
    public void run() {
      IPerspectiveDescriptor wantedPerspective = PlatformUI.getWorkbench().getPerspectiveRegistry()
          .findPerspectiveWithId(perspectiveID);

      PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().setPerspective(wantedPerspective);
    }
  });
}
项目:APICloud-Studio    文件:UIUtils.java   
/**
 * Returns the active perspective id if there is one
 * 
 * @return the active perspective id; <code>null</code> in case it could not be resolved.
 */
public static String getActivePerspectiveId()
{
    IPerspectiveDescriptor perspective = getActivePerspectiveDescriptor();
    if (perspective != null)
    {
        return perspective.getId();
    }
    return null;
}
项目:APICloud-Studio    文件:UIUtils.java   
/**
 * Returns the active perspective descriptor if there is one.
 * 
 * @return the active perspective descriptor; <code>null</code> in case it could not be resolved.
 */
public static IPerspectiveDescriptor getActivePerspectiveDescriptor()
{
    IWorkbenchPage activePage = getActivePage();
    if (activePage != null)
    {
        return activePage.getPerspective();
    }
    return null;
}
项目:mytourbook    文件:ApplicationWorkbenchWindowAdvisor.java   
/**
 * Updates the window title. Format will be:
 * <p>
 * [pageInput -] [currentPerspective -] [editorInput -] [workspaceLocation -] productName
 */
private void updateTitle() {

    final IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
    final IWorkbenchWindow window = configurer.getWindow();

    IWorkbenchPart activePart = null;
    final IWorkbenchPage currentPage = window.getActivePage();

    IPerspectiveDescriptor persp = null;

    if (currentPage != null) {
        persp = currentPage.getPerspective();

        activePart = currentPage.getActivePart();
    }

    // Nothing to do if the part hasn't changed
    if ((activePart == _lastActivePart) && (currentPage == _lastActivePage) && (persp == _lastPerspective)) {
        return;
    }

    if (_lastActivePart != null) {
        _lastActivePart.removePropertyListener(_partPropertyListener);
    }

    _lastActivePart = activePart;
    _lastActivePage = currentPage;
    _lastPerspective = persp;

    if (activePart != null) {
        activePart.addPropertyListener(_partPropertyListener);
    }

    recomputeTitle();
}
项目:jo-widgets    文件:PartSupport.java   
public void showEmptyPerspective() {
    final IPerspectiveRegistry perspectiveRegistry = PlatformUI.getWorkbench().getPerspectiveRegistry();
    final IPerspectiveDescriptor perspectiveDescriptor = perspectiveRegistry.findPerspectiveWithId(DynamicPerspective.ID);
    final IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
    activePage.setPerspective(perspectiveDescriptor);
    perspectiveRegistry.setDefaultPerspective(DynamicPerspective.ID);
}
项目:jo-widgets    文件:PartSupport.java   
public void showPerspective(
    final ComponentNodeContext componentTreeNodeContext,
    final ComponentContext componentContext,
    final ILayout perspective) {
    if (perspective == null) {
        showEmptyPerspective();
        return;
    }

    final String perspectiveId = getPerspectiveId(perspective, componentTreeNodeContext);
    final IPerspectiveRegistry perspectiveRegistry = PlatformUI.getWorkbench().getPerspectiveRegistry();
    IPerspectiveDescriptor newPerspective = perspectiveRegistry.findPerspectiveWithId(perspectiveId);
    if (newPerspective == null) {
        final IPerspectiveDescriptor perspectiveDescriptor = perspectiveRegistry.findPerspectiveWithId(DynamicPerspective.ID);
        newPerspective = perspectiveRegistry.clonePerspective(
                perspectiveId,
                String.valueOf(perspective.getLabel()),
                perspectiveDescriptor);
        final IViewContainerContext context = registerViews(perspectiveId, perspective.getLayoutContainer(), componentContext);
        viewContainerContextMap.put(perspectiveId, context);
    }
    final IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
    activePage.setPerspective(newPerspective);

    // initialize views to update view titles from view model
    initializeViews();
}
项目:jo-widgets    文件:PartSupport.java   
public void resetPerspective(
    final ComponentNodeContext componentTreeNodeContext,
    final ComponentContext componentContext,
    final ILayout layout) {
    final IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
    final IPerspectiveDescriptor currentPerspective = activePage.getPerspective();
    showPerspective(componentTreeNodeContext, componentContext, layout);
    activePage.resetPerspective();
    activePage.setPerspective(currentPerspective);
    // initialize views to update view titles from view model
    initializeViews();
}
项目:OpenSPIFe    文件:EnsembleBasicNewProjectResourceWizard.java   
private static void openInNewWindow(IPerspectiveDescriptor desc, String windowProblemsTitle) {

        // Open the page.
        try {
            PlatformUI.getWorkbench().openWorkbenchWindow(desc.getId(),
                    ResourcesPlugin.getWorkspace().getRoot());
        } catch (WorkbenchException e) {
            IWorkbenchWindow window = PlatformUI.getWorkbench()
                    .getActiveWorkbenchWindow();
            if (window != null) {
                ErrorDialog.openError(window.getShell(), windowProblemsTitle,
                        e.getMessage(), e.getStatus());
            }
        }
    }
项目:OpenSPIFe    文件:BasicPerspectiveFactory.java   
/**
    *  Implements IPerspectiveFactory.  Automatically adds all registered perspectives to the shortcut bar.  This ensures
    *  that all perspectives will be easily accessible regardless of the perspective that is currently selected. 
    */
   @Override
public void createInitialLayout(IPageLayout layout) {
    for (IPerspectiveDescriptor per : PlatformUI.getWorkbench().getPerspectiveRegistry().getPerspectives()) {
        layout.addPerspectiveShortcut(per.getId());
    }
   }
项目:OpenSPIFe    文件:EnsembleWorkbenchWindowAdvisor.java   
protected void cleanupPerspectives() {
    PerspectiveRegistry pRegistry = (PerspectiveRegistry) PlatformUI.getWorkbench().getPerspectiveRegistry();
    Collection<String> undesirables = getUndesirablePerspectives();
    List<IPerspectiveDescriptor> pToRemove = new ArrayList<IPerspectiveDescriptor>();
    for (IPerspectiveDescriptor pDesc : pRegistry.getPerspectives()) {
        if (undesirables.contains(pDesc.getId())) {
            pToRemove.add(pDesc);
        }
    }
    pRegistry.removeExtension(null, pToRemove.toArray(new Object[pToRemove.size()]));
    System.out.println();
}