21 |
21 |
*/
|
22 |
22 |
package org.gvsig.raster.tools.app.basic;
|
23 |
23 |
|
24 |
|
import java.awt.Component;
|
25 |
24 |
import java.util.ArrayList;
|
26 |
25 |
import java.util.prefs.Preferences;
|
27 |
26 |
|
28 |
|
import javax.swing.JOptionPane;
|
29 |
|
|
30 |
27 |
import org.gvsig.andami.IconThemeHelper;
|
31 |
28 |
import org.gvsig.andami.PluginServices;
|
32 |
29 |
import org.gvsig.andami.plugins.Extension;
|
... | ... | |
36 |
33 |
import org.gvsig.app.ApplicationManager;
|
37 |
34 |
import org.gvsig.app.project.documents.view.ViewDocument;
|
38 |
35 |
import org.gvsig.app.project.documents.view.gui.AbstractViewPanel;
|
|
36 |
import org.gvsig.app.project.documents.view.toc.AbstractTocContextMenuAction;
|
39 |
37 |
import org.gvsig.app.project.documents.view.toc.ITocItem;
|
40 |
|
import org.gvsig.app.project.documents.view.toolListeners.StatusBarListener;
|
41 |
38 |
import org.gvsig.fmap.dal.coverage.RasterLibrary;
|
42 |
39 |
import org.gvsig.fmap.dal.coverage.store.RasterDataStore;
|
43 |
40 |
import org.gvsig.fmap.mapcontext.MapContext;
|
44 |
41 |
import org.gvsig.fmap.mapcontext.layers.FLayer;
|
45 |
42 |
import org.gvsig.fmap.mapcontext.layers.FLayers;
|
46 |
|
import org.gvsig.fmap.mapcontrol.MapControl;
|
47 |
|
import org.gvsig.fmap.mapcontrol.tools.Behavior.Behavior;
|
48 |
|
import org.gvsig.fmap.mapcontrol.tools.Behavior.MouseMovementBehavior;
|
49 |
|
import org.gvsig.fmap.mapcontrol.tools.Behavior.PointBehavior;
|
50 |
43 |
import org.gvsig.raster.fmap.FmapRasterLibrary;
|
51 |
44 |
import org.gvsig.raster.fmap.layers.DefaultFLyrRaster;
|
52 |
45 |
import org.gvsig.raster.fmap.layers.FLyrRaster;
|
... | ... | |
63 |
56 |
import org.gvsig.raster.tools.app.basic.tool.filter.grayscale.GrayScaleManager;
|
64 |
57 |
import org.gvsig.raster.tools.app.basic.tool.filter.mask.MaskListManager;
|
65 |
58 |
import org.gvsig.raster.tools.app.basic.tool.filter.regionalpha.RegionAlphaListManager;
|
66 |
|
import org.gvsig.raster.tools.app.basic.tool.multiresolution.ResolutionLevelListener;
|
67 |
59 |
import org.gvsig.raster.tools.app.basic.tool.properties.RasterPropertiesTocMenuEntry;
|
68 |
60 |
import org.gvsig.raster.tools.app.basic.tool.properties.panel.EnhancedPanel;
|
69 |
61 |
import org.gvsig.raster.tools.app.basic.tool.properties.panel.GeneralPanel;
|
... | ... | |
72 |
64 |
import org.gvsig.raster.tools.app.basic.tool.rasterresolution.ZoomPixelCursorTocMenuEntry;
|
73 |
65 |
import org.gvsig.raster.tools.app.basic.tool.saveas.SaveAsTocMenuEntry;
|
74 |
66 |
import org.gvsig.tools.ToolsLocator;
|
|
67 |
import org.gvsig.tools.extensionpoint.ExtensionBuilder;
|
75 |
68 |
import org.gvsig.tools.extensionpoint.ExtensionPoint;
|
76 |
69 |
import org.gvsig.tools.extensionpoint.ExtensionPointManager;
|
77 |
70 |
|
... | ... | |
98 |
91 |
* tenga
|
99 |
92 |
*/
|
100 |
93 |
public static boolean askCoordinates = false;
|
|
94 |
private ExtensionPoint genericToolBarMenuExtensionPoint = null;
|
101 |
95 |
|
102 |
96 |
/*
|
103 |
97 |
* (non-Javadoc)
|
104 |
98 |
* @see com.iver.andami.plugins.IExtension#execute(java.lang.String)
|
105 |
99 |
*/
|
106 |
100 |
public void execute(String actionCommand) {
|
107 |
|
if(actionCommand.compareTo("ZOOM_RES_LEVEL") == 0) {
|
108 |
|
IWindow theView = PluginServices.getMDIManager().getActiveWindow();
|
109 |
|
if(!(theView instanceof AbstractViewPanel)) {
|
110 |
|
JOptionPane.showMessageDialog((Component)PluginServices.getMainFrame(), PluginServices.getText(this.getClass(), "window_not_valid"));
|
111 |
|
return;
|
|
101 |
//Las entradas en GenericToolBarModule est?n registradas con la misma etiqueta que el actionCommand
|
|
102 |
//De esta forma pueden recuperarse los TocMenuEntry del punto de extensi?n y ejecutar la acci?n a
|
|
103 |
//trav?s de este.
|
|
104 |
ExtensionBuilder ext = getGenericToolBarMenuExtensionPoint().get(actionCommand).getBuilder();
|
|
105 |
if(ext != null && ext instanceof AbstractTocContextMenuAction) {
|
|
106 |
IWindow w = PluginServices.getMDIManager().getActiveWindow();
|
|
107 |
if(w instanceof AbstractViewPanel) {
|
|
108 |
FLayers lyrs = ((AbstractViewPanel)w).getMapControl().getMapContext().getLayers();
|
|
109 |
FLayer[] actives = lyrs.getActives();
|
|
110 |
((AbstractTocContextMenuAction)ext).execute(null, actives);
|
112 |
111 |
}
|
113 |
|
|
114 |
|
MapControl mapCtrl = ((AbstractViewPanel)theView).getMapControl();
|
115 |
|
StatusBarListener sbl = new StatusBarListener(mapCtrl);
|
116 |
|
ResolutionLevelListener rll = new ResolutionLevelListener();
|
117 |
|
mapCtrl.addBehavior("zoomResolutionLevel", new Behavior[]{new PointBehavior(rll),
|
118 |
|
new MouseMovementBehavior(sbl)});
|
119 |
|
mapCtrl.setTool("zoomResolutionLevel");
|
120 |
112 |
}
|
121 |
113 |
}
|
122 |
114 |
|
... | ... | |
484 |
476 |
}
|
485 |
477 |
|
486 |
478 |
public boolean isEnabled(String action) {
|
487 |
|
return true;
|
|
479 |
//Las entradas en GenericToolBarModule est?n registradas con la misma etiqueta que el actionCommand
|
|
480 |
//De esta forma pueden recuperarse los TocMenuEntry del punto de extensi?n y ejecutar isEnable a
|
|
481 |
//trav?s de este.
|
|
482 |
ExtensionBuilder ext = getGenericToolBarMenuExtensionPoint().get(action).getBuilder();
|
|
483 |
if(ext != null && ext instanceof AbstractTocContextMenuAction) {
|
|
484 |
IWindow w = PluginServices.getMDIManager().getActiveWindow();
|
|
485 |
if(w instanceof AbstractViewPanel) {
|
|
486 |
FLayers lyrs = ((AbstractViewPanel)w).getMapControl().getMapContext().getLayers();
|
|
487 |
FLayer[] actives = lyrs.getActives();
|
|
488 |
return ((AbstractTocContextMenuAction)ext).isEnabled(null, actives);
|
|
489 |
}
|
|
490 |
}
|
|
491 |
return false;
|
488 |
492 |
}
|
489 |
493 |
|
490 |
494 |
public boolean isVisible(String action) {
|
491 |
|
return true;
|
|
495 |
//Las entradas en GenericToolBarModule est?n registradas con la misma etiqueta que el actionCommand
|
|
496 |
//De esta forma pueden recuperarse los TocMenuEntry del punto de extensi?n y ejecutar isVisible a
|
|
497 |
//trav?s de este.
|
|
498 |
ExtensionBuilder ext = getGenericToolBarMenuExtensionPoint().get(action).getBuilder();
|
|
499 |
if(ext != null && ext instanceof AbstractTocContextMenuAction) {
|
|
500 |
IWindow w = PluginServices.getMDIManager().getActiveWindow();
|
|
501 |
if(w instanceof AbstractViewPanel) {
|
|
502 |
FLayers lyrs = ((AbstractViewPanel)w).getMapControl().getMapContext().getLayers();
|
|
503 |
FLayer[] actives = lyrs.getActives();
|
|
504 |
return ((AbstractTocContextMenuAction)ext).isVisible(null, actives);
|
|
505 |
}
|
|
506 |
}
|
|
507 |
return false;
|
492 |
508 |
}
|
|
509 |
|
|
510 |
public ExtensionPoint getGenericToolBarMenuExtensionPoint() {
|
|
511 |
if(genericToolBarMenuExtensionPoint == null) {
|
|
512 |
ExtensionPointManager extensionPoints = ToolsLocator.getExtensionPointManager();
|
|
513 |
genericToolBarMenuExtensionPoint = extensionPoints.get("GenericToolBarMenu");
|
|
514 |
}
|
|
515 |
return genericToolBarMenuExtensionPoint;
|
|
516 |
}
|
493 |
517 |
}
|