diff options
author | ddunne | 2009-01-06 23:30:14 +0000 |
---|---|---|
committer | ddunne | 2009-01-06 23:30:14 +0000 |
commit | ad8ede7cd6b2561ec0d7bf732f860f463c566934 (patch) | |
tree | 2ad09a4f2aee0081900630871eb914eefab5a451 | |
parent | 72e2dc15093427c83393315dd35372155da3dcb9 (diff) | |
download | org.eclipse.osee-ad8ede7cd6b2561ec0d7bf732f860f463c566934.tar.gz org.eclipse.osee-ad8ede7cd6b2561ec0d7bf732f860f463c566934.tar.xz org.eclipse.osee-ad8ede7cd6b2561ec0d7bf732f860f463c566934.zip |
Fixed refreshing upon events
6 files changed, 55 insertions, 23 deletions
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskXViewer.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskXViewer.java index 58e372991a7..7c02cf4971a 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskXViewer.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskXViewer.java @@ -119,7 +119,7 @@ public class TaskXViewer extends WorldXViewer { } public void removeTask(final Collection<TaskArtifact> artifacts) { - ((WorldContentProvider) getContentProvider()).remove(artifacts); + ((WorldContentProvider) getContentProvider()).removeAll(artifacts); } public TaskArtifact getSelectedTaskArtifact() { @@ -406,7 +406,7 @@ public class TaskXViewer extends WorldXViewer { WorldContentProvider contentProvider = (WorldContentProvider) xTaskViewer.getTaskXViewer().getContentProvider(); if (contentProvider != null) { - contentProvider.remove(loadedArtifacts.getLoadedArtifacts()); + contentProvider.removeAll(loadedArtifacts.getLoadedArtifacts()); } } catch (Exception ex) { OseeLog.log(AtsPlugin.class, Level.SEVERE, ex); @@ -423,7 +423,7 @@ public class TaskXViewer extends WorldXViewer { try { if (loadedArtifacts.getLoadedArtifacts().size() == 0) return; // ContentProvider ensures in display thread - ((WorldContentProvider) xTaskViewer.getTaskXViewer().getContentProvider()).remove(loadedArtifacts.getLoadedArtifacts()); + ((WorldContentProvider) xTaskViewer.getTaskXViewer().getContentProvider()).removeAll(loadedArtifacts.getLoadedArtifacts()); } catch (OseeCoreException ex) { OseeLog.log(AtsPlugin.class, Level.SEVERE, ex); } @@ -448,8 +448,8 @@ public class TaskXViewer extends WorldXViewer { @Override public void run() { if (xTaskViewer.getTaskXViewer().getContentProvider() == null) return; - ((WorldContentProvider) xTaskViewer.getTaskXViewer().getContentProvider()).remove(transData.cacheDeletedArtifacts); - xTaskViewer.getTaskXViewer().update(transData.cacheChangedArtifacts, null); + ((WorldContentProvider) xTaskViewer.getTaskXViewer().getContentProvider()).removeAll(transData.cacheDeletedArtifacts); + ((WorldContentProvider) xTaskViewer.getTaskXViewer().getContentProvider()).updateAll(transData.cacheChangedArtifacts); try { if (xTaskViewer.getIXTaskViewer().getParentSmaMgr() == null) { @@ -472,7 +472,7 @@ public class TaskXViewer extends WorldXViewer { AtsRelation.SmaToTask_Task.getRelationType().getRelationTypeId(), AtsPlugin.getAtsBranch().getBranchId(), transData.cacheDeletedRelations); if (artifacts.size() > 0) { - ((WorldContentProvider) xTaskViewer.getTaskXViewer().getContentProvider()).remove(artifacts); + ((WorldContentProvider) xTaskViewer.getTaskXViewer().getContentProvider()).removeAll(artifacts); } } } catch (Exception ex) { diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldContentProvider.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldContentProvider.java index 7301a415968..7aaf0ae7b52 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldContentProvider.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldContentProvider.java @@ -73,10 +73,10 @@ public class WorldContentProvider implements ITreeContentProvider { } public void remove(final Artifact art) { - remove(Arrays.asList(art)); + removeAll(Arrays.asList(art)); } - public void remove(final Collection<? extends Object> arts) { + public void removeAll(final Collection<? extends Object> arts) { if (arts.size() == 0) return; Displays.ensureInDisplayThread(new Runnable() { public void run() { @@ -89,6 +89,18 @@ public class WorldContentProvider implements ITreeContentProvider { }); } + public void updateAll(final Collection<? extends Object> arts) { + if (arts.size() == 0) return; + Displays.ensureInDisplayThread(new Runnable() { + public void run() { + if (xViewer.getInput() == null) xViewer.setInput(rootSet); + for (Object art : arts) { + xViewer.update(art, null); + } + }; + }); + } + public void clear() { rootSet.clear(); Displays.ensureInDisplayThread(new Runnable() { diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewer.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewer.java index 1dd56d3d178..1912dff832e 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewer.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewer.java @@ -125,7 +125,7 @@ public class WorldXViewer extends XViewer implements IArtifactsPurgedEventListen try { if (loadedArtifacts.getLoadedArtifacts().size() == 0) return; // ContentProvider ensures in display thread - ((WorldContentProvider) getContentProvider()).remove(loadedArtifacts.getLoadedArtifacts()); + ((WorldContentProvider) getContentProvider()).removeAll(loadedArtifacts.getLoadedArtifacts()); } catch (OseeCoreException ex) { OseeLog.log(SkynetGuiPlugin.class, Level.SEVERE, ex); } @@ -136,7 +136,7 @@ public class WorldXViewer extends XViewer implements IArtifactsPurgedEventListen try { if (loadedArtifacts.getLoadedArtifacts().size() == 0) return; // ContentProvider ensures in display thread - ((WorldContentProvider) getContentProvider()).remove(loadedArtifacts.getLoadedArtifacts()); + ((WorldContentProvider) getContentProvider()).removeAll(loadedArtifacts.getLoadedArtifacts()); } catch (OseeCoreException ex) { OseeLog.log(AtsPlugin.class, Level.SEVERE, ex); } @@ -153,17 +153,17 @@ public class WorldXViewer extends XViewer implements IArtifactsPurgedEventListen public void run() { if (getContentProvider() == null) return; if (transData.cacheDeletedArtifacts.size() > 0) { - ((WorldContentProvider) getContentProvider()).remove(transData.cacheDeletedArtifacts); + ((WorldContentProvider) getContentProvider()).removeAll(transData.cacheDeletedArtifacts); } if (transData.cacheChangedArtifacts.size() > 0) { - update(transData.cacheChangedArtifacts, null); + ((WorldContentProvider) getContentProvider()).updateAll(transData.cacheChangedArtifacts); } Set<Artifact> arts = new HashSet<Artifact>(); arts.addAll(transData.cacheRelationAddedArtifacts); arts.addAll(transData.cacheRelationChangedArtifacts); arts.addAll(transData.cacheRelationDeletedArtifacts); - if (arts.size() > 0) { - refresh(arts); + for (Artifact art : arts) { + refresh(art); } } }); @@ -806,7 +806,7 @@ public class WorldXViewer extends XViewer implements IArtifactsPurgedEventListen @Override public void remove(final Collection<Object> artifacts) { - ((WorldContentProvider) getContentProvider()).remove(artifacts); + ((WorldContentProvider) getContentProvider()).removeAll(artifacts); } @Override diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactExplorer.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactExplorer.java index 87df8b13e25..3eb90f1144d 100644 --- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactExplorer.java +++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactExplorer.java @@ -1436,7 +1436,9 @@ public class ArtifactExplorer extends ViewPart implements IRebuildMenuListener, parents.add(art.getParent());
}
}
- treeViewer.refresh(parents);
+ for (Artifact art : parents) {
+ treeViewer.refresh(art);
+ }
} catch (Exception ex) {
OseeLog.log(SkynetGuiPlugin.class, Level.SEVERE, ex);
}
@@ -1458,10 +1460,12 @@ public class ArtifactExplorer extends ViewPart implements IRebuildMenuListener, */
@Override
public void run() {
- treeViewer.remove(transData.cacheDeletedArtifacts);
+ for (Artifact art : transData.cacheDeletedArtifacts) {
+ treeViewer.remove(art);
+ }
try {
treeViewer.update(transData.getArtifactsInRelations(ChangeType.Changed,
- CoreRelationEnumeration.DEFAULT_HIERARCHICAL__CHILD.getRelationType()), null);
+ CoreRelationEnumeration.DEFAULT_HIERARCHICAL__CHILD.getRelationType()).toArray(), null);
} catch (Exception ex) {
OseeLog.log(SkynetGuiPlugin.class, Level.SEVERE, ex);
}
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/massEditor/MassContentProvider.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/massEditor/MassContentProvider.java index 1b6d7064fb5..bd890c640a1 100644 --- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/massEditor/MassContentProvider.java +++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/massEditor/MassContentProvider.java @@ -24,7 +24,7 @@ public class MassContentProvider implements ITreeContentProvider { protected Collection<Artifact> rootSet = new HashSet<Artifact>(); private final MassXViewer xViewer; private static Object[] EMPTY_ARRAY = new Object[0]; - private SkynetDebug debug = new SkynetDebug(false, "WorldTreeContentProvider"); + private final SkynetDebug debug = new SkynetDebug(false, "WorldTreeContentProvider"); public MassContentProvider(MassXViewer xViewer) { super(); @@ -55,11 +55,23 @@ public class MassContentProvider implements ITreeContentProvider { }); } + public void updateAll(final Collection<? extends Object> arts) { + if (arts.size() == 0) return; + Displays.ensureInDisplayThread(new Runnable() { + public void run() { + if (xViewer.getInput() == null) xViewer.setInput(rootSet); + for (Object art : arts) { + xViewer.update(art, null); + } + }; + }); + } + public void remove(final Artifact art) { - remove(Arrays.asList(art)); + removeAll(Arrays.asList(art)); } - public void remove(final Collection<? extends Artifact> arts) { + public void removeAll(final Collection<? extends Artifact> arts) { Displays.ensureInDisplayThread(new Runnable() { public void run() { if (xViewer.getInput() == null) xViewer.setInput(rootSet); diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/massEditor/MassXViewer.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/massEditor/MassXViewer.java index 9b866454080..d19d9b1ed71 100644 --- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/massEditor/MassXViewer.java +++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/massEditor/MassXViewer.java @@ -285,8 +285,12 @@ public class MassXViewer extends XViewer implements IFrameworkTransactionEventLi dispose(); return; } - ((MassContentProvider) getContentProvider()).remove(transData.cacheDeletedArtifacts); - update(transData.cacheChangedArtifacts, null); + if (transData.cacheDeletedArtifacts.size() > 0) { + ((MassContentProvider) getContentProvider()).removeAll(transData.cacheDeletedArtifacts); + } + if (transData.cacheChangedArtifacts.size() > 0) { + ((MassContentProvider) getContentProvider()).updateAll(transData.cacheChangedArtifacts); + } refresh(transData.cacheRelationAddedArtifacts); refresh(transData.cacheRelationChangedArtifacts); refresh(transData.cacheRelationDeletedArtifacts); |