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 64188 Details for
Bug 175507
[Decorators] Open Resource dialog should support decorators
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]
Proposition of changes
patch_175507_20070418.txt (text/plain), 3.39 KB, created by
Krzysztof Michalski
on 2007-04-18 09:56:55 EDT
(
hide
)
Description:
Proposition of changes
Filename:
MIME Type:
Creator:
Krzysztof Michalski
Created:
2007-04-18 09:56:55 EDT
Size:
3.39 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.ui.workbench >Index: Eclipse UI/org/eclipse/ui/dialogs/FilteredItemsSelectionDialog.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FilteredItemsSelectionDialog.java,v >retrieving revision 1.38 >diff -u -r1.38 FilteredItemsSelectionDialog.java >--- Eclipse UI/org/eclipse/ui/dialogs/FilteredItemsSelectionDialog.java 29 Mar 2007 18:45:45 -0000 1.38 >+++ Eclipse UI/org/eclipse/ui/dialogs/FilteredItemsSelectionDialog.java 18 Apr 2007 13:44:19 -0000 >@@ -87,6 +87,7 @@ > import org.eclipse.swt.widgets.Label; > import org.eclipse.swt.widgets.Menu; > import org.eclipse.swt.widgets.Shell; >+import org.eclipse.swt.widgets.Table; > import org.eclipse.swt.widgets.Text; > import org.eclipse.swt.widgets.ToolBar; > import org.eclipse.swt.widgets.ToolItem; >@@ -808,8 +809,7 @@ > public void refresh() { > if (list != null && !list.getTable().isDisposed()) { > >- list.setItemCount(contentProvider.getElements(null).length); >- list.refresh(); >+ contentProvider.internalRefresh(); > > if (list.getTable().getItemCount() > 0) { > list.getTable().setSelection(0); >@@ -2369,6 +2369,14 @@ > * <code>items -> lastSortedItems -> lastFilteredItems</code> > */ > private List lastSortedItems; >+ >+ /** >+ * Next to result od lastfiltering. >+ * <p> >+ * Standard object flow: >+ * <code>items -> lastSortedItems -> lastFilteredItems -> nextToLastFilteredItems</code> >+ */ >+ private List nextToLastFilteredItems; > > /** > * Used for <code>getFilteredItems()</code> method canceling (when the >@@ -2401,6 +2409,8 @@ > .synchronizedList(new ArrayList(2048)); > this.lastSortedItems = Collections.synchronizedList(new ArrayList( > 2048)); >+ this.nextToLastFilteredItems = Collections.synchronizedList(new ArrayList( >+ 2048)); > } > > /** >@@ -2488,6 +2498,50 @@ > public void refresh() { > scheduleRefresh(); > } >+ >+ /** >+ * Refresh filtered items. >+ */ >+ private void internalRefresh() { >+ >+ int lastFilteredItemsSize = lastFilteredItems.size(); >+ >+ if (lastFilteredItemsSize != items.size()) >+ reloadCache(false, null); >+ >+ Table table = list.getTable(); >+ >+ if (table.getItemCount() == 0 || lastFilteredItemsSize == 0 >+ || lastCompletedFilter == null) { >+ list.refresh(true); >+ } else { >+ for (int index = 0; index < lastFilteredItems.size(); index++) { >+ Object element = lastFilteredItems.get(index); >+ if (element != null) { >+ if (nextToLastFilteredItems.contains(element) && nextToLastFilteredItems.size() >= lastFilteredItems.size()) { >+ for (int i = nextToLastFilteredItems.indexOf(element) - 1; i >= index; i--) { >+ Object elementToRemove = nextToLastFilteredItems.get(i); >+ list.remove(elementToRemove); >+ nextToLastFilteredItems.remove(i); >+ list.setItemCount(nextToLastFilteredItems.size()); >+ } >+ } else { >+ if (index >= table.getItemCount()) { >+ list.add(element); >+ } else { >+ list.replace(element, index); >+ } >+ } >+ } >+ } >+ } >+ >+ list.setItemCount(lastFilteredItems.size()); >+ table.update(); >+ >+ nextToLastFilteredItems.clear(); >+ nextToLastFilteredItems.addAll(lastFilteredItems); >+ } > > /** > * Sets progress message.
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 175507
:
59877
|
62480
|
63110
| 64188