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 |