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

View differences:

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