Thanks Michael
This makes sense
Peppe

Il 15/Ott/2016 13:18, <jump-pilot-...@lists.sourceforge.net> ha scritto:

> Revision: 5077
>           http://sourceforge.net/p/jump-pilot/code/5077
> Author:   michaudm
> Date:     2016-10-15 11:18:13 +0000 (Sat, 15 Oct 2016)
> Log Message:
> -----------
> Fix #436 : make invisible layers not editable.
>
> Modified Paths:
> --------------
>     core/trunk/src/com/vividsolutions/jump/workbench/
> model/AbstractLayerable.java
>     core/trunk/src/com/vividsolutions/jump/workbench/
> ui/plugin/EditablePlugIn.java
>
> Modified: core/trunk/src/com/vividsolutions/jump/workbench/
> model/AbstractLayerable.java
> ===================================================================
> --- 
> core/trunk/src/com/vividsolutions/jump/workbench/model/AbstractLayerable.java
>      2016-10-15 10:35:42 UTC (rev 5076)
> +++ 
> core/trunk/src/com/vividsolutions/jump/workbench/model/AbstractLayerable.java
>      2016-10-15 11:18:13 UTC (rev 5077)
> @@ -131,8 +131,8 @@
>      if (this.visible == visible) {
>        return;
>      }
> -
>      this.visible = visible;
> +    editable = visible && editable;
>      fireLayerChanged(LayerEventType.VISIBILITY_CHANGED);
>    }
>
>
> Modified: core/trunk/src/com/vividsolutions/jump/workbench/
> ui/plugin/EditablePlugIn.java
> ===================================================================
> --- 
> core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/EditablePlugIn.java
>     2016-10-15 10:35:42 UTC (rev 5076)
> +++ 
> core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/EditablePlugIn.java
>     2016-10-15 11:18:13 UTC (rev 5077)
> @@ -45,10 +45,7 @@
>  import com.vividsolutions.jump.workbench.plugin.EnableCheckFactory;
>  import com.vividsolutions.jump.workbench.plugin.MultiEnableCheck;
>  import com.vividsolutions.jump.workbench.plugin.PlugInContext;
> -import com.vividsolutions.jump.workbench.ui.LayerNamePanel;
> -import com.vividsolutions.jump.workbench.ui.LayerNamePanelProxy;
> -import com.vividsolutions.jump.workbench.ui.LayerableNamePanel;
> -import com.vividsolutions.jump.workbench.ui.OKCancelDialog;
> +import com.vividsolutions.jump.workbench.ui.*;
>  import com.vividsolutions.jump.workbench.ui.cursortool.
> editing.EditingPlugIn;
>  import com.vividsolutions.jump.workbench.ui.images.IconLoader;
>
> @@ -76,16 +73,20 @@
>    public boolean execute(PlugInContext context) throws Exception {
>      reportNothingToUndoYet(context);
>
> +    boolean single = PersistentBlackboardPlugIn.get(context.
> getWorkbenchContext())
> +            .get(EditOptionsPanel.SINGLE_EDITABLE_LAYER_KEY, true);
> +
>      Layerable[] layers = getSelectedLayerables(context.
> getWorkbenchContext());
>      // assume what to do by status of first selected layer
>      boolean makeEditable = !layers[0].isEditable();
>      // set states for each
>
>      for (Layerable layerable : layers) {
> -      if (isWritable(layerable)) {
> -        if (makeEditable) setAllLayersToUneditable(context);
> +      if (isWritable(layerable) && layerable.isVisible()) {
> +        if (single) setAllLayersToUneditable(context);
> +        //if (makeEditable) setAllLayersToUneditable(context);
>          layerable.setEditable(makeEditable);
> -      } else {
> +      } else if (layerable.isVisible()) {
>          String message = "<html><br>" + I18N.getMessage(CONFIRMATION_1,
> "<i>'"+layerable.getName()+"'</i>");
>          message += "<br><br>" + I18N.get(CONFIRMATION_2) + "<br></html>";
>          JLabel label = new JLabel(message);
> @@ -104,7 +105,8 @@
>                  });
>          okCancelPanel.setVisible(true);
>          if (okCancelPanel.wasOKPressed()) {
> -          if (makeEditable) setAllLayersToUneditable(context);
> +          if (single) setAllLayersToUneditable(context);
> +          //if (makeEditable) setAllLayersToUneditable(context);
>            layerable.setEditable(makeEditable);
>            if (layerable instanceof Layer) {
>              ((Layer)layerable).setDataSourceQuery(null);
>
>
> ------------------------------------------------------------
> ------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to