Revision: 5924 http://sourceforge.net/p/jump-pilot/code/5924 Author: michaudm Date: 2018-08-24 06:08:20 +0000 (Fri, 24 Aug 2018) Log Message: ----------- Improve LayerView naming and saving, allow views based on view
Modified Paths: -------------- core/trunk/ChangeLog core/trunk/src/com/vividsolutions/jump/workbench/model/LayerView.java core/trunk/src/com/vividsolutions/jump/workbench/ui/LayerNameRenderer.java core/trunk/src/language/jump_fr.properties core/trunk/src/org/openjump/core/ui/plugin/file/SaveLayersWithoutDataSourcePlugIn.java core/trunk/src/org/openjump/core/ui/plugin/file/open/OpenProjectWizard.java Modified: core/trunk/ChangeLog =================================================================== --- core/trunk/ChangeLog 2018-08-22 17:02:04 UTC (rev 5923) +++ core/trunk/ChangeLog 2018-08-24 06:08:20 UTC (rev 5924) @@ -3,6 +3,9 @@ # 2. make sure that lines break at 80 chars for constricted display situations #<-------------------------------- 80 chars ----------------------------------># +2018-08-24 mmichaud <m.michael.mich...@orange.fr> + * Improve LayerView naming and saving, allow views based on view + 2018-08-22 Giuseppe Aruta * WMSLegendPlugIn. Added capability to export WMS legend to PNG image file Modified: core/trunk/src/com/vividsolutions/jump/workbench/model/LayerView.java =================================================================== --- core/trunk/src/com/vividsolutions/jump/workbench/model/LayerView.java 2018-08-22 17:02:04 UTC (rev 5923) +++ core/trunk/src/com/vividsolutions/jump/workbench/model/LayerView.java 2018-08-24 06:08:20 UTC (rev 5924) @@ -33,6 +33,8 @@ this.layer = layerManager.getLayer(getLayerName()); } + //private String properName = "v"; + public LayerView(final String layerName, LayerManager layerManager) { super(layerName, layerManager.generateLayerFillColor(), @@ -43,13 +45,35 @@ boolean firingEvents = getLayerManager().isFiringEvents(); getLayerManager().setFiringEvents(false); try { - setName(getName().replaceAll(this.layer.getName(),"").trim()); + setName("v"); + //this.properName = layerManager.uniqueLayerName(properName); + //setName(getName().replaceAll(this.layer.getName(),"").trim()); + //setName(properName); + setName(layerManager.uniqueLayerName(getName())); } finally { getLayerManager().setFiringEvents(firingEvents); } } + //@Override + //public String getName() { + // return properName; + //} + //public void setName(String properName) { + // this.properName = properName; + //} + + public String getFullName() { + //if (layer == null) + // return "-> " + getLayerName() + " - " + getName(); + if (layer instanceof LayerView) + return ((LayerView) layer).getFullName() + " - " + getName(); + else + return "-> " + getLayerName() + " - " + getName(); + } + + @Override public void setFeatureCollection(FeatureCollection featureCollection) { Modified: core/trunk/src/com/vividsolutions/jump/workbench/ui/LayerNameRenderer.java =================================================================== --- core/trunk/src/com/vividsolutions/jump/workbench/ui/LayerNameRenderer.java 2018-08-22 17:02:04 UTC (rev 5923) +++ core/trunk/src/com/vividsolutions/jump/workbench/ui/LayerNameRenderer.java 2018-08-24 06:08:20 UTC (rev 5924) @@ -276,8 +276,9 @@ Layerable layerable = (Layerable) value; if (layerable instanceof LayerView) { LayerView view = (LayerView)layerable; - label.setText("-> " + view.getLayerName() + " - " + - view.getName().replaceAll(view.getLayerName(), "")); + //label.setText("-> " + view.getLayerName() + " - " + + // view.getName().replaceAll(view.getLayerName(), "")); + label.setText(view.getFullName()); } else { label.setText(layerable.getName()); } Modified: core/trunk/src/language/jump_fr.properties =================================================================== --- core/trunk/src/language/jump_fr.properties 2018-08-22 17:02:04 UTC (rev 5923) +++ core/trunk/src/language/jump_fr.properties 2018-08-24 06:08:20 UTC (rev 5924) @@ -2868,7 +2868,7 @@ org.openjump.core.ui.plugin.raster.ProfileGraphTool.draw-linstring-as-trace = Dessiner la ligne devant servir au calcul du profil org.openjump.core.ui.plugin.raster.ProfileGraphTool.use-selected-linstring-as-trace = Utiliser la ligne s\xE9lectionn\xE9e pour le profil org.openjump.core.ui.plugin.raster.ProfileGraphTool.select-one-linstring = S\xE9lectionner une ligne -com.vividsolutions.jump.workbench.ui.plugin.AddNewLayerViewPlugIn=Ajouter une vue +com.vividsolutions.jump.workbench.ui.plugin.AddNewLayerViewPlugIn = Cr\xE9er une vue sur la couche com.vividsolutions.jump.util.StatisticIndices.Coefficient-of-variation = Coefficient de variation com.vividsolutions.jump.util.StatisticIndices.Root-mean-squared= Moyenne quadratique com.vividsolutions.jump.util.StatisticIndices.25-percentile = 25 percentile Modified: core/trunk/src/org/openjump/core/ui/plugin/file/SaveLayersWithoutDataSourcePlugIn.java =================================================================== --- core/trunk/src/org/openjump/core/ui/plugin/file/SaveLayersWithoutDataSourcePlugIn.java 2018-08-22 17:02:04 UTC (rev 5923) +++ core/trunk/src/org/openjump/core/ui/plugin/file/SaveLayersWithoutDataSourcePlugIn.java 2018-08-24 06:08:20 UTC (rev 5924) @@ -38,10 +38,12 @@ import javax.swing.ImageIcon; import javax.swing.JFileChooser; +import com.vividsolutions.jump.io.datasource.StandardReaderWriterFileDataSource; +import com.vividsolutions.jump.workbench.Logger; +import com.vividsolutions.jump.workbench.model.LayerView; import org.openjump.core.ui.plugin.file.open.JFCWithEnterAction; import com.vividsolutions.jump.I18N; -import com.vividsolutions.jump.io.DriverProperties; import com.vividsolutions.jump.io.datasource.DataSource; import com.vividsolutions.jump.io.datasource.DataSourceQuery; import com.vividsolutions.jump.task.DummyTaskMonitor; @@ -139,18 +141,22 @@ DataSource dataSource = null; if (dialog.getBoolean(SAVEASJML)) { ext = "jml"; - dataSource = new com.vividsolutions.jump.io.datasource.StandardReaderWriterFileDataSource.JML(); + dataSource = new StandardReaderWriterFileDataSource.JML(); } else if (dialog.getBoolean(SAVEASSHP)) { ext = "shp"; - dataSource = new com.vividsolutions.jump.io.datasource.StandardReaderWriterFileDataSource.Shapefile(); + dataSource = new StandardReaderWriterFileDataSource.Shapefile(); } - if (file.exists()) { - if (GUIUtil.showConfirmOverwriteDialog(context.getWorkbenchFrame(), file)) { + if (dataSource != null) { + if (file.exists()) { + if (GUIUtil.showConfirmOverwriteDialog(context.getWorkbenchFrame(), file)) { + saveLayer(layer, dir, dataSource, ext); + } + } else { saveLayer(layer, dir, dataSource, ext); } } else { - saveLayer(layer, dir, dataSource, ext); + Logger.warn("Data source (jml or shp) could not be instanciated to save dataset on disk"); } } return true; @@ -168,9 +174,13 @@ dp.put(DataSource.URI_KEY, file.toURI().toString()); dp.put(DataSource.FILE_KEY, path); dataSource.setProperties(dp); - DataSourceQuery dsq = new DataSourceQuery(dataSource, path, path); layer.setDataSourceQuery(dsq).setFeatureCollectionModified(false); + // Do not write the dataset used by a LayerView on disk (it is already written + // for the underlying layer) + // LayerView writing is excluded there because we need layer.setDataSourceQuery + // (without it, the LayerView is not written into xml at all) + if (layer instanceof LayerView) return; dataSource.getConnection().executeUpdate("", layer.getFeatureCollectionWrapper(), new DummyTaskMonitor()); } Modified: core/trunk/src/org/openjump/core/ui/plugin/file/open/OpenProjectWizard.java =================================================================== --- core/trunk/src/org/openjump/core/ui/plugin/file/open/OpenProjectWizard.java 2018-08-22 17:02:04 UTC (rev 5923) +++ core/trunk/src/org/openjump/core/ui/plugin/file/open/OpenProjectWizard.java 2018-08-24 06:08:20 UTC (rev 5924) @@ -299,7 +299,7 @@ layerable.setLayerManager(newLayerManager); if (layerable instanceof LayerView) { - layerable.setLayerManager(newLayerManager); + //layerable.setLayerManager(newLayerManager); } else if (layerable instanceof Layer) { Layer layer = (Layer) layerable; ------------------------------------------------------------------------------ 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