Statistics
| Revision:

gvsig-scripting / org.gvsig.scripting / trunk / org.gvsig.scripting / org.gvsig.scripting.app / org.gvsig.scripting.app.mainplugin / src / main / resources-plugin / scripting / scripts / libs / applicationtoolbar.py @ 497

History | View | Annotate | Download (1.93 KB)

1

    
2
def __createAction(scriptName, label=None, iconName=None, tooltip=None, position= 2009009009):
3
  from org.gvsig.andami import PluginsLocator
4
  from org.gvsig.scripting.app.extension import ScriptingExtension
5
  from javax.imageio import ImageIO
6
  from org.gvsig.tools.swing.api import ToolsSwingLocator
7
  from java.io import File
8
  from org.apache.commons.io import FilenameUtils
9
  from javax.swing import ImageIcon
10
  
11
  if label == None:
12
    label = scriptName
13
  if iconName == None:
14
    iconName = "tools-scripting-launcher"
15
  if tooltip == None:
16
    tooltip = label
17
  if isinstance(iconName,File):
18
    iconFile = iconName
19
    iconName = FilenameUtils.getBaseName(iconFile.getName())
20
    iconImage = ImageIcon(ImageIO.read(iconFile))
21
    iconTheme = ToolsSwingLocator.getIconThemeManager().getDefault()
22
    iconTheme.registerDefault("scripting", "scripting", iconName, iconImage, None)
23
    
24
  actionManager = PluginsLocator.getActionInfoManager()
25
  actionName = "script-%s" % scriptName
26
  action = actionManager.createAction(
27
    ScriptingExtension, 
28
    actionName, 
29
    label, 
30
    scriptName, 
31
    iconName, 
32
    None, 
33
    position, 
34
    tooltip
35
  )
36
  action = actionManager.registerAction(action)
37
  return action
38

    
39
def toolbar_add(scriptName, label=None, iconName=None, tooltip=None, position=2009009009):
40
  application = ApplicationLocator.getManager()
41
  action = __createAction(scriptName, label, iconName, tooltip, position)
42
  application.addTool(action, "scripting")
43
  application.message("added script '%s' to toolbar" % scriptName,1)
44

    
45
def menus_add(scriptName, label=None, menuEntry=None, iconName=None, tooltip=None, position= 2009009009):
46
  application = ApplicationLocator.getManager()
47
  action = __createAction(scriptName, label, iconName, tooltip, position)
48
  if menuEntry == None:
49
    menuEntry = "tools/Scripting/%s" % action.getLabel()
50
  application.addMenu(action, menuEntry)
51
  application.message("added script '%s' to menu '%s'" % (scriptName,menuEntry),1)