private void loadViewPanesVisibility() { String visiblePanes = Platform.getPreferencesService() .getString(DebugUIPlugin.getUniqueIdentifier(), getVisibilityPrefId(), null, null); if (visiblePanes != null && visiblePanes.length() > 0) { StringTokenizer tokenizer = new StringTokenizer(visiblePanes, ","); // $NON-NLS-1$ while (tokenizer.hasMoreTokens()) { String paneId = tokenizer.nextToken(); fVisibleViewPanes.add(paneId); } } else { for (int i = 0; i < defaultVisiblePaneIds.length; i++) { fVisibleViewPanes.add(defaultVisiblePaneIds[i]); } } Enumeration<String> enumeration = fViewPaneControls.keys(); while (enumeration.hasMoreElements()) { String paneId = enumeration.nextElement(); boolean visible = false; if (fVisibleViewPanes.contains(paneId)) visible = true; Control control = fViewPaneControls.get(paneId); control.setVisible(visible); IMemoryViewPane viewPane = fViewPanes.get(paneId); viewPane.setVisible(visible); } fSashForm.layout(); }
/* * (non-Javadoc) * @see org.eclipse.ui.part.WorkbenchPart#setFocus() */ @Override public void setFocus() { if (fActivePaneId == null) fActivePaneId = fMemBlkViewer.getId(); IMemoryViewPane pane = getViewPane(fActivePaneId); pane.getControl().setFocus(); }
@Override public void dispose() { getSite().getPage().removePartListener(fPartListener); Enumeration<IMemoryViewPane> enumeration = fViewPanes.elements(); while (enumeration.hasMoreElements()) { Object element = enumeration.nextElement(); if (element instanceof IMemoryViewPane) { ((IMemoryViewPane) element).dispose(); } } fViewPaneControls.clear(); IViewSite viewSite = getViewSite(); String secondaryId = viewSite.getSecondaryId(); if (secondaryId != null) MemoryViewIdRegistry.deregisterView(secondaryId); fSyncService.shutdown(); if (fAddHandler != null) fAddHandler.dispose(); if (fToggleMonitorsHandler != null) fToggleMonitorsHandler.dispose(); if (fNextMemoryBlockHandler != null) fNextMemoryBlockHandler.dispose(); super.dispose(); }
/* * (non-Javadoc) * @see * org.eclipse.debug.internal.ui.views.memory.IMultipaneMemoryView#showViewPane * (boolean, java.lang.String) */ public void showViewPane(boolean show, String paneId) { Control viewPaneControl = fViewPaneControls.get(paneId); if (viewPaneControl != null) { Control children[] = fSashForm.getChildren(); for (int i = 0; i < children.length; i++) { if (children[i] == viewPaneControl) { children[i].setVisible(show); IMemoryViewPane viewPane = fViewPanes.get(paneId); if (viewPane != null) viewPane.setVisible(show); } } fSashForm.layout(); } storeViewPaneVisibility(); }