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 134340 Details for
Bug 274904
[api] support deletion of multiple interaction elements
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]
additional improvments
mylyn.remove.invisible.patch.additional.txt (text/plain), 6.20 KB, created by
Shawn Minto
on 2009-05-04 18:41:13 EDT
(
hide
)
Description:
additional improvments
Filename:
MIME Type:
Creator:
Shawn Minto
Created:
2009-05-04 18:41:13 EDT
Size:
6.20 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.mylyn.context.ui >Index: src/org/eclipse/mylyn/internal/context/ui/FocusedViewerManager.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.context.ui/src/org/eclipse/mylyn/internal/context/ui/FocusedViewerManager.java,v >retrieving revision 1.40 >diff -u -r1.40 FocusedViewerManager.java >--- src/org/eclipse/mylyn/internal/context/ui/FocusedViewerManager.java 1 May 2009 22:59:19 -0000 1.40 >+++ src/org/eclipse/mylyn/internal/context/ui/FocusedViewerManager.java 4 May 2009 22:33:53 -0000 >@@ -241,16 +241,28 @@ > * TODO: consider making this work per-element and parent > * Should we collect all parents before calling refresh? > */ >- ArrayList<IInteractionElement> toRefresh = new ArrayList<IInteractionElement>(); >- for (IInteractionElement interactionElement : event.getElements()) { >- AbstractContextStructureBridge structureBridge = ContextCore.getStructureBridge(interactionElement.getContentType()); >- IInteractionElement parent = ContextCore.getContextManager().getElement( >- structureBridge.getParentHandle(interactionElement.getHandleIdentifier())); >- if (parent != null) { >- toRefresh.add(parent); >+ if (ContextCore.getContextManager().getActiveContext() != null >+ && event.getElements().size() > ContextCore.getContextManager() >+ .getActiveContext() >+ .getInteresting() >+ .size()) { >+ // probably quicker to refresh the entire view if more than half of the elements in the context deleted >+ refreshViewers((IInteractionElement) null, false); >+ } else { >+ ArrayList<IInteractionElement> toRefresh = new ArrayList<IInteractionElement>(); >+ >+ for (IInteractionElement interactionElement : event.getElements()) { >+ AbstractContextStructureBridge structureBridge = ContextCore.getStructureBridge(interactionElement.getContentType()); >+ IInteractionElement parent = ContextCore.getContextManager().getElement( >+ structureBridge.getParentHandle(interactionElement.getHandleIdentifier())); >+ if (parent != null) { >+ toRefresh.add(parent); >+ } >+ } >+ if (toRefresh.size() != 0) { >+ refreshViewers(toRefresh, false); > } > } >- refreshViewers(toRefresh, false); > > break; > } >@@ -290,7 +302,7 @@ > refreshViewer(nodesToRefresh, updateLabels, viewer); > } > } catch (Throwable t) { >- StatusHandler.log(new Status(IStatus.ERROR, ContextUiPlugin.ID_PLUGIN, "Could not refresh viewer", t)); //$NON-NLS-1$ >+ StatusHandler.log(new Status(IStatus.ERROR, ContextUiPlugin.ID_PLUGIN, "Could not refresh viewer", t)); > } > } > >@@ -305,7 +317,7 @@ > } > FocusedViewerDelayedRefreshJob job = refreshJobs.get(viewer); > if (job == null) { >- job = new FocusedViewerDelayedRefreshJob(viewer, "refresh viewer", updateLabels); //$NON-NLS-1$ >+ job = new FocusedViewerDelayedRefreshJob(viewer, "refresh viewer", updateLabels); > refreshJobs.put(viewer, job); > } > job.refreshElements(nodesToRefresh.toArray()); >@@ -337,7 +349,7 @@ > if (!internalExpandExceptionLogged) { > internalExpandExceptionLogged = true; > StatusHandler.log(new Status(IStatus.ERROR, ContextUiPlugin.ID_PLUGIN, >- "Failed to verify expansion state, falling back to expanding all nodes", e)); //$NON-NLS-1$ >+ "Failed to verify expansion state, falling back to expanding all nodes", e)); > } > failed = true; > } >Index: src/org/eclipse/mylyn/internal/context/ui/editors/ContextEditorFormPage.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.context.ui/src/org/eclipse/mylyn/internal/context/ui/editors/ContextEditorFormPage.java,v >retrieving revision 1.73 >diff -u -r1.73 ContextEditorFormPage.java >--- src/org/eclipse/mylyn/internal/context/ui/editors/ContextEditorFormPage.java 1 May 2009 22:59:18 -0000 1.73 >+++ src/org/eclipse/mylyn/internal/context/ui/editors/ContextEditorFormPage.java 4 May 2009 22:33:53 -0000 >@@ -451,7 +451,14 @@ > private void refresh(List<IInteractionElement> elements) { > createRefreshJob(); > if (refreshJob != null) { >- refreshJob.doRefresh(elements.toArray()); >+ if (ContextCore.getContextManager().getActiveContext() != null >+ && elements.size() > ContextCore.getContextManager().getActiveContext().getInteresting().size()) { >+ // cheaper to refresh the root at this point >+ refreshJob.doRefresh(null); >+ } else { >+ refreshJob.doRefresh(elements.toArray()); >+ >+ } > } > } > >#P org.eclipse.mylyn.java.ui >Index: src/org/eclipse/mylyn/internal/java/ui/TypeHistoryManager.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/TypeHistoryManager.java,v >retrieving revision 1.16 >diff -u -r1.16 TypeHistoryManager.java >--- src/org/eclipse/mylyn/internal/java/ui/TypeHistoryManager.java 1 May 2009 22:59:24 -0000 1.16 >+++ src/org/eclipse/mylyn/internal/java/ui/TypeHistoryManager.java 4 May 2009 22:33:54 -0000 >@@ -23,6 +23,7 @@ > import org.eclipse.mylyn.commons.core.StatusHandler; > import org.eclipse.mylyn.context.core.AbstractContextListener; > import org.eclipse.mylyn.context.core.ContextChangeEvent; >+import org.eclipse.mylyn.context.core.ContextCore; > import org.eclipse.mylyn.context.core.IInteractionElement; > > /** >@@ -54,8 +55,20 @@ > } > break; > case ELEMENTS_DELETED: >- for (IInteractionElement element : event.getElements()) { >- updateTypeHistory(element, false); >+ if (ContextCore.getContextManager().getActiveContext() != null >+ && event.getElements().size() > ContextCore.getContextManager() >+ .getActiveContext() >+ .getInteresting() >+ .size()) { >+ // rebuild as it will take longer to remove all of the deleted nodes >+ clearTypeHistory(); >+ for (IInteractionElement node : ContextCore.getContextManager().getActiveContext().getInteresting()) { >+ updateTypeHistory(node, true); >+ } >+ } else { >+ for (IInteractionElement element : event.getElements()) { >+ updateTypeHistory(element, false); >+ } > } > break; > }
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 274904
:
134337
|
134338
| 134340