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();
}