Lines 42-52
Link Here
|
42 |
package org.netbeans.bluej.nodes; |
42 |
package org.netbeans.bluej.nodes; |
43 |
|
43 |
|
44 |
import java.util.ArrayList; |
44 |
import java.util.ArrayList; |
45 |
import java.util.Iterator; |
|
|
46 |
import java.util.List; |
45 |
import java.util.List; |
47 |
import java.util.ResourceBundle; |
46 |
import java.util.ResourceBundle; |
48 |
import javax.swing.Action; |
47 |
import javax.swing.Action; |
49 |
import javax.swing.JSeparator; |
|
|
50 |
import org.netbeans.api.java.project.JavaProjectConstants; |
48 |
import org.netbeans.api.java.project.JavaProjectConstants; |
51 |
import org.netbeans.api.project.ProjectInformation; |
49 |
import org.netbeans.api.project.ProjectInformation; |
52 |
import org.netbeans.api.project.ProjectUtils; |
50 |
import org.netbeans.api.project.ProjectUtils; |
Lines 58-75
Link Here
|
58 |
import org.netbeans.spi.project.ActionProvider; |
56 |
import org.netbeans.spi.project.ActionProvider; |
59 |
import org.netbeans.spi.project.ui.support.CommonProjectActions; |
57 |
import org.netbeans.spi.project.ui.support.CommonProjectActions; |
60 |
import org.netbeans.spi.project.ui.support.ProjectSensitiveActions; |
58 |
import org.netbeans.spi.project.ui.support.ProjectSensitiveActions; |
61 |
import org.openide.ErrorManager; |
|
|
62 |
import org.openide.actions.FindAction; |
59 |
import org.openide.actions.FindAction; |
63 |
import org.openide.actions.ToolsAction; |
60 |
import org.openide.actions.ToolsAction; |
64 |
import org.openide.filesystems.FileObject; |
61 |
import org.openide.filesystems.FileObject; |
65 |
import org.openide.filesystems.Repository; |
|
|
66 |
import org.openide.loaders.DataFolder; |
67 |
import org.openide.loaders.DataObject; |
62 |
import org.openide.loaders.DataObject; |
68 |
import org.openide.loaders.DataObjectNotFoundException; |
|
|
69 |
import org.openide.loaders.FolderLookup; |
70 |
import org.openide.nodes.AbstractNode; |
63 |
import org.openide.nodes.AbstractNode; |
71 |
import org.openide.nodes.FilterNode; |
64 |
import org.openide.nodes.FilterNode; |
72 |
import org.openide.nodes.Node; |
65 |
import org.openide.nodes.Node; |
|
|
66 |
import org.openide.nodes.NodeOp; |
73 |
import org.openide.util.Lookup; |
67 |
import org.openide.util.Lookup; |
74 |
import org.openide.util.NbBundle; |
68 |
import org.openide.util.NbBundle; |
75 |
import org.openide.util.actions.SystemAction; |
69 |
import org.openide.util.actions.SystemAction; |
Lines 136-166
Link Here
|
136 |
actions.add(SystemAction.get(FindAction.class)); |
130 |
actions.add(SystemAction.get(FindAction.class)); |
137 |
|
131 |
|
138 |
// honor 57874 contact |
132 |
// honor 57874 contact |
139 |
|
133 |
actions.add(null); |
140 |
try { |
134 |
actions.addAll(NodeOp.actionsForPath("Projects/Actions")); // NOI18N |
141 |
FileObject fo = Repository.getDefault().getDefaultFileSystem().findResource("Projects/Actions"); // NOI18N |
|
|
142 |
if (fo != null) { |
143 |
DataObject dobj = DataObject.find(fo); |
144 |
FolderLookup actionRegistry = new FolderLookup((DataFolder)dobj); |
145 |
Lookup.Template query = new Lookup.Template(Object.class); |
146 |
Lookup lookup = actionRegistry.getLookup(); |
147 |
Iterator it = lookup.lookup(query).allInstances().iterator(); |
148 |
if (it.hasNext()) { |
149 |
actions.add(null); |
150 |
} |
151 |
while (it.hasNext()) { |
152 |
Object next = it.next(); |
153 |
if (next instanceof Action) { |
154 |
actions.add(next); |
155 |
} else if (next instanceof JSeparator) { |
156 |
actions.add(null); |
157 |
} |
158 |
} |
159 |
} |
160 |
} catch (DataObjectNotFoundException ex) { |
161 |
// data folder for existing fileobject expected |
162 |
ErrorManager.getDefault().notify(ex); |
163 |
} |
164 |
|
135 |
|
165 |
actions.add(null); |
136 |
actions.add(null); |
166 |
actions.add(SystemAction.get(ToolsAction.class)); |
137 |
actions.add(SystemAction.get(ToolsAction.class)); |