We have actually disallowed the selection from 2 layers to be rendered. It is not the best solution but was required because it was hard to otherwise have understandable workflows. From a coding point of view you may need a 3rd layer and use that as the selection layer and add and remove features from it. Not a great solution I admit.
We have a new Selection API but it is not yet finished. Jesse On Fri, Apr 24, 2009 at 4:32 PM, andrea antonello < [email protected]> wrote: > Hi, to get more then one layer, you have to step down into the eclipse > api and ask the view for what was selected: > > > ISelection selection = > PlatformUI.getWorkbench().getActiveWorkbenchWindow() > > .getActivePage().findView(LayersView.ID).getSite().getSelectionProvider() > .getSelection(); > > if (selection instanceof TreeSelection) { > TreeSelection treeSelection = (TreeSelection) selection; > Iterator iterator = treeSelection.iterator(); > while( iterator.hasNext() ) { > Object object = iterator.next(); > if (object instanceof LayerImpl) { > LayerImpl layer = (LayerImpl) object; > YourResourceClass resource = layer.getResource( > YourResourceClass.class, new > NullProgressMonitor()); > if (resource != null) { > // do fun with resource > } > } > } > } > > Ciao > Andrea > > > On Fri, Apr 24, 2009 at 4:17 PM, Rui Alves <[email protected]> > wrote: > > Hi, > > > > I am using the latest uDig stable version 1.1.1 and I want to have the > > following scenario: > > > > I have a map with 4 layers: > > > > Layer4 - Lines > > Layer3 - Points type C > > Layer2 - Points type B > > Layer1 - Points type A > > > > I want to select (with the typical selection Bounding Box) points on > Layer 1 > > and layer 3. > > > > Using the shift key I can select multiple layers (on this case Layer 1 > and > > layer 3) but when I use the selection tool only the features on the last > > selected layer are selected. > > I made a plug-in that goes through all the layers and select the features > on > > the defined bounding box. I can also restrict the selection to the layers > > that are visible. > > How can I restrict the selection to the selected layers (on this case > layer > > 1 and 3)? > > > > Here it is the code to select the features in all layers: > > > > Envelope ev; > > Coordinate start; > > > > --------- on mouse pressed ---------- > > > > start=getContext().pixelToWorld(e.x, e.y); > > ev.init(); > > ev.expandToInclude(start); > > > > --------- on mouse released ---------- > > Coordinate end=getContext().pixelToWorld(e.x, e.y); > > ev.expandToInclude(end); > > > > > > for(int layerInd = 0; layerInd <= map.getMapLayers().size() - > 1; > > layerInd++) > > { > > ILayer layer = map.getMapLayers().get(layerInd); > > > > if(layer.isVisible()) > > { > > Filter filter = layer.createBBoxFilter(ev, null); > > command = > > getContext().getSelectionFactory().createSelectCommand(layer, filter); > > getContext().sendASyncCommand(command); > > } > > } > > > > Thanks, > > > > Rui Alves > > > > > > _______________________________________________ > > User-friendly Desktop Internet GIS (uDig) > > http://udig.refractions.net > > http://lists.refractions.net/mailman/listinfo/udig-devel > > > > > _______________________________________________ > User-friendly Desktop Internet GIS (uDig) > http://udig.refractions.net > http://lists.refractions.net/mailman/listinfo/udig-devel >
_______________________________________________ User-friendly Desktop Internet GIS (uDig) http://udig.refractions.net http://lists.refractions.net/mailman/listinfo/udig-devel
