Revision 1178 org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/RasterExtension.java
RasterExtension.java | ||
---|---|---|
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 |
} |
Also available in: Unified diff