Statistics
| Revision:

root / branches / v2_0_0_prep / extensions / extEditing / src / org / gvsig / editing / project / documents / view / toc / actions / EditionPropertiesTocMenuEntry.java @ 29685

History | View | Annotate | Download (3.62 KB)

1
package org.gvsig.editing.project.documents.view.toc.actions;
2

    
3
import java.util.Iterator;
4

    
5
import org.gvsig.andami.PluginServices;
6
import org.gvsig.andami.messages.NotificationManager;
7
import org.gvsig.andami.preferences.AbstractPreferencePage;
8
import org.gvsig.andami.preferences.GenericDlgPreferences;
9
import org.gvsig.app.project.documents.view.toc.AbstractTocContextMenuAction;
10
import org.gvsig.app.project.documents.view.toc.ITocItem;
11
import org.gvsig.editing.gui.preferences.EditionPreferencePage;
12
import org.gvsig.editing.gui.preferences.FlatnessPage;
13
import org.gvsig.editing.gui.preferences.SnapConfigPage;
14
import org.gvsig.fmap.mapcontext.layers.FLayer;
15
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
16
import org.gvsig.tools.ToolsLocator;
17
import org.gvsig.tools.extensionpoint.ExtensionPoint;
18
import org.gvsig.tools.extensionpoint.ExtensionPointManager;
19
import org.gvsig.tools.extensionpoint.ExtensionPoint.Extension;
20

    
21

    
22
/**
23
 * Abre el di?logo de propiedades de edici?n.
24
 *
25
 * @author Vicente Caballero Navarro
26
 */
27
public class EditionPropertiesTocMenuEntry extends AbstractTocContextMenuAction {
28
        private ExtensionPointManager extensionPoints =ToolsLocator.getExtensionPointManager();
29

    
30
        public Object create() {
31
                ExtensionPoint ep = this.extensionPoints.add("cad_editing_properties_pages", "");
32
                ep.append("flatness", "", FlatnessPage.class);
33
                ep.append("snapping", "", SnapConfigPage.class);
34
            return super.create();
35
        }
36
        public String getGroup() {
37
                return "edition";
38
        }
39

    
40
        public int getGroupOrder() {
41
                return 60;
42
        }
43

    
44
        public int getOrder() {
45
                return 60;
46
        }
47

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

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

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

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

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

    
69

    
70
                GenericDlgPreferences dlg = new GenericDlgPreferences();
71
                dlg.addPreferencePage(pref);
72
                ExtensionPoint ep = this.extensionPoints.get("cad_editing_properties_pages");
73

    
74
//                 ExtensionPoints extensionPoints = ExtensionPointsSingleton.getInstance();
75
//                ExtensionPoint extensionPoint =(ExtensionPoint)extensionPoints.get("cad_editing_properties_pages");
76
                Iterator iterator = ep.iterator();
77
                while (iterator.hasNext()) {
78
                    try {
79
                            Extension obj= (Extension)iterator.next();
80
                            AbstractPreferencePage  app = (AbstractPreferencePage )ep.create(obj.getName());
81
                            app.setParentID(pref.getID());
82
                            dlg.addPreferencePage(app);
83
                    } catch (InstantiationException e) {
84
                            NotificationManager.addError(e.getMessage(),e);
85
                    } catch (IllegalAccessException e) {
86
                            NotificationManager.addError(e.getMessage(),e);
87
                    } catch (ClassCastException e) {
88
                            NotificationManager.addError(e.getMessage(),e);
89
                    }
90
                }
91

    
92
//                dlg.addPreferencePage(gridPage);
93
//                dlg.addPreferencePage(flatnessPage);
94
//                dlg.addPreferencePage(fieldExpresionPage);
95
                dlg.getWindowInfo().setTitle(PluginServices.getText(this, "Edition_Properties"));
96
                dlg.setActivePage(pref);
97
                PluginServices.getMDIManager().addWindow(dlg);
98
   }
99
}