Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 178366 Details for
Bug 321278
[e4] ensure that Mylyn works on Eclipse 4
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
fix for compile errors (breaks editor management)
clipboard.txt (text/plain), 35.99 KB, created by
Steffen Pingel
on 2010-09-07 19:07:39 EDT
(
hide
)
Description:
fix for compile errors (breaks editor management)
Filename:
MIME Type:
Creator:
Steffen Pingel
Created:
2010-09-07 19:07:39 EDT
Size:
35.99 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.mylyn.context.ui >Index: src/org/eclipse/mylyn/internal/context/ui/ContextEditorManager.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.context.ui/src/org/eclipse/mylyn/internal/context/ui/ContextEditorManager.java,v >retrieving revision 1.21 >diff -u -r1.21 ContextEditorManager.java >--- src/org/eclipse/mylyn/internal/context/ui/ContextEditorManager.java 7 Oct 2009 23:15:05 -0000 1.21 >+++ src/org/eclipse/mylyn/internal/context/ui/ContextEditorManager.java 7 Sep 2010 23:05:40 -0000 >@@ -15,15 +15,12 @@ > import java.io.StringReader; > import java.io.StringWriter; > import java.util.ArrayList; >-import java.util.Arrays; >-import java.util.HashSet; > import java.util.List; > import java.util.Set; > > import org.eclipse.core.runtime.Assert; > import org.eclipse.core.runtime.ISafeRunnable; > import org.eclipse.core.runtime.IStatus; >-import org.eclipse.core.runtime.MultiStatus; > import org.eclipse.core.runtime.Status; > import org.eclipse.core.runtime.preferences.InstanceScope; > import org.eclipse.jface.preference.IPreferenceStore; >@@ -47,14 +44,11 @@ > import org.eclipse.ui.IEditorReference; > import org.eclipse.ui.IMemento; > import org.eclipse.ui.IWorkbenchPage; >-import org.eclipse.ui.IWorkbenchPart; > import org.eclipse.ui.IWorkbenchWindow; > import org.eclipse.ui.PartInitException; > import org.eclipse.ui.PlatformUI; > import org.eclipse.ui.XMLMemento; >-import org.eclipse.ui.internal.EditorManager; > import org.eclipse.ui.internal.IPreferenceConstants; >-import org.eclipse.ui.internal.IWorkbenchConstants; > import org.eclipse.ui.internal.Workbench; > import org.eclipse.ui.internal.WorkbenchPage; > import org.eclipse.ui.internal.WorkbenchWindow; >@@ -80,8 +74,9 @@ > > private static final String ATTRIBUTE_IS_ACTIVE = "isActive"; //$NON-NLS-1$ > >- private boolean previousCloseEditorsSetting = Workbench.getInstance().getPreferenceStore().getBoolean( >- IPreferenceConstants.REUSE_EDITORS_BOOLEAN); >+ private boolean previousCloseEditorsSetting = Workbench.getInstance() >+ .getPreferenceStore() >+ .getBoolean(IPreferenceConstants.REUSE_EDITORS_BOOLEAN); > > private final IPreferenceStore preferenceStore; > >@@ -119,8 +114,9 @@ > > public void openEditorsFromMemento(IInteractionContext context) { > if (!Workbench.getInstance().isStarting() >- && ContextUiPlugin.getDefault().getPreferenceStore().getBoolean( >- IContextUiPreferenceContstants.AUTO_MANAGE_EDITORS) && !TaskMigrator.isActive()) { >+ && ContextUiPlugin.getDefault() >+ .getPreferenceStore() >+ .getBoolean(IContextUiPreferenceContstants.AUTO_MANAGE_EDITORS) && !TaskMigrator.isActive()) { > Workbench workbench = (Workbench) PlatformUI.getWorkbench(); > previousCloseEditorsSetting = workbench.getPreferenceStore().getBoolean( > IPreferenceConstants.REUSE_EDITORS_BOOLEAN); >@@ -232,8 +228,9 @@ > > public void closeEditorsAndSaveMemento(IInteractionContext context) { > if (!PlatformUI.getWorkbench().isClosing() >- && ContextUiPlugin.getDefault().getPreferenceStore().getBoolean( >- IContextUiPreferenceContstants.AUTO_MANAGE_EDITORS) && !TaskMigrator.isActive()) { >+ && ContextUiPlugin.getDefault() >+ .getPreferenceStore() >+ .getBoolean(IContextUiPreferenceContstants.AUTO_MANAGE_EDITORS) && !TaskMigrator.isActive()) { > closeAllButActiveTaskEditor(context.getHandleIdentifier()); > > XMLMemento rootMemento = XMLMemento.createWriteRoot(KEY_CONTEXT_EDITORS); >@@ -253,7 +250,7 @@ > memento.putInteger(ATTRIBUTE_NUMER, number); > memento.putBoolean(ATTRIBUTE_IS_LAUNCHING, window == launchingWindow); > memento.putBoolean(ATTRIBUTE_IS_ACTIVE, window == activeWindow); >- ((WorkbenchPage) window.getActivePage()).getEditorManager().saveState(memento); >+// ((WorkbenchPage) window.getActivePage()).getEditorManager().saveState(memento); > } > // TODO: avoid storing with preferences due to bloat? > StringWriter writer = new StringWriter(); >@@ -265,8 +262,9 @@ > e)); > } > >- Workbench.getInstance().getPreferenceStore().setValue(IPreferenceConstants.REUSE_EDITORS_BOOLEAN, >- previousCloseEditorsSetting); >+ Workbench.getInstance() >+ .getPreferenceStore() >+ .setValue(IPreferenceConstants.REUSE_EDITORS_BOOLEAN, previousCloseEditorsSetting); > closeAllEditors(); > } > } >@@ -292,8 +290,9 @@ > StatusHandler.log(new Status(IStatus.ERROR, ContextUiPlugin.ID_PLUGIN, "Could not store editor state", e)); //$NON-NLS-1$ > } > >- Workbench.getInstance().getPreferenceStore().setValue(IPreferenceConstants.REUSE_EDITORS_BOOLEAN, >- previousCloseEditorsSetting); >+ Workbench.getInstance() >+ .getPreferenceStore() >+ .setValue(IPreferenceConstants.REUSE_EDITORS_BOOLEAN, previousCloseEditorsSetting); > if (closeEditors) { > closeAllEditors(); > } >@@ -304,43 +303,43 @@ > */ > @SuppressWarnings("unchecked") > private void restoreEditors(WorkbenchPage page, IMemento memento, boolean isActiveWindow) { >- EditorManager editorManager = page.getEditorManager(); >- final ArrayList visibleEditors = new ArrayList(5); >- final IEditorReference activeEditor[] = new IEditorReference[1]; >- final MultiStatus result = new MultiStatus(PlatformUI.PLUGIN_ID, IStatus.OK, "", null); //$NON-NLS-1$ >- >- try { >- IMemento[] editorMementos = memento.getChildren(IWorkbenchConstants.TAG_EDITOR); >- Set<IMemento> editorMementoSet = new HashSet<IMemento>(); >- editorMementoSet.addAll(Arrays.asList(editorMementos)); >- // HACK: same parts could have different editors >- Set<String> restoredPartNames = new HashSet<String>(); >- List<IEditorReference> alreadyVisibleEditors = Arrays.asList(editorManager.getEditors()); >- for (IEditorReference editorReference : alreadyVisibleEditors) { >- restoredPartNames.add(editorReference.getPartName()); >- } >- for (IMemento editorMemento : editorMementoSet) { >- String partName = editorMemento.getString(IWorkbenchConstants.TAG_PART_NAME); >- if (!restoredPartNames.contains(partName)) { >- editorManager.restoreEditorState(editorMemento, visibleEditors, activeEditor, result); >- } else { >- restoredPartNames.add(partName); >- } >- } >- >- for (int i = 0; i < visibleEditors.size(); i++) { >- editorManager.setVisibleEditor((IEditorReference) visibleEditors.get(i), false); >- } >- >- if (activeEditor[0] != null && isActiveWindow) { >- IWorkbenchPart editor = activeEditor[0].getPart(true); >- if (editor != null) { >- page.activate(editor); >- } >- } >- } catch (Exception e) { >- StatusHandler.log(new Status(IStatus.ERROR, ContextUiPlugin.ID_PLUGIN, "Could not restore editors", e)); //$NON-NLS-1$ >- } >+// EditorManager editorManager = page.getEditorManager(); >+// final ArrayList visibleEditors = new ArrayList(5); >+// final IEditorReference activeEditor[] = new IEditorReference[1]; >+// final MultiStatus result = new MultiStatus(PlatformUI.PLUGIN_ID, IStatus.OK, "", null); //$NON-NLS-1$ >+// >+// try { >+// IMemento[] editorMementos = memento.getChildren(IWorkbenchConstants.TAG_EDITOR); >+// Set<IMemento> editorMementoSet = new HashSet<IMemento>(); >+// editorMementoSet.addAll(Arrays.asList(editorMementos)); >+// // HACK: same parts could have different editors >+// Set<String> restoredPartNames = new HashSet<String>(); >+// List<IEditorReference> alreadyVisibleEditors = Arrays.asList(editorManager.getEditors()); >+// for (IEditorReference editorReference : alreadyVisibleEditors) { >+// restoredPartNames.add(editorReference.getPartName()); >+// } >+// for (IMemento editorMemento : editorMementoSet) { >+// String partName = editorMemento.getString(IWorkbenchConstants.TAG_PART_NAME); >+// if (!restoredPartNames.contains(partName)) { >+// editorManager.restoreEditorState(editorMemento, visibleEditors, activeEditor, result); >+// } else { >+// restoredPartNames.add(partName); >+// } >+// } >+// >+// for (int i = 0; i < visibleEditors.size(); i++) { >+// editorManager.setVisibleEditor((IEditorReference) visibleEditors.get(i), false); >+// } >+// >+// if (activeEditor[0] != null && isActiveWindow) { >+// IWorkbenchPart editor = activeEditor[0].getPart(true); >+// if (editor != null) { >+// page.activate(editor); >+// } >+// } >+// } catch (Exception e) { >+// StatusHandler.log(new Status(IStatus.ERROR, ContextUiPlugin.ID_PLUGIN, "Could not restore editors", e)); //$NON-NLS-1$ >+// } > } > > public void closeAllButActiveTaskEditor(String taskHandle) { >@@ -429,8 +428,9 @@ > } > > private void closeEditor(IInteractionElement element, boolean force) { >- if (ContextUiPlugin.getDefault().getPreferenceStore().getBoolean( >- IContextUiPreferenceContstants.AUTO_MANAGE_EDITORS)) { >+ if (ContextUiPlugin.getDefault() >+ .getPreferenceStore() >+ .getBoolean(IContextUiPreferenceContstants.AUTO_MANAGE_EDITORS)) { > if (force || !element.getInterest().isInteresting()) { > AbstractContextStructureBridge bridge = ContextCore.getStructureBridge(element.getContentType()); > if (bridge.isDocument(element.getHandleIdentifier())) { >Index: src/org/eclipse/mylyn/internal/context/ui/ContextPerspectiveManager.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.context.ui/src/org/eclipse/mylyn/internal/context/ui/ContextPerspectiveManager.java,v >retrieving revision 1.28 >diff -u -r1.28 ContextPerspectiveManager.java >--- src/org/eclipse/mylyn/internal/context/ui/ContextPerspectiveManager.java 8 Jun 2010 23:04:49 -0000 1.28 >+++ src/org/eclipse/mylyn/internal/context/ui/ContextPerspectiveManager.java 7 Sep 2010 23:05:40 -0000 >@@ -23,7 +23,6 @@ > import org.eclipse.ui.IWorkbenchPartReference; > import org.eclipse.ui.IWorkbenchWindow; > import org.eclipse.ui.PlatformUI; >-import org.eclipse.ui.internal.Perspective; > import org.eclipse.ui.internal.WorkbenchPage; > import org.eclipse.ui.internal.registry.IActionSetDescriptor; > >@@ -74,8 +73,9 @@ > public void taskDeactivated(ITask task) { > try { > if (PlatformUI.isWorkbenchRunning() >- && ContextUiPlugin.getDefault().getPreferenceStore().getBoolean( >- IContextUiPreferenceContstants.AUTO_MANAGE_PERSPECTIVES)) { >+ && ContextUiPlugin.getDefault() >+ .getPreferenceStore() >+ .getBoolean(IContextUiPreferenceContstants.AUTO_MANAGE_PERSPECTIVES)) { > IWorkbenchWindow launchingWindow = getWorkbenchWindow(); > if (launchingWindow != null) { > IPerspectiveDescriptor descriptor = launchingWindow.getActivePage().getPerspective(); >@@ -93,8 +93,9 @@ > private void showPerspective(String perspectiveId) { > if (perspectiveId != null > && perspectiveId.length() > 0 >- && ContextUiPlugin.getDefault().getPreferenceStore().getBoolean( >- IContextUiPreferenceContstants.AUTO_MANAGE_PERSPECTIVES)) { >+ && ContextUiPlugin.getDefault() >+ .getPreferenceStore() >+ .getBoolean(IContextUiPreferenceContstants.AUTO_MANAGE_PERSPECTIVES)) { > IWorkbenchWindow launchingWindow = getWorkbenchWindow(); > try { > if (launchingWindow != null) { >@@ -155,7 +156,7 @@ > private void cleanActionSets(IWorkbenchPage page, IPerspectiveDescriptor perspectiveDescriptor) { > if (managedPerspectiveIds.contains(perspectiveDescriptor.getId())) { > if (page instanceof WorkbenchPage) { >- Perspective perspective = ((WorkbenchPage) page).getActivePerspective(); >+ IPerspectiveDescriptor perspective = ((WorkbenchPage) page).getPerspective(); > > Set<IActionSetDescriptor> toRemove = new HashSet<IActionSetDescriptor>(); > IActionSetDescriptor[] actionSetDescriptors = ((WorkbenchPage) page).getActionSets(); >@@ -164,7 +165,7 @@ > toRemove.add(actionSetDescriptor); > } > } >- perspective.turnOffActionSets(toRemove.toArray(new IActionSetDescriptor[toRemove.size()])); >+// perspective.turnOffActionSets(toRemove.toArray(new IActionSetDescriptor[toRemove.size()])); > } > } > } >@@ -200,8 +201,9 @@ > */ > private void setPerspectiveIdFor(ITask task, String perspectiveId) { > if (task != null) { >- preferenceStore.setValue(IContextUiPreferenceContstants.PREFIX_TASK_TO_PERSPECTIVE >- + task.getHandleIdentifier(), perspectiveId); >+ preferenceStore.setValue( >+ IContextUiPreferenceContstants.PREFIX_TASK_TO_PERSPECTIVE + task.getHandleIdentifier(), >+ perspectiveId); > } else { > preferenceStore.setValue(IContextUiPreferenceContstants.PERSPECTIVE_NO_ACTIVE_TASK, perspectiveId); > } >#P org.eclipse.mylyn.monitor.tests >Index: src/org/eclipse/mylyn/monitor/tests/AllMonitorTests.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.monitor.tests/src/org/eclipse/mylyn/monitor/tests/AllMonitorTests.java,v >retrieving revision 1.27 >diff -u -r1.27 AllMonitorTests.java >--- src/org/eclipse/mylyn/monitor/tests/AllMonitorTests.java 8 Jun 2010 23:05:58 -0000 1.27 >+++ src/org/eclipse/mylyn/monitor/tests/AllMonitorTests.java 7 Sep 2010 23:05:41 -0000 >@@ -32,7 +32,6 @@ > suite.addTestSuite(MonitorTest.class); > suite.addTestSuite(InteractionEventExternalizationTest.class); > suite.addTestSuite(MonitorPackagingTest.class); >- suite.addTestSuite(MultiWindowMonitorTest.class); > suite.addTestSuite(ActivityContextManagerTest.class); > return suite; > } >Index: src/org/eclipse/mylyn/monitor/tests/MultiWindowMonitorTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.monitor.tests/src/org/eclipse/mylyn/monitor/tests/MultiWindowMonitorTest.java,v >retrieving revision 1.20 >diff -u -r1.20 MultiWindowMonitorTest.java >--- src/org/eclipse/mylyn/monitor/tests/MultiWindowMonitorTest.java 8 Jun 2010 23:05:58 -0000 1.20 >+++ src/org/eclipse/mylyn/monitor/tests/MultiWindowMonitorTest.java 7 Sep 2010 23:05:41 -0000 >@@ -1,240 +1,240 @@ >-/******************************************************************************* >- * Copyright (c) 2004, 2009 Tasktop Technologies and others. >- * All rights reserved. This program and the accompanying materials >- * are made available under the terms of the Eclipse Public License v1.0 >- * which accompanies this distribution, and is available at >- * http://www.eclipse.org/legal/epl-v10.html >- * >- * Contributors: >- * Brian de Alwis - initial API and implementation >- * Tasktop Technologies - improvements >- *******************************************************************************/ >- >-package org.eclipse.mylyn.monitor.tests; >- >-import java.io.File; >-import java.io.IOException; >-import java.lang.reflect.Field; >-import java.lang.reflect.Method; >- >-import junit.framework.TestCase; >- >-import org.eclipse.core.runtime.IStatus; >-import org.eclipse.jface.viewers.StructuredSelection; >-import org.eclipse.jface.window.Window; >-import org.eclipse.jface.window.WindowManager; >-import org.eclipse.mylyn.internal.monitor.ui.IMonitoredWindow; >-import org.eclipse.mylyn.internal.monitor.ui.MonitorUiPlugin; >-import org.eclipse.mylyn.internal.monitor.usage.InteractionEventLogger; >-import org.eclipse.mylyn.internal.monitor.usage.UiUsageMonitorPlugin; >-import org.eclipse.ui.IMemento; >-import org.eclipse.ui.IWorkbenchWindow; >-import org.eclipse.ui.PlatformUI; >-import org.eclipse.ui.XMLMemento; >-import org.eclipse.ui.internal.IWorkbenchConstants; >-import org.eclipse.ui.internal.Workbench; >-import org.eclipse.ui.internal.WorkbenchWindow; >- >-/** >- * @author Brian de Alwis >- * @author Mik Kersten >- * @author Shawn Minto >- */ >-public class MultiWindowMonitorTest extends TestCase { >- >- private class ContextAwareWorkbenchWindow extends WorkbenchWindow implements IMonitoredWindow { >- >- private boolean monitored = true; >- >- public ContextAwareWorkbenchWindow(int number, boolean monitored) { >- super(number); >- this.monitored = monitored; >- } >- >- public boolean isMonitored() { >- return monitored; >- } >- >- public boolean isPerspectiveManaged() { >- return false; >- } >- } >- >- private class MockWorkbench { >- private final Workbench wBench; >- >- private WindowManager parentManager = null; >- >- private MockWorkbench() { >- wBench = Workbench.getInstance(); >- >- Field wManagerField; >- try { >- wManagerField = Workbench.class.getDeclaredField("windowManager"); >- wManagerField.setAccessible(true); >- parentManager = (WindowManager) wManagerField.get(wBench); >- >- } catch (Exception e) { >- } >- } >- >- private int getNewWindowNumber() { >- Window[] windows = parentManager.getWindows(); >- int count = windows.length; >- >- boolean checkArray[] = new boolean[count]; >- for (int nX = 0; nX < count; nX++) { >- if (windows[nX] instanceof WorkbenchWindow) { >- WorkbenchWindow ww = (WorkbenchWindow) windows[nX]; >- int index = ww.getNumber() - 1; >- if (index >= 0 && index < count) { >- checkArray[index] = true; >- } >- } >- } >- >- for (int index = 0; index < count; index++) { >- if (!checkArray[index]) { >- return index + 1; >- } >- } >- return count + 1; >- } >- >- private ContextAwareWorkbenchWindow newWorkbenchWindow(boolean isMonitored) { >- return new ContextAwareWorkbenchWindow(getNewWindowNumber(), isMonitored); >- } >- >- public ContextAwareWorkbenchWindow restoreState(IMemento memento, boolean isMonitored) { >- >- ContextAwareWorkbenchWindow newWindow = newWorkbenchWindow(isMonitored); >- newWindow.create(); >- >- parentManager.add(newWindow); >- >- boolean opened = false; >- >- try { >- newWindow.restoreState(memento, null); >- newWindow.open(); >- opened = true; >- } finally { >- if (!opened) { >- newWindow.close(); >- } >- } >- >- return newWindow; >- } >- } >- >- private final InteractionEventLogger logger = UiUsageMonitorPlugin.getDefault().getInteractionLogger(); >- >- private MockSelectionMonitor selectionMonitor; >- >- private IWorkbenchWindow window1; >- >- private IWorkbenchWindow window2; >- >- private IWorkbenchWindow window3; >- >- private IWorkbenchWindow window4; >- >- private boolean monitoringWasEnabled; >- >- @Override >- protected void setUp() throws Exception { >- super.setUp(); >- selectionMonitor = new MockSelectionMonitor(); >- monitoringWasEnabled = UiUsageMonitorPlugin.getDefault().isMonitoringEnabled(); >- UiUsageMonitorPlugin.getDefault().stopMonitoring(); >- >- // make sure the MonitorUiPlugin is fully initialized >- while (PlatformUI.getWorkbench().getDisplay().readAndDispatch()) { >- } >- >- window1 = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); >- assertTrue(MonitorUiPlugin.getDefault().getMonitoredWindows().contains(window1)); >- window2 = duplicateWindow(window1); >- assertNotNull(window2); >- assertTrue(MonitorUiPlugin.getDefault().getMonitoredWindows().contains(window2)); >- window3 = createContextAwareWindow(true, window1); >- assertNotNull(window3); >- assertTrue(MonitorUiPlugin.getDefault().getMonitoredWindows().contains(window3)); >- window4 = createContextAwareWindow(false, window1); >- assertNotNull(window4); >- assertFalse(MonitorUiPlugin.getDefault().getMonitoredWindows().contains(window4)); >- } >- >- @Override >- protected void tearDown() throws Exception { >- super.tearDown(); >- window2.close(); >- window3.close(); >- window4.close(); >- if (monitoringWasEnabled) { >- UiUsageMonitorPlugin.getDefault().startMonitoring(); >- } >- if (selectionMonitor != null) { >- selectionMonitor.dispose(); >- } >- } >- >- protected void generateSelection(IWorkbenchWindow w) { >- selectionMonitor.selectionChanged(w.getActivePage().getActivePart(), new StructuredSelection("yo")); >- } >- >- public void testMultipleWindows() throws IOException { >- File monitorFile = UiUsageMonitorPlugin.getDefault().getMonitorLogFile(); >- logger.clearInteractionHistory(); >- assertEquals(0, logger.getHistoryFromFile(monitorFile).size()); >- >- generateSelection(window1); >- assertEquals(0, logger.getHistoryFromFile(monitorFile).size()); >- >- UiUsageMonitorPlugin.getDefault().startMonitoring(); >- generateSelection(window1); >- generateSelection(window2); >- generateSelection(window3); >- generateSelection(window4); >- assertEquals(3, logger.getHistoryFromFile(monitorFile).size()); >- } >- >- protected IWorkbenchWindow duplicateWindow(IWorkbenchWindow window) { >- WorkbenchWindow w = (WorkbenchWindow) window; >- XMLMemento memento = XMLMemento.createWriteRoot(IWorkbenchConstants.TAG_WINDOW); >- IStatus status = w.saveState(memento); >- if (!status.isOK()) { >- fail("failed to duplicate window: " + status); >- } >- return restoreWorkbenchWindow((Workbench) w.getWorkbench(), memento); >- } >- >- private IWorkbenchWindow createContextAwareWindow(boolean monitored, IWorkbenchWindow window) { >- WorkbenchWindow w = (WorkbenchWindow) window; >- XMLMemento memento = XMLMemento.createWriteRoot(IWorkbenchConstants.TAG_WINDOW); >- IStatus status = w.saveState(memento); >- if (!status.isOK()) { >- fail("failed to duplicate window: " + status); >- } >- return new MockWorkbench().restoreState(memento, monitored); >- } >- >- protected IWorkbenchWindow restoreWorkbenchWindow(Workbench workbench, IMemento memento) { >- return (IWorkbenchWindow) invokeMethod(workbench, "restoreWorkbenchWindow", new Class[] { IMemento.class }, >- new Object[] { memento }); >- } >- >- protected Object invokeMethod(Object instance, String methodName, Class<?> argTypes[], Object arguments[]) { >- Class<?> clas = instance.getClass(); >- try { >- Method method = clas.getDeclaredMethod(methodName, argTypes); >- method.setAccessible(true); >- return method.invoke(instance, arguments); >- } catch (Exception ex) { >- fail("exception during reflective invocation of " + clas.getName() + "." + methodName + ": " + ex); >- return null; >- } >- } >- >-} >+///******************************************************************************* >+// * Copyright (c) 2004, 2009 Tasktop Technologies and others. >+// * All rights reserved. This program and the accompanying materials >+// * are made available under the terms of the Eclipse Public License v1.0 >+// * which accompanies this distribution, and is available at >+// * http://www.eclipse.org/legal/epl-v10.html >+// * >+// * Contributors: >+// * Brian de Alwis - initial API and implementation >+// * Tasktop Technologies - improvements >+// *******************************************************************************/ >+// >+//package org.eclipse.mylyn.monitor.tests; >+// >+//import java.io.File; >+//import java.io.IOException; >+//import java.lang.reflect.Field; >+//import java.lang.reflect.Method; >+// >+//import junit.framework.TestCase; >+// >+//import org.eclipse.core.runtime.IStatus; >+//import org.eclipse.jface.viewers.StructuredSelection; >+//import org.eclipse.jface.window.Window; >+//import org.eclipse.jface.window.WindowManager; >+//import org.eclipse.mylyn.internal.monitor.ui.IMonitoredWindow; >+//import org.eclipse.mylyn.internal.monitor.ui.MonitorUiPlugin; >+//import org.eclipse.mylyn.internal.monitor.usage.InteractionEventLogger; >+//import org.eclipse.mylyn.internal.monitor.usage.UiUsageMonitorPlugin; >+//import org.eclipse.ui.IMemento; >+//import org.eclipse.ui.IWorkbenchWindow; >+//import org.eclipse.ui.PlatformUI; >+//import org.eclipse.ui.XMLMemento; >+//import org.eclipse.ui.internal.IWorkbenchConstants; >+//import org.eclipse.ui.internal.Workbench; >+//import org.eclipse.ui.internal.WorkbenchWindow; >+// >+///** >+// * @author Brian de Alwis >+// * @author Mik Kersten >+// * @author Shawn Minto >+// */ >+//public class MultiWindowMonitorTest extends TestCase { >+// >+// private class ContextAwareWorkbenchWindow extends WorkbenchWindow implements IMonitoredWindow { >+// >+// private boolean monitored = true; >+// >+// public ContextAwareWorkbenchWindow(int number, boolean monitored) { >+// super(number); >+// this.monitored = monitored; >+// } >+// >+// public boolean isMonitored() { >+// return monitored; >+// } >+// >+// public boolean isPerspectiveManaged() { >+// return false; >+// } >+// } >+// >+// private class MockWorkbench { >+// private final Workbench wBench; >+// >+// private WindowManager parentManager = null; >+// >+// private MockWorkbench() { >+// wBench = Workbench.getInstance(); >+// >+// Field wManagerField; >+// try { >+// wManagerField = Workbench.class.getDeclaredField("windowManager"); >+// wManagerField.setAccessible(true); >+// parentManager = (WindowManager) wManagerField.get(wBench); >+// >+// } catch (Exception e) { >+// } >+// } >+// >+// private int getNewWindowNumber() { >+// Window[] windows = parentManager.getWindows(); >+// int count = windows.length; >+// >+// boolean checkArray[] = new boolean[count]; >+// for (int nX = 0; nX < count; nX++) { >+// if (windows[nX] instanceof WorkbenchWindow) { >+// WorkbenchWindow ww = (WorkbenchWindow) windows[nX]; >+// int index = ww.getNumber() - 1; >+// if (index >= 0 && index < count) { >+// checkArray[index] = true; >+// } >+// } >+// } >+// >+// for (int index = 0; index < count; index++) { >+// if (!checkArray[index]) { >+// return index + 1; >+// } >+// } >+// return count + 1; >+// } >+// >+// private ContextAwareWorkbenchWindow newWorkbenchWindow(boolean isMonitored) { >+// return new ContextAwareWorkbenchWindow(getNewWindowNumber(), isMonitored); >+// } >+// >+// public ContextAwareWorkbenchWindow restoreState(IMemento memento, boolean isMonitored) { >+// >+// ContextAwareWorkbenchWindow newWindow = newWorkbenchWindow(isMonitored); >+// newWindow.create(); >+// >+// parentManager.add(newWindow); >+// >+// boolean opened = false; >+// >+// try { >+// newWindow.restoreState(memento, null); >+// newWindow.open(); >+// opened = true; >+// } finally { >+// if (!opened) { >+// newWindow.close(); >+// } >+// } >+// >+// return newWindow; >+// } >+// } >+// >+// private final InteractionEventLogger logger = UiUsageMonitorPlugin.getDefault().getInteractionLogger(); >+// >+// private MockSelectionMonitor selectionMonitor; >+// >+// private IWorkbenchWindow window1; >+// >+// private IWorkbenchWindow window2; >+// >+// private IWorkbenchWindow window3; >+// >+// private IWorkbenchWindow window4; >+// >+// private boolean monitoringWasEnabled; >+// >+// @Override >+// protected void setUp() throws Exception { >+// super.setUp(); >+// selectionMonitor = new MockSelectionMonitor(); >+// monitoringWasEnabled = UiUsageMonitorPlugin.getDefault().isMonitoringEnabled(); >+// UiUsageMonitorPlugin.getDefault().stopMonitoring(); >+// >+// // make sure the MonitorUiPlugin is fully initialized >+// while (PlatformUI.getWorkbench().getDisplay().readAndDispatch()) { >+// } >+// >+// window1 = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); >+// assertTrue(MonitorUiPlugin.getDefault().getMonitoredWindows().contains(window1)); >+// window2 = duplicateWindow(window1); >+// assertNotNull(window2); >+// assertTrue(MonitorUiPlugin.getDefault().getMonitoredWindows().contains(window2)); >+// window3 = createContextAwareWindow(true, window1); >+// assertNotNull(window3); >+// assertTrue(MonitorUiPlugin.getDefault().getMonitoredWindows().contains(window3)); >+// window4 = createContextAwareWindow(false, window1); >+// assertNotNull(window4); >+// assertFalse(MonitorUiPlugin.getDefault().getMonitoredWindows().contains(window4)); >+// } >+// >+// @Override >+// protected void tearDown() throws Exception { >+// super.tearDown(); >+// window2.close(); >+// window3.close(); >+// window4.close(); >+// if (monitoringWasEnabled) { >+// UiUsageMonitorPlugin.getDefault().startMonitoring(); >+// } >+// if (selectionMonitor != null) { >+// selectionMonitor.dispose(); >+// } >+// } >+// >+// protected void generateSelection(IWorkbenchWindow w) { >+// selectionMonitor.selectionChanged(w.getActivePage().getActivePart(), new StructuredSelection("yo")); >+// } >+// >+// public void testMultipleWindows() throws IOException { >+// File monitorFile = UiUsageMonitorPlugin.getDefault().getMonitorLogFile(); >+// logger.clearInteractionHistory(); >+// assertEquals(0, logger.getHistoryFromFile(monitorFile).size()); >+// >+// generateSelection(window1); >+// assertEquals(0, logger.getHistoryFromFile(monitorFile).size()); >+// >+// UiUsageMonitorPlugin.getDefault().startMonitoring(); >+// generateSelection(window1); >+// generateSelection(window2); >+// generateSelection(window3); >+// generateSelection(window4); >+// assertEquals(3, logger.getHistoryFromFile(monitorFile).size()); >+// } >+// >+// protected IWorkbenchWindow duplicateWindow(IWorkbenchWindow window) { >+// WorkbenchWindow w = (WorkbenchWindow) window; >+// XMLMemento memento = XMLMemento.createWriteRoot(IWorkbenchConstants.TAG_WINDOW); >+// IStatus status = w.saveState(memento); >+// if (!status.isOK()) { >+// fail("failed to duplicate window: " + status); >+// } >+// return restoreWorkbenchWindow((Workbench) w.getWorkbench(), memento); >+// } >+// >+// private IWorkbenchWindow createContextAwareWindow(boolean monitored, IWorkbenchWindow window) { >+// WorkbenchWindow w = (WorkbenchWindow) window; >+// XMLMemento memento = XMLMemento.createWriteRoot(IWorkbenchConstants.TAG_WINDOW); >+// IStatus status = w.saveState(memento); >+// if (!status.isOK()) { >+// fail("failed to duplicate window: " + status); >+// } >+// return new MockWorkbench().restoreState(memento, monitored); >+// } >+// >+// protected IWorkbenchWindow restoreWorkbenchWindow(Workbench workbench, IMemento memento) { >+// return (IWorkbenchWindow) invokeMethod(workbench, "restoreWorkbenchWindow", new Class[] { IMemento.class }, >+// new Object[] { memento }); >+// } >+// >+// protected Object invokeMethod(Object instance, String methodName, Class<?> argTypes[], Object arguments[]) { >+// Class<?> clas = instance.getClass(); >+// try { >+// Method method = clas.getDeclaredMethod(methodName, argTypes); >+// method.setAccessible(true); >+// return method.invoke(instance, arguments); >+// } catch (Exception ex) { >+// fail("exception during reflective invocation of " + clas.getName() + "." + methodName + ": " + ex); >+// return null; >+// } >+// } >+// >+//} >#P org.eclipse.mylyn.sandbox.tests >Index: src/org/eclipse/mylyn/sandbox/tests/ActiveSearchTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/sandbox/org.eclipse.mylyn.sandbox.tests/src/org/eclipse/mylyn/sandbox/tests/ActiveSearchTest.java,v >retrieving revision 1.7 >diff -u -r1.7 ActiveSearchTest.java >--- src/org/eclipse/mylyn/sandbox/tests/ActiveSearchTest.java 8 Jun 2010 23:05:54 -0000 1.7 >+++ src/org/eclipse/mylyn/sandbox/tests/ActiveSearchTest.java 7 Sep 2010 23:06:14 -0000 >@@ -33,11 +33,11 @@ > import org.eclipse.mylyn.java.tests.AbstractJavaContextTest; > import org.eclipse.mylyn.java.tests.search.SearchPluginTestHelper; > import org.eclipse.swt.widgets.TreeItem; >+import org.eclipse.ui.IPerspectiveDescriptor; > import org.eclipse.ui.IViewReference; > import org.eclipse.ui.IWorkbenchPart; > import org.eclipse.ui.PartInitException; > import org.eclipse.ui.PlatformUI; >-import org.eclipse.ui.internal.Perspective; > import org.eclipse.ui.internal.WorkbenchPage; > > /** >@@ -93,11 +93,11 @@ > } > JavaPlugin.getActivePage().showView("org.eclipse.ui.views.ProblemView"); > >- Perspective perspective = ((WorkbenchPage) JavaPlugin.getActivePage()).getActivePerspective(); >+ IPerspectiveDescriptor perspective = ((WorkbenchPage) JavaPlugin.getActivePage()).getPerspective(); > IViewReference reference = JavaPlugin.getActivePage().findViewReference(ActiveSearchView.ID); > assertNotNull(reference); > // assertTrue(perspective.canCloseView(view)); >- assertTrue(perspective.hideView(reference)); >+// assertTrue(perspective.hideView(reference)); > > for (AbstractRelationProvider provider : ContextCorePlugin.getDefault().getRelationProviders()) { > assertFalse(provider.isEnabled()); >#P org.eclipse.mylyn.tasks.ui >Index: src/org/eclipse/mylyn/internal/tasks/ui/PlanningPerspectiveFactory.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/PlanningPerspectiveFactory.java,v >retrieving revision 1.18 >diff -u -r1.18 PlanningPerspectiveFactory.java >--- src/org/eclipse/mylyn/internal/tasks/ui/PlanningPerspectiveFactory.java 2 Dec 2009 20:08:32 -0000 1.18 >+++ src/org/eclipse/mylyn/internal/tasks/ui/PlanningPerspectiveFactory.java 7 Sep 2010 23:06:16 -0000 >@@ -11,13 +11,10 @@ > > package org.eclipse.mylyn.internal.tasks.ui; > >-import java.util.ArrayList; >- > import org.eclipse.mylyn.tasks.ui.ITasksUiConstants; > import org.eclipse.ui.IFolderLayout; > import org.eclipse.ui.IPageLayout; > import org.eclipse.ui.IPerspectiveFactory; >-import org.eclipse.ui.internal.PageLayout; > > /** > * @author Mik Kersten >@@ -60,9 +57,9 @@ > } > > public static void removeUninterestingActionSets(IPageLayout layout) { >- ArrayList<?> actionSets = ((PageLayout) layout).getActionSets(); >- actionSets.remove("org.eclipse.ui.edit.text.actionSet.annotationNavigation"); //$NON-NLS-1$ >- actionSets.remove("org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo"); //$NON-NLS-1$ >- actionSets.remove("org.eclipse.ui.externaltools.ExternalToolsSet"); //$NON-NLS-1$ >+// ArrayList<?> actionSets = (layout).getActionSets(); >+// actionSets.remove("org.eclipse.ui.edit.text.actionSet.annotationNavigation"); //$NON-NLS-1$ >+// actionSets.remove("org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo"); //$NON-NLS-1$ >+// actionSets.remove("org.eclipse.ui.externaltools.ExternalToolsSet"); //$NON-NLS-1$ > } > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/editors/EditorUtil.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/EditorUtil.java,v >retrieving revision 1.42 >diff -u -r1.42 EditorUtil.java >--- src/org/eclipse/mylyn/internal/tasks/ui/editors/EditorUtil.java 8 Jun 2010 23:10:07 -0000 1.42 >+++ src/org/eclipse/mylyn/internal/tasks/ui/editors/EditorUtil.java 7 Sep 2010 23:06:16 -0000 >@@ -68,7 +68,6 @@ > import org.eclipse.ui.forms.widgets.ScrolledForm; > import org.eclipse.ui.forms.widgets.Section; > import org.eclipse.ui.forms.widgets.SharedScrolledComposite; >-import org.eclipse.ui.internal.EditorAreaHelper; > import org.eclipse.ui.internal.WorkbenchPage; > import org.eclipse.ui.internal.forms.widgets.FormUtil; > >@@ -363,7 +362,9 @@ > Composite layoutAdvisor = page.getEditorComposite(); > do { > layoutAdvisor = layoutAdvisor.getParent(); >- } while (!(layoutAdvisor instanceof CTabFolder)); >+ } while (!(layoutAdvisor instanceof CTabFolder || layoutAdvisor.getClass() >+ .getName() >+ .equals("org.eclipse.e4.ui.widgets.CTabFolder"))); > return layoutAdvisor.getParent(); > } > >@@ -488,9 +489,9 @@ > } > if (widthHint <= 0 && page.getEditor().getEditorSite() != null > && page.getEditor().getEditorSite().getPage() != null) { >- EditorAreaHelper editorManager = ((WorkbenchPage) page.getEditor().getEditorSite().getPage()).getEditorPresentation(); >- if (editorManager != null && editorManager.getLayoutPart() != null) { >- widthHint = editorManager.getLayoutPart().getControl().getBounds().width - 90; >+ Composite editorManager = ((WorkbenchPage) page.getEditor().getEditorSite().getPage()).getClientComposite(); >+ if (editorManager != null) { >+ widthHint = editorManager.getBounds().width - 90; > } > } > if (widthHint <= 0) { >Index: src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorNotesPart.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorNotesPart.java,v >retrieving revision 1.8 >diff -u -r1.8 TaskEditorNotesPart.java >--- src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorNotesPart.java 8 Jun 2010 23:10:07 -0000 1.8 >+++ src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorNotesPart.java 7 Sep 2010 23:06:16 -0000 >@@ -25,7 +25,6 @@ > import org.eclipse.swt.widgets.Composite; > import org.eclipse.ui.forms.widgets.FormToolkit; > import org.eclipse.ui.forms.widgets.Section; >-import org.eclipse.ui.internal.EditorAreaHelper; > import org.eclipse.ui.internal.WorkbenchPage; > > /** >@@ -108,9 +107,9 @@ > } > if (widthHint <= 0 && getTaskEditorPage().getEditor().getEditorSite() != null > && getTaskEditorPage().getEditor().getEditorSite().getPage() != null) { >- EditorAreaHelper editorManager = ((WorkbenchPage) getTaskEditorPage().getEditor().getEditorSite().getPage()).getEditorPresentation(); >- if (editorManager != null && editorManager.getLayoutPart() != null) { >- widthHint = editorManager.getLayoutPart().getControl().getBounds().width - 90; >+ Composite editorManager = (((WorkbenchPage) getTaskEditorPage().getEditor().getEditorSite().getPage())).getClientComposite(); >+ if (editorManager != null) { >+ widthHint = editorManager.getBounds().width - 90; > } > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 321278
: 178366 |
199458
|
199459