Revision 953 org.gvsig.scripting/trunk/org.gvsig.scripting/org.gvsig.scripting.swing/org.gvsig.scripting.swing.impl/src/main/java/org/gvsig/scripting/swing/impl/DefaultJScriptingBrowser.java
DefaultJScriptingBrowser.java | ||
---|---|---|
39 | 39 |
import org.gvsig.scripting.ScriptingManager; |
40 | 40 |
import org.gvsig.scripting.ScriptingUnit; |
41 | 41 |
import org.gvsig.scripting.swing.api.JScriptingBrowser; |
42 |
import static org.gvsig.scripting.swing.api.JScriptingBrowser.DEFAULT_ACTION; |
|
43 |
import static org.gvsig.scripting.swing.api.JScriptingBrowser.SELECTION_ACTION; |
|
42 | 44 |
import org.gvsig.scripting.swing.api.ScriptingUIManager; |
45 |
import org.gvsig.tools.swing.api.ActionListenerSupport; |
|
46 |
import org.gvsig.tools.swing.api.ToolsSwingLocator; |
|
43 | 47 |
import org.slf4j.LoggerFactory; |
44 | 48 |
import org.slf4j.Logger; |
45 | 49 |
|
... | ... | |
53 | 57 |
protected TreeModel treeModel; |
54 | 58 |
protected JTree tree; |
55 | 59 |
protected ScriptingFolder root; |
56 |
protected ActionListener defaultActionlistener = null; |
|
57 |
protected ActionListener selectionActionlistener = null; |
|
60 |
protected ActionListenerSupport actionlisteners = null; |
|
58 | 61 |
private final boolean foldersOnly; |
59 | 62 |
|
60 | 63 |
public static class DefaultBrowserActionEvent extends ActionEvent implements BrowserActionEvent { |
... | ... | |
198 | 201 |
public DefaultJScriptingBrowser(ScriptingUIManager uimanager, |
199 | 202 |
ScriptingFolder root, boolean foldersOnly) { |
200 | 203 |
super(new GridLayout(1, 2)); |
204 |
this.actionlisteners = ToolsSwingLocator.getToolsSwingManager().createActionListenerSupport(); |
|
201 | 205 |
this.foldersOnly = foldersOnly; |
202 | 206 |
this.uimanager = uimanager; |
203 | 207 |
this.manager = uimanager.getManager(); |
... | ... | |
237 | 241 |
} |
238 | 242 |
|
239 | 243 |
@Override |
240 |
public void addDefaultActionListener(ActionListener actionlistener) {
|
|
241 |
this.defaultActionlistener = actionlistener;
|
|
244 |
public void addActionListener(ActionListener actionlistener) { |
|
245 |
this.actionlisteners.addActionListener(actionlistener);
|
|
242 | 246 |
} |
243 | 247 |
|
244 |
@Override |
|
245 |
public void addSelectionActionListener(ActionListener actionlistener) { |
|
246 |
this.selectionActionlistener = actionlistener; |
|
247 |
} |
|
248 |
|
|
249 | 248 |
private void makeUI() { |
250 | 249 |
if (this.foldersOnly) { |
251 | 250 |
treeModel = new ScriptingFolderTreeModelFoldersOnly(root); |
... | ... | |
263 | 262 |
tree.addTreeSelectionListener(new TreeSelectionListener() { |
264 | 263 |
@Override |
265 | 264 |
public void valueChanged(TreeSelectionEvent e) { |
266 |
if (selectionActionlistener != null) { |
|
267 |
JComponent tree = (JComponent) e.getSource(); |
|
268 |
ActionEvent event = new DefaultBrowserActionEvent( |
|
269 |
tree.getParent(), |
|
270 |
SELECTION_ACTION, |
|
271 |
"select", |
|
272 |
null |
|
273 |
); |
|
274 |
selectionActionlistener.actionPerformed(event); |
|
265 |
JTree tree = (JTree) e.getSource(); |
|
266 |
if (!tree.isSelectionEmpty()) { |
|
267 |
fireSelectAction(tree.getSelectionPath()); |
|
275 | 268 |
} |
276 | 269 |
} |
277 | 270 |
}); |
... | ... | |
346 | 339 |
|
347 | 340 |
private void fireDefaultAction(TreePath path) { |
348 | 341 |
ScriptingUnit unit = (ScriptingUnit) path.getLastPathComponent(); |
349 |
//if (unit instanceof ScriptingBaseScript) { |
|
350 |
if (this.defaultActionlistener != null) { |
|
351 |
ActionEvent event = new DefaultBrowserActionEvent( |
|
352 |
this, |
|
353 |
DEFAULT_ACTION, |
|
354 |
"default", |
|
355 |
unit |
|
356 |
); |
|
357 |
this.defaultActionlistener.actionPerformed(event); |
|
358 |
} |
|
359 |
//} |
|
342 |
ActionEvent ae = new DefaultBrowserActionEvent( |
|
343 |
this, |
|
344 |
DEFAULT_ACTION, |
|
345 |
"default", |
|
346 |
unit |
|
347 |
); |
|
348 |
this.actionlisteners.fireActionEvent(ae); |
|
360 | 349 |
} |
361 | 350 |
|
351 |
private void fireSelectAction(TreePath path) { |
|
352 |
ScriptingUnit unit = (ScriptingUnit) path.getLastPathComponent(); |
|
353 |
ActionEvent ae = new DefaultJScriptingBrowser.DefaultBrowserActionEvent( |
|
354 |
this, |
|
355 |
SELECTION_ACTION, |
|
356 |
"select", |
|
357 |
unit |
|
358 |
); |
|
359 |
this.actionlisteners.fireActionEvent(ae); |
|
360 |
} |
|
361 |
|
|
362 | 362 |
private class EnterAction extends AbstractAction { |
363 | 363 |
private static final long serialVersionUID = -3673546098243190397L; |
364 | 364 |
|
Also available in: Unified diff