Revision: 4401 http://sourceforge.net/p/jump-pilot/code/4401 Author: michaudm Date: 2015-04-18 07:41:26 +0000 (Sat, 18 Apr 2015) Log Message: ----------- Add an option to snap on linestring being edited (FR #220)
Modified Paths: -------------- core/trunk/ChangeLog core/trunk/src/com/vividsolutions/jump/workbench/ui/cursortool/AbstractCursorTool.java core/trunk/src/com/vividsolutions/jump/workbench/ui/cursortool/editing/DrawLineStringTool.java core/trunk/src/com/vividsolutions/jump/workbench/ui/snap/SnapOptionsPanel.java core/trunk/src/language/jump.properties core/trunk/src/language/jump_cz.properties core/trunk/src/language/jump_de.properties core/trunk/src/language/jump_es.properties core/trunk/src/language/jump_fi.properties core/trunk/src/language/jump_fr.properties core/trunk/src/language/jump_hu.properties core/trunk/src/language/jump_it.properties core/trunk/src/language/jump_ja_JP.properties core/trunk/src/language/jump_ml.properties core/trunk/src/language/jump_pt.properties core/trunk/src/language/jump_pt_BR.properties core/trunk/src/language/jump_ta_IN.properties core/trunk/src/language/jump_te.properties core/trunk/src/language/jump_zh_CN.properties core/trunk/src/language/jump_zh_HK.properties Added Paths: ----------- core/trunk/src/com/vividsolutions/jump/workbench/ui/snap/SnapToLineStringBeingEditedPolicy.java Modified: core/trunk/ChangeLog =================================================================== --- core/trunk/ChangeLog 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/ChangeLog 2015-04-18 07:41:26 UTC (rev 4401) @@ -1,4 +1,10 @@ # for display continuity sake please use 2 spaces instead of tabs + +2015-04-18 mmichaud <m.michael.mich...@orange.fr> + * FR #220 : add an option to snap on feature being edited. Indeed, the new snap + policy is applied on LineString edition only as snapping on a polygon being + edited tends to create invalid polygons + 2015-04-12 Giuseppe Aruta (ma15569) * Reworked dialog for rasterimage layers with no georeference info. Now images are opened into the view, by default, with original file width/height proportion. Option to warp Modified: core/trunk/src/com/vividsolutions/jump/workbench/ui/cursortool/AbstractCursorTool.java =================================================================== --- core/trunk/src/com/vividsolutions/jump/workbench/ui/cursortool/AbstractCursorTool.java 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/src/com/vividsolutions/jump/workbench/ui/cursortool/AbstractCursorTool.java 2015-04-18 07:41:26 UTC (rev 4401) @@ -277,7 +277,7 @@ : null; } - private static List createStandardSnappingPolicies(Blackboard blackboard) { + protected List createStandardSnappingPolicies(Blackboard blackboard) { return Arrays.asList(new SnapPolicy[]{ new SnapToVerticesPolicy(blackboard), new SnapToFeaturesPolicy(blackboard), Modified: core/trunk/src/com/vividsolutions/jump/workbench/ui/cursortool/editing/DrawLineStringTool.java =================================================================== --- core/trunk/src/com/vividsolutions/jump/workbench/ui/cursortool/editing/DrawLineStringTool.java 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/src/com/vividsolutions/jump/workbench/ui/cursortool/editing/DrawLineStringTool.java 2015-04-18 07:41:26 UTC (rev 4401) @@ -34,6 +34,8 @@ package com.vividsolutions.jump.workbench.ui.cursortool.editing; import java.awt.geom.NoninvertibleTransformException; +import java.util.ArrayList; +import java.util.List; import javax.swing.Icon; @@ -41,10 +43,15 @@ import com.vividsolutions.jts.geom.LineString; import com.vividsolutions.jts.operation.valid.IsValidOp; import com.vividsolutions.jump.I18N; +import com.vividsolutions.jump.util.Blackboard; import com.vividsolutions.jump.workbench.ui.EditTransaction; import com.vividsolutions.jump.workbench.ui.LayerNamePanelProxy; import com.vividsolutions.jump.workbench.ui.cursortool.*; import com.vividsolutions.jump.workbench.ui.images.IconLoader; +import com.vividsolutions.jump.workbench.ui.snap.SnapToLineStringBeingEditedPolicy; +import com.vividsolutions.jump.workbench.ui.snap.SnapToFeaturesPolicy; +import com.vividsolutions.jump.workbench.ui.snap.SnapToGridPolicy; +import com.vividsolutions.jump.workbench.ui.snap.SnapToVerticesPolicy; public class DrawLineStringTool extends MultiClickTool { @@ -88,6 +95,15 @@ getPanel()); } + protected List createStandardSnappingPolicies(Blackboard blackboard) { + List policies = new ArrayList(); + policies.add(new SnapToVerticesPolicy(blackboard)); + policies.add(new SnapToFeaturesPolicy(blackboard)); + policies.add(new SnapToGridPolicy(blackboard)); + policies.add(new SnapToLineStringBeingEditedPolicy(blackboard, this)); + return policies; + } + protected LineString getLineString() throws NoninvertibleTransformException { return new GeometryFactory().createLineString(toArray( getCoordinates())); Modified: core/trunk/src/com/vividsolutions/jump/workbench/ui/snap/SnapOptionsPanel.java =================================================================== --- core/trunk/src/com/vividsolutions/jump/workbench/ui/snap/SnapOptionsPanel.java 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/src/com/vividsolutions/jump/workbench/ui/snap/SnapOptionsPanel.java 2015-04-18 07:41:26 UTC (rev 4401) @@ -55,6 +55,7 @@ private TitledBorder titledBorder1; private JCheckBox snapToFeaturesCheckBox = new JCheckBox(); private JCheckBox snapToVerticesCheckBox = new JCheckBox(); + private JCheckBox snapToLineStringBeingEditedCheckBox = new JCheckBox(); private JPanel jPanel3 = new JPanel(); private JPanel jPanel4 = new JPanel(); private JCheckBox snapToGridCheckBox = new JCheckBox(); @@ -129,6 +130,8 @@ blackboard); blackboard.put(SnapToFeaturesPolicy.ENABLED_KEY, snapToFeaturesCheckBox.isSelected()); + blackboard.put(SnapToLineStringBeingEditedPolicy.ENABLED_KEY, + snapToLineStringBeingEditedCheckBox.isSelected()); blackboard.put(SnapToGridPolicy.ENABLED_KEY, snapToGridCheckBox.isSelected()); blackboard.put(SnapToGridPolicy.GRID_SIZE_KEY, @@ -147,6 +150,8 @@ SnapManager.getToleranceInPixels(blackboard)); snapToFeaturesCheckBox.setSelected(blackboard.get( SnapToFeaturesPolicy.ENABLED_KEY, false)); + snapToLineStringBeingEditedCheckBox.setSelected(blackboard.get( + SnapToLineStringBeingEditedPolicy.ENABLED_KEY, false)); snapToGridCheckBox.setSelected(blackboard.get( SnapToGridPolicy.ENABLED_KEY, false)); gridSizeTextField.setText("" + @@ -172,6 +177,7 @@ jPanel2.setBorder(titledBorder1); snapToFeaturesCheckBox.setText(I18N.get("ui.snap.SnapOptionsPanel.snap-to-vertices-and-lines")); snapToVerticesCheckBox.setText(I18N.get("ui.snap.SnapOptionsPanel.snap-to-vertices")); + snapToLineStringBeingEditedCheckBox.setText(I18N.get("ui.snap.SnapOptionsPanel.snap-to-linestring-being-edited")); snapToGridCheckBox.setText(I18N.get("ui.snap.SnapOptionsPanel.snap-to-grid")); jPanel4.setLayout(gridBagLayout3); jPanel5.setBorder(titledBorder2); @@ -193,29 +199,36 @@ toleranceLabel.setText(I18N.get("ui.snap.SnapOptionsPanel.tolerance")); toleranceUnitsLabel.setText(I18N.get("ui.snap.SnapOptionsPanel.pixels")); showGridUnitsLabel.setText(I18N.get("ui.snap.SnapOptionsPanel.model-units")); + this.add(jPanel1, BorderLayout.CENTER); jPanel1.add(jPanel2, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(10, 10, 10, 10), 0, 0)); + + jPanel2.add(tolerancePanel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0)); + jPanel2.add(snapToVerticesCheckBox, + new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0)); jPanel2.add(snapToFeaturesCheckBox, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0)); - jPanel2.add(snapToVerticesCheckBox, - new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0 - ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0)); + jPanel2.add(snapToLineStringBeingEditedCheckBox, + new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0)); + jPanel2.add(jPanel3, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0 ,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0)); jPanel2.add(jPanel4, - new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0 + new GridBagConstraints(0, 4, 1, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0)); jPanel4.add(snapToGridCheckBox, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0)); - jPanel2.add(tolerancePanel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0 - ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0)); + tolerancePanel.add(toleranceLabel, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 5), 0, 0)); tolerancePanel.add(toleranceTextField, new GridBagConstraints(2, 0, 1, 1, 0.0, 0.0 Added: core/trunk/src/com/vividsolutions/jump/workbench/ui/snap/SnapToLineStringBeingEditedPolicy.java =================================================================== --- core/trunk/src/com/vividsolutions/jump/workbench/ui/snap/SnapToLineStringBeingEditedPolicy.java (rev 0) +++ core/trunk/src/com/vividsolutions/jump/workbench/ui/snap/SnapToLineStringBeingEditedPolicy.java 2015-04-18 07:41:26 UTC (rev 4401) @@ -0,0 +1,52 @@ +package com.vividsolutions.jump.workbench.ui.snap; + +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.GeometryFactory; +import com.vividsolutions.jump.geom.CoordUtil; +import com.vividsolutions.jump.util.Blackboard; +import com.vividsolutions.jump.workbench.ui.LayerViewPanel; +import com.vividsolutions.jump.workbench.ui.cursortool.MultiClickTool; + +import java.util.ArrayList; + +/** + * A SnapPolicy to snap new vertices onto vetices being edited. + */ +public class SnapToLineStringBeingEditedPolicy implements SnapPolicy { + + private GeometryFactory factory = new GeometryFactory(); + //On-screen features are cached. The cache is built lazily. [Jon Aquino] + + private MultiClickTool cursor; + + private Blackboard blackboard; + + public static final String ENABLED_KEY = SnapToLineStringBeingEditedPolicy.class.getName() + " - ENABLED"; + + public SnapToLineStringBeingEditedPolicy(Blackboard blackboard, MultiClickTool cursor) { + this.blackboard = blackboard; + this.cursor = cursor; + } + + public Coordinate snap(LayerViewPanel panel, Coordinate originalPoint) { + if (!blackboard.get(ENABLED_KEY, false)) { + return null; + } + Geometry bufferedCursorLocation; + bufferedCursorLocation = + factory.createPoint(originalPoint).buffer(SnapManager.getToleranceInPixels(blackboard) / panel.getViewport().getScale()); + + ArrayList vertices = new ArrayList(); + for (Object c : cursor.getCoordinates()) { + if (bufferedCursorLocation.intersects(bufferedCursorLocation.getFactory().createPoint((Coordinate)c))) { + vertices.add(c); + } + } + if (vertices.isEmpty()) { + return null; + } + return CoordUtil.closest(vertices, originalPoint); + } + +} Modified: core/trunk/src/language/jump.properties =================================================================== --- core/trunk/src/language/jump.properties 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/src/language/jump.properties 2015-04-18 07:41:26 UTC (rev 4401) @@ -2417,6 +2417,7 @@ ui.snap.SnapOptionsPanel.show-grid-as-dots = Show grid as dots. ui.snap.SnapOptionsPanel.show-grid-as-lines = Show grid as lines. ui.snap.SnapOptionsPanel.show-grid-size = Show grid. Size\: +ui.snap.SnapOptionsPanel.snap-to-linestring-being-edited = Snap to LineString being edited ui.snap.SnapOptionsPanel.snap-to-grid = Snap to grid ui.snap.SnapOptionsPanel.snap-to-vertices = Snap to vertices. ui.snap.SnapOptionsPanel.snap-to-vertices-and-lines = Snap to vertices and lines. Modified: core/trunk/src/language/jump_cz.properties =================================================================== --- core/trunk/src/language/jump_cz.properties 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/src/language/jump_cz.properties 2015-04-18 07:41:26 UTC (rev 4401) @@ -2520,3 +2520,4 @@ org.openjump.core.ui.plugin.queries.SimpleQuery.boolean=\#T\:Boolean ui.EditOptionsPanel.configure-layer-tree-tooltip=\#T\:Configure layer tree tooltip ui.EditOptionsPanel.enable-JUMP-basic-tooltips= +ui.snap.SnapOptionsPanel.snap-to-linestring-being-edited=\#T\:Snap to LineString being edited Modified: core/trunk/src/language/jump_de.properties =================================================================== --- core/trunk/src/language/jump_de.properties 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/src/language/jump_de.properties 2015-04-18 07:41:26 UTC (rev 4401) @@ -2516,3 +2516,4 @@ org.openjump.core.ui.plugin.queries.SimpleQuery.boolean=\#T\:Boolean ui.EditOptionsPanel.configure-layer-tree-tooltip=\#T\:Configure layer tree tooltip ui.EditOptionsPanel.enable-JUMP-basic-tooltips= +ui.snap.SnapOptionsPanel.snap-to-linestring-being-edited=\#T\:Snap to LineString being edited Modified: core/trunk/src/language/jump_es.properties =================================================================== --- core/trunk/src/language/jump_es.properties 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/src/language/jump_es.properties 2015-04-18 07:41:26 UTC (rev 4401) @@ -2496,3 +2496,4 @@ org.openjump.core.ui.plugin.queries.SimpleQuery.boolean=Boolean ui.EditOptionsPanel.configure-layer-tree-tooltip=Configurar el tooltip de las capas ui.EditOptionsPanel.enable-JUMP-basic-tooltips= +ui.snap.SnapOptionsPanel.snap-to-linestring-being-edited=\#T\:Snap to LineString being edited Modified: core/trunk/src/language/jump_fi.properties =================================================================== --- core/trunk/src/language/jump_fi.properties 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/src/language/jump_fi.properties 2015-04-18 07:41:26 UTC (rev 4401) @@ -2496,3 +2496,4 @@ org.openjump.core.ui.plugin.queries.SimpleQuery.boolean=\#T\:Boolean ui.EditOptionsPanel.configure-layer-tree-tooltip=\#T\:Configure layer tree tooltip ui.EditOptionsPanel.enable-JUMP-basic-tooltips= +ui.snap.SnapOptionsPanel.snap-to-linestring-being-edited=\#T\:Snap to LineString being edited Modified: core/trunk/src/language/jump_fr.properties =================================================================== --- core/trunk/src/language/jump_fr.properties 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/src/language/jump_fr.properties 2015-04-18 07:41:26 UTC (rev 4401) @@ -2521,3 +2521,4 @@ org.openjump.core.ui.plugin.queries.SimpleQuery.boolean=Bool\xE9en ui.EditOptionsPanel.configure-layer-tree-tooltip=Options d'affichage dans la liste des couches ui.EditOptionsPanel.enable-JUMP-basic-tooltips=Affichage d'une bulle d'aide pour les couches +ui.snap.SnapOptionsPanel.snap-to-linestring-being-edited=S'accrocher \xE0 la ligne en cours de saisie Modified: core/trunk/src/language/jump_hu.properties =================================================================== --- core/trunk/src/language/jump_hu.properties 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/src/language/jump_hu.properties 2015-04-18 07:41:26 UTC (rev 4401) @@ -2513,3 +2513,4 @@ org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.nodatasourcelayer.message=\#T\:This layer has no datasource org.openjump.core.ui.plugin.queries.SimpleQuery.boolean=\#T\:Boolean ui.EditOptionsPanel.configure-layer-tree-tooltip=\#T\:Configure layer tree tooltip +ui.snap.SnapOptionsPanel.snap-to-linestring-being-edited=\#T\:Snap to LineString being edited Modified: core/trunk/src/language/jump_it.properties =================================================================== --- core/trunk/src/language/jump_it.properties 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/src/language/jump_it.properties 2015-04-18 07:41:26 UTC (rev 4401) @@ -2496,3 +2496,4 @@ org.openjump.core.ui.plugin.queries.SimpleQuery.boolean=Boolean ui.EditOptionsPanel.configure-layer-tree-tooltip=Configura tooltip dei livelli ui.EditOptionsPanel.enable-JUMP-basic-tooltips=Habilitar el tooltip b\xE1sico JUMP +ui.snap.SnapOptionsPanel.snap-to-linestring-being-edited=\#T\:Snap to LineString being edited Modified: core/trunk/src/language/jump_ja_JP.properties =================================================================== --- core/trunk/src/language/jump_ja_JP.properties 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/src/language/jump_ja_JP.properties 2015-04-18 07:41:26 UTC (rev 4401) @@ -2515,3 +2515,4 @@ org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.nodatasourcelayer.message=\#T\:This layer has no datasource org.openjump.core.ui.plugin.queries.SimpleQuery.boolean=\#T\:Boolean ui.EditOptionsPanel.configure-layer-tree-tooltip=\#T\:Configure layer tree tooltip +ui.snap.SnapOptionsPanel.snap-to-linestring-being-edited=\#T\:Snap to LineString being edited Modified: core/trunk/src/language/jump_ml.properties =================================================================== --- core/trunk/src/language/jump_ml.properties 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/src/language/jump_ml.properties 2015-04-18 07:41:26 UTC (rev 4401) @@ -3786,3 +3786,4 @@ org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.nodatasourcelayer.message=\#T\:This layer has no datasource org.openjump.core.ui.plugin.queries.SimpleQuery.boolean=\#T\:Boolean ui.EditOptionsPanel.configure-layer-tree-tooltip=\#T\:Configure layer tree tooltip +ui.snap.SnapOptionsPanel.snap-to-linestring-being-edited=\#T\:Snap to LineString being edited Modified: core/trunk/src/language/jump_pt.properties =================================================================== --- core/trunk/src/language/jump_pt.properties 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/src/language/jump_pt.properties 2015-04-18 07:41:26 UTC (rev 4401) @@ -2512,3 +2512,4 @@ org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.nodatasourcelayer.message=\#T\:This layer has no datasource org.openjump.core.ui.plugin.queries.SimpleQuery.boolean=\#T\:Boolean ui.EditOptionsPanel.configure-layer-tree-tooltip=\#T\:Configure layer tree tooltip +ui.snap.SnapOptionsPanel.snap-to-linestring-being-edited=\#T\:Snap to LineString being edited Modified: core/trunk/src/language/jump_pt_BR.properties =================================================================== --- core/trunk/src/language/jump_pt_BR.properties 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/src/language/jump_pt_BR.properties 2015-04-18 07:41:26 UTC (rev 4401) @@ -2511,4 +2511,5 @@ jump.workbench.ui.plugin.datastore.AddDatastoreLayerPanel.No-geo-table-found=\#T\:No geo table found for this connection org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.nodatasourcelayer.message=\#T\:This layer has no datasource org.openjump.core.ui.plugin.queries.SimpleQuery.boolean=\#T\:Boolean -ui.EditOptionsPanel.configure-layer-tree-tooltip=\#T\:Configure layer tree tooltip \ No newline at end of file +ui.EditOptionsPanel.configure-layer-tree-tooltip=\#T\:Configure layer tree tooltip +ui.snap.SnapOptionsPanel.snap-to-linestring-being-edited=\#T\:Snap to LineString being edited \ No newline at end of file Modified: core/trunk/src/language/jump_ta_IN.properties =================================================================== --- core/trunk/src/language/jump_ta_IN.properties 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/src/language/jump_ta_IN.properties 2015-04-18 07:41:26 UTC (rev 4401) @@ -2511,3 +2511,4 @@ org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.nodatasourcelayer.message=\#T\:This layer has no datasource org.openjump.core.ui.plugin.queries.SimpleQuery.boolean=\#T\:Boolean ui.EditOptionsPanel.configure-layer-tree-tooltip=\#T\:Configure layer tree tooltip +ui.snap.SnapOptionsPanel.snap-to-linestring-being-edited=\#T\:Snap to LineString being edited Modified: core/trunk/src/language/jump_te.properties =================================================================== --- core/trunk/src/language/jump_te.properties 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/src/language/jump_te.properties 2015-04-18 07:41:26 UTC (rev 4401) @@ -3020,3 +3020,4 @@ org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.nodatasourcelayer.message=\#T\:This layer has no datasource org.openjump.core.ui.plugin.queries.SimpleQuery.boolean=\#T\:Boolean ui.EditOptionsPanel.configure-layer-tree-tooltip=\#T\:Configure layer tree tooltip +ui.snap.SnapOptionsPanel.snap-to-linestring-being-edited=\#T\:Snap to LineString being edited Modified: core/trunk/src/language/jump_zh_CN.properties =================================================================== --- core/trunk/src/language/jump_zh_CN.properties 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/src/language/jump_zh_CN.properties 2015-04-18 07:41:26 UTC (rev 4401) @@ -2675,3 +2675,4 @@ org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.nodatasourcelayer.message=\#T\:This layer has no datasource org.openjump.core.ui.plugin.queries.SimpleQuery.boolean=\#T\:Boolean ui.EditOptionsPanel.configure-layer-tree-tooltip=\#T\:Configure layer tree tooltip +ui.snap.SnapOptionsPanel.snap-to-linestring-being-edited=\#T\:Snap to LineString being edited Modified: core/trunk/src/language/jump_zh_HK.properties =================================================================== --- core/trunk/src/language/jump_zh_HK.properties 2015-04-15 15:37:55 UTC (rev 4400) +++ core/trunk/src/language/jump_zh_HK.properties 2015-04-18 07:41:26 UTC (rev 4401) @@ -2673,4 +2673,5 @@ jump.workbench.ui.plugin.datastore.AddDatastoreLayerPanel.No-geo-table-found=\#T\:No geo table found for this connection org.openjump.core.ui.plugin.layer.LayerPropertiesPlugIn.nodatasourcelayer.message=\#T\:This layer has no datasource org.openjump.core.ui.plugin.queries.SimpleQuery.boolean=\#T\:Boolean -ui.EditOptionsPanel.configure-layer-tree-tooltip=\#T\:Configure layer tree tooltip \ No newline at end of file +ui.EditOptionsPanel.configure-layer-tree-tooltip=\#T\:Configure layer tree tooltip +ui.snap.SnapOptionsPanel.snap-to-linestring-being-edited=\#T\:Snap to LineString being edited \ No newline at end of file ------------------------------------------------------------------------------ BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel