Statistics
| Revision:

root / trunk / extensions / extCAD / src / com / iver / cit / gvsig / project / documents / view / toc / actions / EditionPropertiesTocMenuEntry.java @ 31304

History | View | Annotate | Download (3.59 KB)

1
package com.iver.cit.gvsig.project.documents.view.toc.actions;
2

    
3
import java.util.Iterator;
4

    
5
import com.iver.andami.PluginServices;
6
import com.iver.andami.messages.NotificationManager;
7
import com.iver.andami.preferences.AbstractPreferencePage;
8
import com.iver.andami.preferences.GenericDlgPreferences;
9
import com.iver.cit.gvsig.fmap.layers.FLayer;
10
import com.iver.cit.gvsig.fmap.layers.FLyrVect;
11
import com.iver.cit.gvsig.gui.preferences.EditionPreferencePage;
12
import com.iver.cit.gvsig.gui.preferences.FlatnessPage;
13
import com.iver.cit.gvsig.gui.preferences.GridPage;
14
import com.iver.cit.gvsig.gui.preferences.SnapConfigPage;
15
import com.iver.cit.gvsig.project.documents.view.toc.AbstractTocContextMenuAction;
16
import com.iver.cit.gvsig.project.documents.view.toc.ITocItem;
17
import com.iver.utiles.extensionPoints.ExtensionPoint;
18
import com.iver.utiles.extensionPoints.ExtensionPoints;
19
import com.iver.utiles.extensionPoints.ExtensionPointsSingleton;
20

    
21
/**
22
 * Abre el di?logo de propiedades de edici?n.
23
 *
24
 * @author Vicente Caballero Navarro
25
 */
26
public class EditionPropertiesTocMenuEntry extends AbstractTocContextMenuAction {
27
        public Object create() {
28
                ExtensionPoints extensionPoints = ExtensionPointsSingleton.getInstance();
29
            extensionPoints.add("cad_editing_properties_pages","grid",GridPage.class);
30
            extensionPoints.add("cad_editing_properties_pages","flatness",FlatnessPage.class);
31
            extensionPoints.add("cad_editing_properties_pages","snapping",SnapConfigPage.class);
32
            return super.create();
33
        }
34
        public String getGroup() {
35
                return "edition";
36
        }
37

    
38
        public int getGroupOrder() {
39
                return 60;
40
        }
41

    
42
        public int getOrder() {
43
                return 60;
44
        }
45

    
46
        public String getText() {
47
                return PluginServices.getText(this, "Edition_Properties");
48
        }
49

    
50
        public boolean isEnabled(ITocItem item, FLayer[] selectedItems) {
51
                return true;
52
        }
53

    
54
        public boolean isVisible(ITocItem item, FLayer[] selectedItems) {
55
                return (isTocItemBranch(item)) && (selectedItems.length == 1 && selectedItems[0].isAvailable() && selectedItems[0] instanceof FLyrVect) && ((FLyrVect)selectedItems[0]).isEditing();
56
        }
57

    
58
        public void execute(ITocItem item, FLayer[] selectedItems) {
59
                EditionPreferencePage pref = new EditionPreferencePage();
60

    
61
                pref.setMapContext(getMapContext());
62
//                GridPage gridPage=new GridPage();
63
//                gridPage.setParentID(pref.getID());
64
//                FlatnessPage flatnessPage=new FlatnessPage();
65
//                flatnessPage.setParentID(pref.getID());
66

    
67

    
68
                GenericDlgPreferences dlg = new GenericDlgPreferences();
69
                dlg.addPreferencePage(pref);
70

    
71
                 ExtensionPoints extensionPoints = ExtensionPointsSingleton.getInstance();
72
                ExtensionPoint extensionPoint =(ExtensionPoint)extensionPoints.get("cad_editing_properties_pages");
73
                Iterator iterator = extensionPoint.keySet().iterator();
74
                while (iterator.hasNext()) {
75
                    try {
76
                            AbstractPreferencePage  app = (AbstractPreferencePage )extensionPoint.create((String)iterator.next());
77
                            app.setParentID(pref.getID());
78
                            dlg.addPreferencePage(app);
79
                    } catch (InstantiationException e) {
80
                            NotificationManager.addError(e.getMessage(),e);
81
                    } catch (IllegalAccessException e) {
82
                            NotificationManager.addError(e.getMessage(),e);
83
                    } catch (ClassCastException e) {
84
                            NotificationManager.addError(e.getMessage(),e);
85
                    }
86
                }
87

    
88
//                dlg.addPreferencePage(gridPage);
89
//                dlg.addPreferencePage(flatnessPage);
90
//                dlg.addPreferencePage(fieldExpresionPage);
91
                dlg.getWindowInfo().setTitle(PluginServices.getText(this, "Edition_Properties"));
92
                dlg.setActivePage(pref);
93
                PluginServices.getMDIManager().addWindow(dlg);
94
   }
95
}