Revision: 4595
          http://sourceforge.net/p/jump-pilot/code/4595
Author:   michaudm
Date:     2015-12-09 22:59:28 +0000 (Wed, 09 Dec 2015)
Log Message:
-----------
New capability to replace a view of the viewset by the current view.

Modified Paths:
--------------
    
plug-ins/ViewManagerPlugin/trunk/resources/view_manager/language/jump.properties
    
plug-ins/ViewManagerPlugin/trunk/resources/view_manager/language/jump_fr.properties
    
plug-ins/ViewManagerPlugin/trunk/src/org/openjump/ext/viewmanager/ViewSet.java
    
plug-ins/ViewManagerPlugin/trunk/src/org/openjump/ext/viewmanager/ViewSetPanel.java

Modified: 
plug-ins/ViewManagerPlugin/trunk/resources/view_manager/language/jump.properties
===================================================================
--- 
plug-ins/ViewManagerPlugin/trunk/resources/view_manager/language/jump.properties
    2015-12-09 13:40:35 UTC (rev 4594)
+++ 
plug-ins/ViewManagerPlugin/trunk/resources/view_manager/language/jump.properties
    2015-12-09 22:59:28 UTC (rev 4595)
@@ -22,3 +22,5 @@
 ViewSetPanel.move-up = Move up
 ViewSetPanel.move-down = Move down
 ViewSetPanel.move-to-bottom = Move to bottom
+ViewSetPanel.replace-by-current-view = Replace by current view
+ViewSetPanel.replace-by-selected-layers = Replace by selected layers

Modified: 
plug-ins/ViewManagerPlugin/trunk/resources/view_manager/language/jump_fr.properties
===================================================================
--- 
plug-ins/ViewManagerPlugin/trunk/resources/view_manager/language/jump_fr.properties
 2015-12-09 13:40:35 UTC (rev 4594)
+++ 
plug-ins/ViewManagerPlugin/trunk/resources/view_manager/language/jump_fr.properties
 2015-12-09 22:59:28 UTC (rev 4595)
@@ -21,4 +21,6 @@
 ViewSetPanel.move-to-top = D\xE9placer tout en haut
 ViewSetPanel.move-up = D\xE9placer vers le haut
 ViewSetPanel.move-down = D\xE9pacer vers le bas
-ViewSetPanel.move-to-bottom = D\xE9placer tout en bas
\ No newline at end of file
+ViewSetPanel.move-to-bottom = D\xE9placer tout en bas
+ViewSetPanel.replace-by-current-view = Remplacer par la vue courante
+ViewSetPanel.replace-by-selected-layers = Remplacer par les couches 
s\xE9lectionn\xE9es
\ No newline at end of file

Modified: 
plug-ins/ViewManagerPlugin/trunk/src/org/openjump/ext/viewmanager/ViewSet.java
===================================================================
--- 
plug-ins/ViewManagerPlugin/trunk/src/org/openjump/ext/viewmanager/ViewSet.java  
    2015-12-09 13:40:35 UTC (rev 4594)
+++ 
plug-ins/ViewManagerPlugin/trunk/src/org/openjump/ext/viewmanager/ViewSet.java  
    2015-12-09 22:59:28 UTC (rev 4595)
@@ -14,9 +14,10 @@
 @XmlRootElement
 public class ViewSet {
 
-    public static int REMOVE = -1;
-    public static int MOVMOD =  0;
-    public static int ADD    =  1;
+    public static int REMOVE  = -1;
+    public static int MOVMOD  =  0;
+    public static int ADD     =  1;
+    public static int REPLACE =  2;
 
     List<Listener> listeners = new ArrayList<Listener>();
 
@@ -78,6 +79,14 @@
         }
     }
 
+    public void replaceView(View oldView, View newView) {
+        int pos = views.indexOf(oldView);
+        if (pos>0) {
+            views.set(pos, newView);
+            fireReplaceView(oldView);
+        }
+    }
+
     public void fireAddView(View view) {
         for (Listener listener : listeners) {
             listener.actionPerformed(this, ADD, view);
@@ -96,6 +105,12 @@
         }
     }
 
