-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathactions.py
78 lines (62 loc) · 2.41 KB
/
actions.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# encoding: utf-8
import gvsig
from org.gvsig.app import ApplicationLocator
from org.gvsig.andami import PluginsLocator
from org.gvsig.scripting.app.extension import ScriptingExtension
from org.gvsig.tools.swing.api import ToolsSwingLocator
from org.gvsig.tools import ToolsLocator
from java.io import File
from toolFinder import ToolFinderPanel
class ToolFinderExtension(ScriptingExtension):
def __init__(self):
pass
def canQueryByAction(self):
return True
def isVisible(self, action):
if gvsig.currentView()!=None:
return True
return False
def isLayerValid(self, layer):
return True
def isEnabled(self, action):
#if not self.isLayerValid(layer):
# return False
if gvsig.currentView()!=None:
return True
return False
def execute(self,actionCommand, *args):
actionCommand = actionCommand.lower()
if actionCommand == "settool-toolfinder":
viewPanel = gvsig.currentView().getWindowOfView()
mapControl = viewPanel.getMapControl()
mytool = ToolFinderPanel()
i18n = ToolsLocator.getI18nManager()
mytool.showTool(i18n.getTranslation("_Tool_finder"))
def selfRegisterI18n():
i18nManager = ToolsLocator.getI18nManager()
i18nManager.addResourceFamily("text",File(gvsig.getResource(__file__,"i18n")))
def selfRegister():
selfRegisterI18n()
i18n = ToolsLocator.getI18nManager()
application = ApplicationLocator.getManager()
actionManager = PluginsLocator.getActionInfoManager()
iconTheme = ToolsSwingLocator.getIconThemeManager().getCurrent()
toolfinder_icon = File(gvsig.getResource(__file__,"images","toolFinder.png")).toURI().toURL()
iconTheme.registerDefault("scripting.toolfinder", "action", "tools-toolfinder", None, toolfinder_icon) #quickinfo_icon)
mytool_extension = ToolFinderExtension()
mytool_action = actionManager.createAction(
mytool_extension,
"tools-toolfinder", # Action name
"Tool finder", # Text
"settool-toolfinder", # Action command
"tools-toolfinder", # Icon name
None, # Accelerator
1009000000, # Position
i18n.getTranslation("_Tool_finder") # Tooltip
)
mytool_action = actionManager.registerAction(mytool_action)
# Añadimos la entrada en el menu herramientas
application.addMenu(mytool_action, "tools/"+i18n.getTranslation("_Tool_finder"))
application.addTool(mytool_action, "ToolFinder")
def main(*args):
selfRegister()