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