+    public void fireReplaceView(View oldView) {
+        for (Listener listener : listeners) {
+            listener.actionPerformed(this, REPLACE, oldView);
+        }
+    }
+
     public String getName() {
         return name;
     }

Modified: 
plug-ins/ViewManagerPlugin/trunk/src/org/openjump/ext/viewmanager/ViewSetPanel.java
===================================================================
--- 
plug-ins/ViewManagerPlugin/trunk/src/org/openjump/ext/viewmanager/ViewSetPanel.java
 2015-12-09 13:40:35 UTC (rev 4594)
+++ 
plug-ins/ViewManagerPlugin/trunk/src/org/openjump/ext/viewmanager/ViewSetPanel.java
 2015-12-09 22:59:28 UTC (rev 4595)
@@ -19,9 +19,11 @@
     I18N I18N_ = I18N.getInstance("view_manager");
 
     ViewSet viewSet;
+    PlugInContext context;
 
     public ViewSetPanel(final PlugInContext context, final ViewSet viewSet) {
         super(new GridBagLayout());
+        this.context = context;
         setBorder(BorderFactory.createLineBorder(Color.black));
         initToolBar();
         if (viewSet != null) {
@@ -79,6 +81,8 @@
         private JMenuItem upMenuItem = new 
JMenuItem(I18N_.getText("view_manager","ViewSetPanel.move-up"));
         private JMenuItem downMenuItem = new 
JMenuItem(I18N_.getText("view_manager","ViewSetPanel.move-down"));
         private JMenuItem bottomMenuItem = new 
JMenuItem(I18N_.getText("view_manager","ViewSetPanel.move-to-bottom"));
+        private JMenuItem replaceByCurrentViewItem = new 
JMenuItem(I18N_.getText("view_manager","ViewSetPanel.replace-by-current-view"));
+        private JMenuItem replaceBySelectedLayerItem = new 
JMenuItem(I18N_.getText("view_manager","ViewSetPanel.replace-by-selected-layers"));
         private JPopupMenu popupMenu = new JPopupMenu();
 
         final private PlugInContext context;
@@ -112,6 +116,14 @@
             bottomMenuItem.addActionListener(this);
             bottomMenuItem.setActionCommand("moveToBottom");
 
+            popupMenu.add(replaceByCurrentViewItem);
+            replaceByCurrentViewItem.addActionListener(this);
+            replaceByCurrentViewItem.setActionCommand("replaceByCurrentView");
+
+            popupMenu.add(replaceBySelectedLayerItem);
+            replaceBySelectedLayerItem.addActionListener(this);
+            
replaceBySelectedLayerItem.setActionCommand("replaceBySelectedLayers");
+
             viewTextField.addActionListener(this);
             viewTextField.setActionCommand("changeName");
             apply.addActionListener(this);
@@ -164,6 +176,10 @@
                 moveDown();
             } else if (action.equals("moveToBottom")) {
                 moveToBottom();
+            } else if (action.equals("replaceByCurrentView")) {
+                replaceByCurrentView();
+            } else if (action.equals("replaceBySelectedLayers")) {
+                replaceBySelectedLayers();
             }
         }
 
@@ -191,6 +207,18 @@
             viewSet.moveViewToBottom(view);
         }
 
+        private void replaceByCurrentView() {
+            View newView = new View(context, false);
+            newView.name = view.name;
+            viewSet.replaceView(view, newView);
+        }
+
+        private void replaceBySelectedLayers() {
+            View newView = new View(context, true);
+            newView.name = view.name;
+            viewSet.replaceView(view, newView);
+        }
+
         private void apply() {
             for (StyledLayer styledLayer : view.styledLayers) {
                 styledLayer.applyStyles(context.getLayerManager());


------------------------------------------------------------------------------
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to