diff flys-client/src/main/java/de/intevation/flys/client/client/ui/FLYSWorkspace.java @ 557:92c200887b20

#21 There might be just a single window for each project now. Users can't open a project twice. flys-client/trunk@2083 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 08 Jun 2011 13:21:46 +0000
parents e763d8efd42f
children 62b65b7b5c7c
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/FLYSWorkspace.java	Wed Jun 08 12:43:38 2011 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/FLYSWorkspace.java	Wed Jun 08 13:21:46 2011 +0000
@@ -2,8 +2,8 @@
 
 import com.smartgwt.client.widgets.Canvas;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.HashMap;
+import java.util.Map;
 
 
 /**
@@ -20,7 +20,7 @@
 
 
     /** A map that contains the open CollectionViews. */
-    protected List<CollectionView> views;
+    protected Map<String, CollectionView> views;
 
 
     /**
@@ -28,7 +28,7 @@
      * CollectionViews opened.
      */
     public FLYSWorkspace() {
-        views = new ArrayList<CollectionView>();
+        views = new HashMap<String, CollectionView>();
     }
 
 
@@ -38,14 +38,26 @@
      *
      * @param collectionView A new CollectionView.
      */
-    public void addView(CollectionView collectionView) {
+    public void addView(String uuid, CollectionView collectionView) {
         int num    = views != null ? views.size() : 0;
         int factor = num % MAX_WINDOWS;
 
         collectionView.moveTo(factor * WINDOW_OFFSET, factor * WINDOW_OFFSET);
 
-        views.add(collectionView);
+        views.put(uuid, collectionView);
         addChild(collectionView);
     }
+
+
+    public void removeProject(String uuid) {
+        views.remove(uuid);
+    }
+
+
+    public void bringUp(String uuid) {
+        CollectionView view = views.get(uuid);
+
+        view.show();
+    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org