This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 268381
Collapse All | Expand All

(-)a/dlight.sendto/src/org/netbeans/modules/dlight/sendto/action/DynamicMenu.java (-8 / +22 lines)
Lines 49-58 Link Here
49
import javax.swing.AbstractAction;
49
import javax.swing.AbstractAction;
50
import javax.swing.Action;
50
import javax.swing.Action;
51
import javax.swing.JMenu;
51
import javax.swing.JMenu;
52
import javax.swing.JPopupMenu;
52
import javax.swing.JPopupMenu.Separator;
53
import javax.swing.JPopupMenu.Separator;
53
import javax.swing.SwingUtilities;
54
import javax.swing.SwingUtilities;
54
import org.openide.util.Exceptions;
55
import org.openide.util.Exceptions;
55
import org.openide.util.ImageUtilities;
56
import org.openide.util.ImageUtilities;
57
import org.openide.util.Lookup;
56
import org.openide.util.NbBundle;
58
import org.openide.util.NbBundle;
57
59
58
/**
60
/**
Lines 66-74 Link Here
66
    private final Object countersLock = new Object();
68
    private final Object countersLock = new Object();
67
    private final List<Action> actions = new ArrayList<Action>();
69
    private final List<Action> actions = new ArrayList<Action>();
68
    private int vcount = 0;
70
    private int vcount = 0;
71
    Lookup actionContext;
72
    boolean init;
69
73
70
    public DynamicMenu(String name) {
74
    public DynamicMenu(String name, Lookup actionContext) {
71
        super(name);
75
        super(name);
76
        this.actionContext = actionContext;
72
        add(validating);
77
        add(validating);
73
    }
78
    }
74
79
Lines 81-86 Link Here
81
        }
86
        }
82
    }
87
    }
83
88
89
    @Override
90
    public JPopupMenu getPopupMenu() {
91
        if (!init) {
92
            MenuConstructor.start(this, actionContext);
93
            init = true;
94
        }
95
        return super.getPopupMenu();
96
    }
97
84
    private void refresh() {
98
    private void refresh() {
85
        try {
99
        try {
86
            SwingUtilities.invokeAndWait(new Runnable() {
100
            SwingUtilities.invokeAndWait(new Runnable() {
Lines 153-166 Link Here
153
            public void actionPerformed(ActionEvent e) {
167
            public void actionPerformed(ActionEvent e) {
154
            }
168
            }
155
        };
169
        };
156
        validating =
170
        validating
157
                new AbstractAction(NbBundle.getMessage(DynamicMenu.class, "ValidatingAction.text"), // NOI18N
171
                = new AbstractAction(NbBundle.getMessage(DynamicMenu.class, "ValidatingAction.text"), // NOI18N
158
                ImageUtilities.loadImageIcon("org/netbeans/modules/dlight/sendto/resources/wait.png", false)) { // NOI18N
172
                        ImageUtilities.loadImageIcon("org/netbeans/modules/dlight/sendto/resources/wait.png", false)) { // NOI18N
159
173
160
                    @Override
174
            @Override
161
                    public void actionPerformed(ActionEvent e) {
175
            public void actionPerformed(ActionEvent e) {
162
                    }
176
            }
163
                };
177
        };
164
        emptyAction.setEnabled(false);
178
        emptyAction.setEnabled(false);
165
        validating.setEnabled(false);
179
        validating.setEnabled(false);
166
    }
180
    }
(-)a/dlight.sendto/src/org/netbeans/modules/dlight/sendto/action/MenuConstructor.java (-4 / +14 lines)
Lines 53-60 Link Here
53
 */
53
 */
54
public class MenuConstructor {
54
public class MenuConstructor {
55
55
56
    static DynamicMenu constructMenu(Lookup actionContext) {
56
//    static DynamicMenu constructMenu(Lookup actionContext) {
57
        final DynamicMenu menu = new DynamicMenu(NbBundle.getMessage(MenuConstructor.class, "SendToMenuName")); // NOI18N
57
//        final DynamicMenu menu = new DynamicMenu(NbBundle.getMessage(MenuConstructor.class, "SendToMenuName")); // NOI18N
58
//        final List<Configuration> configs = ConfigurationsRegistry.getConfigurations();
59
//
60
//        if (configs == null) {
61
//            menu.setEmpty();
62
//        } else {
63
//            MenuUpdator.start(menu, actionContext, configs);
64
//        }
65
//
66
//        return menu;
67
//    }
68
69
    static void start(DynamicMenu menu, Lookup actionContext) {
58
        final List<Configuration> configs = ConfigurationsRegistry.getConfigurations();
70
        final List<Configuration> configs = ConfigurationsRegistry.getConfigurations();
59
71
60
        if (configs == null) {
72
        if (configs == null) {
Lines 62-68 Link Here
62
        } else {
74
        } else {
63
            MenuUpdator.start(menu, actionContext, configs);
75
            MenuUpdator.start(menu, actionContext, configs);
64
        }
76
        }
65
66
        return menu;
67
    }
77
    }
68
}
78
}
(-)a/dlight.sendto/src/org/netbeans/modules/dlight/sendto/action/MenuMetaAction.java (-4 / +2 lines)
Lines 42-55 Link Here
42
package org.netbeans.modules.dlight.sendto.action;
42
package org.netbeans.modules.dlight.sendto.action;
43
43
44
import java.awt.event.ActionEvent;
44
import java.awt.event.ActionEvent;
45
import java.io.IOException;
46
import java.util.Collection;
45
import java.util.Collection;
47
import javax.swing.AbstractAction;
46
import javax.swing.AbstractAction;
48
import javax.swing.Action;
47
import javax.swing.Action;
49
import javax.swing.JMenu;
48
import javax.swing.JMenu;
50
import javax.swing.JMenuItem;
49
import javax.swing.JMenuItem;
51
import javax.swing.text.JTextComponent;
52
import org.netbeans.api.editor.EditorRegistry;
53
import org.openide.awt.ActionID;
50
import org.openide.awt.ActionID;
54
import org.openide.awt.ActionReference;
51
import org.openide.awt.ActionReference;
55
import org.openide.awt.ActionReferences;
52
import org.openide.awt.ActionReferences;
Lines 60-65 Link Here
60
import org.openide.util.ContextAwareAction;
57
import org.openide.util.ContextAwareAction;
61
import org.openide.util.HelpCtx;
58
import org.openide.util.HelpCtx;
62
import org.openide.util.Lookup;
59
import org.openide.util.Lookup;
60
import org.openide.util.NbBundle;
63
import org.openide.util.actions.Presenter;
61
import org.openide.util.actions.Presenter;
64
import org.openide.util.actions.SystemAction;
62
import org.openide.util.actions.SystemAction;
65
63
Lines 100-106 Link Here
100
98
101
    @Override
99
    @Override
102
    public Action createContextAwareInstance(Lookup actionContext) {
100
    public Action createContextAwareInstance(Lookup actionContext) {
103
        return new MenuWrapperAction(actionContext, MenuConstructor.constructMenu(actionContext));
101
        return new MenuWrapperAction(actionContext, new DynamicMenu(NbBundle.getMessage(MenuConstructor.class, "SendToMenuName"), actionContext));
104
    }
102
    }
105
103
106
    private static class MenuWrapperAction extends AbstractAction implements Presenter.Popup {
104
    private static class MenuWrapperAction extends AbstractAction implements Presenter.Popup {

Return to bug 268381