public void execute(String actionCommand) { IProjectView model = vista.getModel(); MapContext mapa = model.getMapContext(); logger.debug("Comand : " + actionCommand); if (actionCommand.equals("INVERT_SELECTION")) { FLayer[] actives = mapa.getLayers().getActives(); for (int i = 0; i < actives.length; i++) { FLayer lyr = actives[i]; if (lyr.isAvailable() && lyr instanceof SingleLayer) { SingleLayer lyrSingle = (SingleLayer) lyr; DataStore ds = lyrSingle.getDataStore(); if (ds instanceof FeatureStore) { try { ((FeatureStore) ds).getFeatureSelection().reverse(); ((ProjectDocument) vista.getModel()).setModified(true); } catch (DataException e) { e.printStackTrace(); NotificationManager.addError(e); } } else { // TODO Not supported yet } } } ((ProjectDocument) vista.getModel()).setModified(true); } }
public boolean isVisible() { IWindow f = PluginServices.getMDIManager().getActiveWindow(); if (f != null && f instanceof View) { vista = (View) f; IProjectView model = vista.getModel(); MapContext mapa = model.getMapContext(); return hasVectorLayers(mapa.getLayers()); } return false; }
public boolean isEnabled() { IProjectView model = vista.getModel(); MapContext mapa = model.getMapContext(); for (int i = 0; i < mapa.getLayers().getActives().length; i++) { FLayer lyr = mapa.getLayers().getActives()[i]; if (lyr.isAvailable() && lyr instanceof FLyrVect) { // && !lyr.isEditing()) { return true; } } return false; }