Revision 952 org.gvsig.scripting/trunk/org.gvsig.scripting/org.gvsig.scripting.swing/org.gvsig.scripting.swing.impl/src/main/java/org/gvsig/scripting/swing/impl/DefaultJScriptingLauncher.java
DefaultJScriptingLauncher.java | ||
---|---|---|
21 | 21 |
import org.gvsig.scripting.swing.api.JScriptingLauncher; |
22 | 22 |
import org.gvsig.scripting.swing.api.ScriptingUIManager; |
23 | 23 |
import org.gvsig.scripting.swing.impl.DefaultJScriptingBrowser.DefaultBrowserActionEvent; |
24 |
import org.gvsig.tools.swing.api.ActionListenerSupport; |
|
25 |
import org.gvsig.tools.swing.api.ToolsSwingLocator; |
|
26 |
import org.gvsig.tools.util.CancelledException; |
|
24 | 27 |
import org.slf4j.Logger; |
25 | 28 |
import org.slf4j.LoggerFactory; |
26 | 29 |
|
27 | 30 |
public class DefaultJScriptingLauncher extends JPanel implements JScriptingLauncher, ActionListener { |
28 | 31 |
|
29 | 32 |
private static final Logger LOG = LoggerFactory.getLogger(DefaultJScriptingLauncher.class); |
30 |
/** |
|
31 |
* |
|
32 |
*/ |
|
33 |
|
|
33 | 34 |
private static final long serialVersionUID = -2612734398104678920L; |
34 | 35 |
|
35 |
protected ActionListener defaultActionlistener = null; |
|
36 |
// protected ActionListener selectionActionlistener = null; |
|
37 |
// protected ActionListener dropDownActionlistener = null; |
|
36 |
|
|
37 |
protected ActionListenerSupport defaultActionlisteners = null; |
|
38 | 38 |
JTabbedPane pestana; |
39 | 39 |
ScriptingUIManager uimanager; |
40 | 40 |
ScriptingManager manager; |
... | ... | |
43 | 43 |
this.uimanager = uimanager; |
44 | 44 |
this.manager = uimanager.getManager(); |
45 | 45 |
|
46 |
this.defaultActionlisteners = ToolsSwingLocator.getToolsSwingManager().createActionListenerSupport(); |
|
46 | 47 |
List<ScriptingFolder> folders = new ArrayList<>(); |
47 | 48 |
folders.add(manager.getUserFolder()); |
48 | 49 |
folders.addAll(manager.getAlternativeUserFolders()); |
... | ... | |
80 | 81 |
|
81 | 82 |
@Override |
82 | 83 |
public void addDefaultActionListener(ActionListener actionlistener) { |
83 |
this.defaultActionlistener = actionlistener;
|
|
84 |
this.defaultActionlisteners.addActionListener(actionlistener);
|
|
84 | 85 |
} |
85 | 86 |
|
86 | 87 |
@Override |
87 | 88 |
public void actionPerformed(ActionEvent e) { |
88 |
BrowserActionEvent e2 = (BrowserActionEvent) e; |
|
89 |
|
|
90 |
switch (e.getID()) { |
|
91 |
case DefaultJScriptingBrowser.DEFAULT_ACTION: |
|
92 |
if (this.defaultActionlistener == null) { |
|
93 |
ScriptingUnit unit = e2.getUnit(); |
|
94 |
if( unit instanceof ScriptingBaseScript ) { |
|
95 |
ScriptingBaseScript script = (ScriptingBaseScript) unit; |
|
96 |
try { |
|
97 |
script.compile(); |
|
98 |
script.runAsTask(null); |
|
99 |
} catch (ScriptingRunningException ex) { |
|
100 |
LOG.warn("Problems launching script '" + script.getName() + "'", ex); |
|
89 |
try { |
|
90 |
BrowserActionEvent e2 = (BrowserActionEvent) e; |
|
91 |
switch (e.getID()) { |
|
92 |
case DefaultJScriptingBrowser.DEFAULT_ACTION: |
|
93 |
if( this.defaultActionlisteners.hasActionListeners() ) { |
|
94 |
this.defaultActionlisteners.fireActionEvent( |
|
95 |
new DefaultBrowserActionEvent(this, DEFAULT_ACTION, "default", e2.getUnit()) |
|
96 |
); |
|
97 |
} else { |
|
98 |
ScriptingUnit unit = e2.getUnit(); |
|
99 |
if( unit instanceof ScriptingBaseScript ) { |
|
100 |
ScriptingBaseScript script = (ScriptingBaseScript) unit; |
|
101 |
try { |
|
102 |
script.compile(); |
|
103 |
script.runAsTask(null); |
|
104 |
} catch (ScriptingRunningException ex) { |
|
105 |
LOG.warn("Problems launching script '" + script.getName() + "'", ex); |
|
106 |
} |
|
101 | 107 |
} |
102 | 108 |
} |
103 |
} else { |
|
104 |
this.defaultActionlistener.actionPerformed( |
|
105 |
new DefaultBrowserActionEvent(this, DEFAULT_ACTION, "default", e2.getUnit()) |
|
109 |
break; |
|
110 |
case DefaultJScriptingBrowser.DROPDOWN_ACTION: |
|
111 |
case DefaultJScriptingBrowser.SELECTION_ACTION: |
|
112 |
this.defaultActionlisteners.fireActionEvent( |
|
113 |
new DefaultBrowserActionEvent(this, e.getID(), "default", e2.getUnit()) |
|
106 | 114 |
); |
107 |
} |
|
108 |
break; |
|
109 |
case DefaultJScriptingBrowser.DROPDOWN_ACTION: |
|
110 |
case DefaultJScriptingBrowser.SELECTION_ACTION: |
|
111 |
if (this.defaultActionlistener != null) { |
|
112 |
this.defaultActionlistener.actionPerformed( |
|
113 |
new DefaultBrowserActionEvent(this, DEFAULT_ACTION, "default", e2.getUnit()) |
|
114 |
); |
|
115 |
} |
|
116 |
break; |
|
115 |
break; |
|
116 |
} |
|
117 |
} catch( CancelledException ex) { |
|
118 |
// Do norhing |
|
119 |
} catch(Throwable th) { |
|
120 |
LOG.warn("",th); |
|
117 | 121 |
} |
118 | 122 |
} |
119 | 123 |
} |
Also available in: Unified diff