Revision 38063 trunk/applications/appgvSIG/src/com/iver/cit/gvsig/project/documents/view/toc/gui/FPopupMenu.java
FPopupMenu.java | ||
---|---|---|
43 | 43 |
*/ |
44 | 44 |
package com.iver.cit.gvsig.project.documents.view.toc.gui; |
45 | 45 |
|
46 |
import java.awt.Font; |
|
47 |
import java.awt.event.ActionEvent; |
|
48 |
import java.awt.event.ActionListener; |
|
49 |
import java.lang.reflect.Array; |
|
50 |
import java.text.NumberFormat; |
|
51 | 46 |
import java.util.ArrayList; |
52 | 47 |
import java.util.Arrays; |
53 |
import java.util.Comparator; |
|
54 | 48 |
import java.util.Iterator; |
55 | 49 |
import java.util.List; |
56 | 50 |
|
... | ... | |
59 | 53 |
import javax.swing.tree.DefaultMutableTreeNode; |
60 | 54 |
|
61 | 55 |
import org.gvsig.fmap.swing.toc.TOC; |
62 |
import org.gvsig.fmap.swing.toc.TOCFactory; |
|
63 | 56 |
import org.gvsig.fmap.swing.toc.TOCLocator; |
64 | 57 |
import org.gvsig.fmap.swing.toc.TOCManager; |
65 | 58 |
import org.gvsig.fmap.swing.toc.action.TOCAction; |
... | ... | |
67 | 60 |
import org.gvsig.tools.service.ServiceException; |
68 | 61 |
|
69 | 62 |
import com.iver.andami.messages.NotificationManager; |
70 |
import com.iver.cit.gvsig.TOCImplementationExtension; |
|
71 | 63 |
import com.iver.cit.gvsig.fmap.MapContext; |
72 |
import com.iver.cit.gvsig.fmap.ViewPort; |
|
73 | 64 |
import com.iver.cit.gvsig.fmap.layers.FLayer; |
74 |
import com.iver.cit.gvsig.project.documents.IContextMenuAction; |
|
75 | 65 |
import com.iver.cit.gvsig.project.documents.view.toc.AbstractTocContextMenuAction; |
76 | 66 |
import com.iver.cit.gvsig.project.documents.view.toc.ITocItem; |
77 | 67 |
import com.iver.cit.gvsig.project.documents.view.toc.TocItemBranch; |
78 | 68 |
import com.iver.cit.gvsig.project.documents.view.toc.TocMenuEntry; |
79 |
import com.iver.cit.gvsig.project.documents.view.toc.actions.ChangeNameTocMenuEntry; |
|
80 |
import com.iver.cit.gvsig.project.documents.view.toc.actions.CopyLayersTocMenuEntry; |
|
81 |
import com.iver.cit.gvsig.project.documents.view.toc.actions.CutLayersTocMenuEntry; |
|
82 |
import com.iver.cit.gvsig.project.documents.view.toc.actions.EliminarCapaTocMenuEntry; |
|
83 |
import com.iver.cit.gvsig.project.documents.view.toc.actions.FLyrVectEditPropertiesTocMenuEntry; |
|
84 |
import com.iver.cit.gvsig.project.documents.view.toc.actions.ChangeSymbolTocMenuEntry; |
|
85 |
import com.iver.cit.gvsig.project.documents.view.toc.actions.FirstLayerTocMenuEntry; |
|
86 |
import com.iver.cit.gvsig.project.documents.view.toc.actions.LayersGroupTocMenuEntry; |
|
87 |
import com.iver.cit.gvsig.project.documents.view.toc.actions.LayersUngroupTocMenuEntry; |
|
88 | 69 |
import com.iver.cit.gvsig.project.documents.view.toc.actions.OldTocContextMenuAction; |
89 |
import com.iver.cit.gvsig.project.documents.view.toc.actions.PasteLayersTocMenuEntry; |
|
90 |
import com.iver.cit.gvsig.project.documents.view.toc.actions.ReloadLayerTocMenuEntry; |
|
91 |
import com.iver.cit.gvsig.project.documents.view.toc.actions.ShowLayerErrorsTocMenuEntry; |
|
92 |
import com.iver.cit.gvsig.project.documents.view.toc.actions.ZoomAlTemaTocMenuEntry; |
|
93 | 70 |
import com.iver.cit.gvsig.project.documents.view.toc.util.TOCMenuItemComparator; |
94 | 71 |
import com.iver.utiles.extensionPoints.ExtensionPoint; |
95 |
import com.iver.utiles.extensionPoints.ExtensionPoints; |
|
96 | 72 |
import com.iver.utiles.extensionPoints.ExtensionPointsSingleton; |
97 | 73 |
|
98 | 74 |
/** |
... | ... | |
115 | 91 |
private ExtensionPoint extensionPoint; |
116 | 92 |
private FLayer[] selecteds; |
117 | 93 |
//private JMenuItem capa; |
118 |
// Lo de fijar la fuente es porque en linux se ve?a mal si no se fija. |
|
119 |
// TODO: Esto no funcionar? para idiomas como el chino. Hay que cambiarlo. |
|
120 |
public final static Font theFont = new Font("SansSerif", Font.PLAIN, 10); |
|
121 |
|
|
94 |
|
|
95 |
|
|
122 | 96 |
/** |
123 | 97 |
* @deprecated |
124 | 98 |
*/ |
... | ... | |
134 | 108 |
/** |
135 | 109 |
* @deprecated |
136 | 110 |
*/ |
137 |
|
|
111 |
|
|
138 | 112 |
/* |
139 | 113 |
public static Object getEntry(String className, boolean[][] bb) { |
140 | 114 |
ExtensionPoints extensionPoints = ExtensionPointsSingleton.getInstance(); |
... | ... | |
190 | 164 |
public MapContext getMapContext() { return mapContext; } |
191 | 165 |
|
192 | 166 |
public ITocItem getNodeUserObject() { |
193 |
if (nodo == null) return null; |
|
167 |
if (nodo == null) { |
|
168 |
return null; |
|
169 |
} |
|
194 | 170 |
return (ITocItem)nodo.getUserObject(); |
195 | 171 |
} |
196 | 172 |
|
... | ... | |
199 | 175 |
} |
200 | 176 |
|
201 | 177 |
private List<TOCAction> getActionList() { |
202 |
|
|
178 |
|
|
203 | 179 |
TOCManager tm = TOCLocator.getInstance().getTOCManager(); |
204 | 180 |
List<TOCAction> result_list = null; |
205 | 181 |
List<TOCAction> result_list_sort = null; |
206 |
|
|
182 |
|
|
207 | 183 |
try { |
208 | 184 |
result_list = tm.getActions(toc); |
209 | 185 |
} catch (ServiceException se) { |
210 | 186 |
NotificationManager.addError("While getting actions for fpopupmenu", se); |
211 | 187 |
return null; |
212 | 188 |
} |
213 |
|
|
214 | 189 |
|
215 |
|
|
190 |
|
|
191 |
|
|
216 | 192 |
AbstractTocContextMenuAction action; |
217 | 193 |
boolean contains=false; |
218 | 194 |
ITocItem tocItem=(ITocItem)this.getNodeUserObject(); |
219 | 195 |
if (tocItem instanceof TocItemBranch){ |
220 | 196 |
for (int i=0;i<this.selecteds.length;i++){ |
221 |
if (this.selecteds[i].equals(((TocItemBranch)tocItem).getLayer())) |
|
222 |
contains=true; |
|
197 |
if (this.selecteds[i].equals(((TocItemBranch)tocItem).getLayer())) { |
|
198 |
contains=true; |
|
199 |
} |
|
223 | 200 |
} |
224 | 201 |
}else{ |
225 | 202 |
contains=true; |
226 | 203 |
} |
227 |
|
|
204 |
|
|
228 | 205 |
if (contains){ |
229 | 206 |
|
230 | 207 |
result_list_sort = new ArrayList<TOCAction>(); |
... | ... | |
236 | 213 |
} |
237 | 214 |
return result_list_sort; |
238 | 215 |
|
239 |
|
|
216 |
|
|
240 | 217 |
// Iterator iter = this.extensionPoint.keySet().iterator(); |
241 | 218 |
// while (iter.hasNext()) { |
242 | 219 |
// action = null; |
... | ... | |
284 | 261 |
*/ |
285 | 262 |
|
286 | 263 |
private void createMenuElements(List<TOCAction> actions) { |
287 |
|
|
264 |
|
|
288 | 265 |
String group = null; |
289 | 266 |
String item_group = null; |
290 | 267 |
TOCAction action = null; |
291 |
|
|
268 |
|
|
292 | 269 |
for (int i=0;i < actions.size();i++) { |
293 |
|
|
270 |
|
|
294 | 271 |
action = actions.get(i); |
295 |
|
|
272 |
|
|
296 | 273 |
if (!action.isVisible() || |
297 | 274 |
(action instanceof TOCActionAdapter && |
298 | 275 |
((TOCActionAdapter) action).getContextMenuAction() instanceof OldTocContextMenuAction)) { |
... | ... | |
302 | 279 |
} |
303 | 280 |
continue; |
304 | 281 |
} |
305 |
|
|
282 |
|
|
306 | 283 |
JMenuItem item = new JMenuItem(action); |
307 |
item.setFont(theFont);
|
|
284 |
// item.setFont(theFont);
|
|
308 | 285 |
item.setEnabled(action.isEnabled()); |
309 | 286 |
item_group = action.getValue(TOCAction.GROUP).toString(); |
310 | 287 |
if (group == null || item_group.compareToIgnoreCase(group) != 0) { |
311 |
if (group != null) this.addSeparator(); |
|
288 |
if (group != null) { |
|
289 |
this.addSeparator(); |
|
290 |
} |
|
312 | 291 |
group = item_group; |
313 | 292 |
} |
314 | 293 |
this.add(item); |
315 | 294 |
} |
316 |
|
|
295 |
|
|
317 | 296 |
// comprobamos si el ultimo elemento es un seprardor |
318 | 297 |
// not here |
319 | 298 |
/* |
Also available in: Unified diff