Revision: 6073 http://sourceforge.net/p/jump-pilot/code/6073 Author: ma15569 Date: 2019-01-06 11:59:15 +0000 (Sun, 06 Jan 2019) Log Message: ----------- Expanded selection to Layerables. Correct bug on dragging any layer over RasterImageLayers: all the raster layers where expanded make difficult the dragging process (Roberto Rossi, Univesity of Padua, personal comunication)
Modified Paths: -------------- core/trunk/src/com/vividsolutions/jump/workbench/ui/TreeLayerNamePanel.java Modified: core/trunk/src/com/vividsolutions/jump/workbench/ui/TreeLayerNamePanel.java =================================================================== --- core/trunk/src/com/vividsolutions/jump/workbench/ui/TreeLayerNamePanel.java 2019-01-04 06:43:33 UTC (rev 6072) +++ core/trunk/src/com/vividsolutions/jump/workbench/ui/TreeLayerNamePanel.java 2019-01-06 11:59:15 UTC (rev 6073) @@ -85,6 +85,7 @@ import com.vividsolutions.jump.workbench.model.WMSLayer; import com.vividsolutions.jump.workbench.ui.renderer.RenderingManager; import com.vividsolutions.jump.workbench.ui.renderer.style.BasicStyle; + import org.openjump.core.rasterimage.RasterSymbology; public class TreeLayerNamePanel extends JPanel implements LayerListener, @@ -344,7 +345,9 @@ // return; //} - if (!(tree.getPathForRow(rowNew).getLastPathComponent() instanceof Layer)) { + //[Giuseppe Aruta 2019-01-06] as suggested by Roberto Rossi (University of Padua) also RasterImageLayer don't need to be expanded when + // dragged on layerable tree + if (!(tree.getPathForRow(rowNew).getLastPathComponent() instanceof Layer) && !(tree.getPathForRow(rowNew).getLastPathComponent() instanceof RasterImageLayer)) { tree.expandRow(rowNew); } @@ -717,6 +720,12 @@ new Layer[] {}); } + + public static Layerable[] selectedLayerabless(LayerNamePanel layerNamePanel) { + return (Layerable[]) layerNamePanel.selectedNodes(Layer.class).toArray( + new Layerable[] {}); + } + public Collection getSelectedLayerables() { return selectedNodes(Layerable.class); } @@ -760,6 +769,20 @@ tree.addSelectionPath(TreeUtil.findTreePath(layer, tree.getModel())); } + + public void setSelectedLayerables(Layerable[] layers) { + tree.getSelectionModel().clearSelection(); + + for (final Layerable layer : layers) { + addSelectedLayerable(layer); + } + } + + protected void addSelectedLayerable(Layerable layer) { + tree.addSelectionPath(TreeUtil.findTreePath(layer, tree.getModel())); + } + + public void layerChanged(final LayerEvent e) { final TreeModelEvent treeModelEvent = new TreeModelEvent(this, new Object[] { tree.getModel().getRoot(), e.getCategory() }, _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel