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 220057
Collapse All | Expand All

(-)a/java.navigation/src/org/netbeans/modules/java/navigation/ElementNode.java (-16 / +26 lines)
Lines 47-52 Link Here
47
import java.awt.Image;
47
import java.awt.Image;
48
import java.awt.datatransfer.Transferable;
48
import java.awt.datatransfer.Transferable;
49
import java.io.IOException;
49
import java.io.IOException;
50
import java.util.ArrayList;
51
import java.util.Arrays;
50
import java.util.Collection;
52
import java.util.Collection;
51
import java.util.Comparator;
53
import java.util.Comparator;
52
import java.util.HashMap;
54
import java.util.HashMap;
Lines 67-72 Link Here
67
import org.netbeans.modules.java.navigation.actions.OpenAction;
69
import org.netbeans.modules.java.navigation.actions.OpenAction;
68
import org.netbeans.modules.refactoring.api.ui.RefactoringActionsFactory;
70
import org.netbeans.modules.refactoring.api.ui.RefactoringActionsFactory;
69
import org.openide.filesystems.FileObject;
71
import org.openide.filesystems.FileObject;
72
import org.openide.filesystems.FileUtil;
70
import org.openide.loaders.DataObject;
73
import org.openide.loaders.DataObject;
71
import org.openide.loaders.DataObjectNotFoundException;
74
import org.openide.loaders.DataObjectNotFoundException;
72
import org.openide.nodes.AbstractNode;
75
import org.openide.nodes.AbstractNode;
Lines 75-80 Link Here
75
import org.openide.util.ImageUtilities;
78
import org.openide.util.ImageUtilities;
76
import org.openide.util.Lookup;
79
import org.openide.util.Lookup;
77
import org.openide.util.NbBundle;
80
import org.openide.util.NbBundle;
81
import org.openide.util.Utilities;
78
import org.openide.util.datatransfer.PasteType;
82
import org.openide.util.datatransfer.PasteType;
79
import org.openide.util.lookup.AbstractLookup;
83
import org.openide.util.lookup.AbstractLookup;
80
import org.openide.util.lookup.InstanceContent;
84
import org.openide.util.lookup.InstanceContent;
Lines 127-151 Link Here
127
        return description.htmlHeader;
131
        return description.htmlHeader;
128
    }
132
    }
129
    
133
    
134
    private void addActionsFromExtensionPoint (List<Action> toPopulate) {
135
        //FIXME decide which layer entry should be referenced
136
        List<? extends Action> actionsForPath = Utilities.actionsForPath("Navigator/ContextMenu/text/x-java/");
137
        if (null != actionsForPath && !actionsForPath.isEmpty()) {
138
            toPopulate.add(null);
139
            toPopulate.addAll(actionsForPath);
140
        }
141
    }
142
    
130
    @Override
143
    @Override
131
    public Action[] getActions( boolean context ) {
144
    public Action[] getActions( boolean context ) {
132
        
145
        final List<Action> actions = new ArrayList<Action>();
133
        if ( context || description.name == null ) {
146
134
            return description.ui.getActions();
147
        if (context || description.name == null) {
148
            actions.addAll(Arrays.asList(description.ui.getActions()));
149
        } else {
150
            actions.add(getOpenAction());
151
            actions.add(RefactoringActionsFactory.whereUsedAction());
152
            actions.add(RefactoringActionsFactory.popupSubmenuAction());
153
            actions.add(null);
154
            actions.addAll(Arrays.asList(description.ui.getActions()));
135
        }
155
        }
136
        else {
156
        // support custom actions
137
            Action panelActions[] = description.ui.getActions();
157
        addActionsFromExtensionPoint(actions);
138
            
158
        return actions.toArray(new Action[actions.size()]);
139
            Action actions[]  = new Action[ 4 + panelActions.length ];
140
            actions[0] = getOpenAction();
141
            actions[1] = RefactoringActionsFactory.whereUsedAction();
142
            actions[2] = RefactoringActionsFactory.popupSubmenuAction();
143
            actions[3] = null;
144
            for( int i = 0; i < panelActions.length; i++ ){
145
                actions[4 + i] = panelActions[i];
146
            }
147
            return actions;
148
        }
149
    }        
159
    }        
150
    
160
    
151
    @Override
161
    @Override
(-)a/java.navigation/src/org/netbeans/modules/java/navigation/hierarchy/Nodes.java (-8 / +21 lines)
Lines 52-57 Link Here
52
import java.lang.reflect.Method;
52
import java.lang.reflect.Method;
53
import java.net.URL;
53
import java.net.URL;
54
import java.util.ArrayList;
54
import java.util.ArrayList;
55
import java.util.Arrays;
55
import java.util.Collection;
56
import java.util.Collection;
56
import java.util.Collections;
57
import java.util.Collections;
57
import java.util.Comparator;
58
import java.util.Comparator;
Lines 307-326 Link Here
307
                updateDisplayName();
308
                updateDisplayName();
308
            }
309
            }
309
        }
310
        }
311
        
312
        private void addActionsFromExtensionPoint (List<Action> toPopulate) {
313
            //FIXME decide which layer entry should be referenced
314
            List<? extends Action> actionsForPath = Utilities.actionsForPath("HierarchyView/ContextMenu/text/x-java/");
315
            if (null != actionsForPath && !actionsForPath.isEmpty()) {
316
                toPopulate.add(null);
317
                toPopulate.addAll(actionsForPath);
318
            }
319
        }
310
320
311
        @Override
321
        @Override
312
        public Action[] getActions(boolean context) {
322
        public Action[] getActions(boolean context) {
323
            List<Action> actions = new ArrayList<Action>();
324
313
            if (context) {
325
            if (context) {
314
                return globalActions;
326
                actions.addAll(Arrays.asList(globalActions));
315
            } else {
327
            } else {
316
                Action actions[]  = new Action[ 4 + globalActions.length ];
328
                actions.add(getOpenAction());
317
                actions[0] = getOpenAction();
329
                actions.add(FileUtil.getConfigObject(INSPECT_HIERARCHY_ACTION, Action.class));
318
                actions[1] = FileUtil.getConfigObject(INSPECT_HIERARCHY_ACTION, Action.class);
330
                actions.add(RefactoringActionsFactory.whereUsedAction());
319
                actions[2] = RefactoringActionsFactory.whereUsedAction();
331
                actions.add(null);
320
                actions[3] = null;
332
                actions.addAll(Arrays.asList(globalActions));
321
                System.arraycopy(globalActions, 0, actions, 4, globalActions.length);
322
                return actions;
323
            }
333
            }
334
            // support custom actions
335
            addActionsFromExtensionPoint(actions);
336
            return actions.toArray(new Action[actions.size()]);
324
        }
337
        }
325
338
326
        @Override
339
        @Override

Return to bug 220057