Revision 42514
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/toc/gui/FPopupMenu.java | ||
---|---|---|
25 | 25 |
|
26 | 26 |
import java.awt.event.ActionEvent; |
27 | 27 |
import java.awt.event.ActionListener; |
28 |
import java.lang.reflect.Array; |
|
29 | 28 |
import java.text.NumberFormat; |
30 | 29 |
import java.util.ArrayList; |
31 |
import java.util.Arrays;
|
|
30 |
import java.util.Collections;
|
|
32 | 31 |
import java.util.Comparator; |
33 | 32 |
import java.util.Iterator; |
33 |
import java.util.List; |
|
34 | 34 |
|
35 | 35 |
import javax.swing.JMenuItem; |
36 | 36 |
import javax.swing.JPopupMenu; |
... | ... | |
49 | 49 |
import org.gvsig.app.project.documents.view.toc.actions.CopyLayersTocMenuEntry; |
50 | 50 |
import org.gvsig.app.project.documents.view.toc.actions.CutLayersTocMenuEntry; |
51 | 51 |
import org.gvsig.app.project.documents.view.toc.actions.EliminarCapaTocMenuEntry; |
52 |
import org.gvsig.app.project.documents.view.toc.actions.FLyrVectEditPropertiesTocMenuEntry; |
|
53 | 52 |
import org.gvsig.app.project.documents.view.toc.actions.FirstLayerTocMenuEntry; |
54 | 53 |
import org.gvsig.app.project.documents.view.toc.actions.LayersGroupTocMenuEntry; |
55 | 54 |
import org.gvsig.app.project.documents.view.toc.actions.LayersUngroupTocMenuEntry; |
... | ... | |
125 | 124 |
ToolsLocator.getExtensionPointManager().get("View_TocActions"); |
126 | 125 |
this.selecteds = this.mapContext.getLayers().getActives(); |
127 | 126 |
|
128 |
IContextMenuAction[] actions = this.getActionList();
|
|
127 |
List<IContextMenuAction> actions = this.getActionList();
|
|
129 | 128 |
if (actions == null) { |
130 | 129 |
return; |
131 | 130 |
} |
... | ... | |
147 | 146 |
return this.nodo; |
148 | 147 |
} |
149 | 148 |
|
150 |
private IContextMenuAction[] getActionList() { |
|
151 |
ArrayList<IContextMenuAction> actionArrayList = |
|
152 |
new ArrayList<IContextMenuAction>(); |
|
149 |
private List<IContextMenuAction> getActionList() { |
|
150 |
List<IContextMenuAction> actions = new ArrayList<IContextMenuAction>(); |
|
153 | 151 |
@SuppressWarnings("unchecked") |
154 | 152 |
Iterator<Extension> iter = this.extensionPoint.iterator(); |
155 | 153 |
IContextMenuAction action; |
... | ... | |
181 | 179 |
} |
182 | 180 |
if (action.isVisible(this.getNodeUserObject(), |
183 | 181 |
this.selecteds)) { |
184 |
actionArrayList.add(action);
|
|
182 |
actions.add(action);
|
|
185 | 183 |
} |
186 | 184 |
} |
187 | 185 |
|
188 | 186 |
} |
189 |
IContextMenuAction[] result = |
|
190 |
(IContextMenuAction[]) Array.newInstance( |
|
191 |
IContextMenuAction.class, actionArrayList.size()); |
|
192 |
System.arraycopy(actionArrayList.toArray(), 0, result, 0, |
|
193 |
actionArrayList.size()); |
|
194 |
Arrays.sort(result, new CompareAction()); |
|
195 |
|
|
196 |
return result; |
|
187 |
Collections.sort(actions, new CompareAction()); |
|
188 |
return actions; |
|
197 | 189 |
} |
198 | 190 |
return null; |
199 | 191 |
} |
... | ... | |
203 | 195 |
public int compare(IContextMenuAction o1, IContextMenuAction o2) { |
204 | 196 |
// FIXME: flata formatear los enteros!!!! |
205 | 197 |
NumberFormat formater = NumberFormat.getInstance(); |
206 |
formater.setMinimumIntegerDigits(3);
|
|
198 |
formater.setMinimumIntegerDigits(6);
|
|
207 | 199 |
String key1 = |
208 | 200 |
"" + formater.format(o1.getGroupOrder()) + o1.getGroup() |
209 | 201 |
+ formater.format(o1.getOrder()); |
... | ... | |
214 | 206 |
} |
215 | 207 |
} |
216 | 208 |
|
217 |
private void createMenuElements(IContextMenuAction[] actions) {
|
|
209 |
private void createMenuElements(List<IContextMenuAction> actions) {
|
|
218 | 210 |
String group = null; |
219 |
for (int i = 0; i < actions.length; i++) { |
|
220 |
IContextMenuAction action = actions[i]; |
|
211 |
for (IContextMenuAction action : actions) { |
|
221 | 212 |
MenuItem item = new MenuItem(action.getText(), action); |
222 | 213 |
item.setEnabled(action.isEnabled(this.getNodeUserObject(), |
223 | 214 |
this.selecteds)); |
Also available in: Unified diff