Statistics
| Revision:

root / trunk / extensions / extCAD / src / com / iver / cit / gvsig / ViewCommandStackExtension.java @ 30638

History | View | Annotate | Download (3 KB)

1 4118 caballero
package com.iver.cit.gvsig;
2
3 10626 caballero
import com.hardcode.gdbms.driver.exceptions.ReadDriverException;
4 4118 caballero
import com.iver.andami.PluginServices;
5 12739 caballero
import com.iver.andami.messages.NotificationManager;
6 4118 caballero
import com.iver.andami.plugins.Extension;
7 6878 cesar
import com.iver.cit.gvsig.fmap.MapContext;
8 4118 caballero
import com.iver.cit.gvsig.fmap.edition.IEditableSource;
9 6071 caballero
import com.iver.cit.gvsig.fmap.edition.VectorialEditableAdapter;
10
import com.iver.cit.gvsig.fmap.edition.commands.CommandListener;
11 4118 caballero
import com.iver.cit.gvsig.fmap.layers.FLayers;
12
import com.iver.cit.gvsig.fmap.layers.FLyrVect;
13 25540 vcaballero
import com.iver.cit.gvsig.gui.cad.CADTool;
14 4118 caballero
import com.iver.cit.gvsig.gui.command.CommandStackDialog;
15 7410 caballero
import com.iver.cit.gvsig.project.documents.view.IProjectView;
16 7304 caballero
import com.iver.cit.gvsig.project.documents.view.gui.View;
17 4118 caballero
18
/**
19
 * DOCUMENT ME!
20
 *
21
 * @author Vicente Caballero Navarro
22
 */
23 6071 caballero
public class ViewCommandStackExtension extends Extension implements CommandListener{
24 5084 caballero
        public static CommandStackDialog csd=null;
25 4118 caballero
        /**
26 5005 jorpiell
         * @see com.iver.andami.plugins.IExtension#initialize()
27 4118 caballero
         */
28 5005 jorpiell
        public void initialize() {
29 15637 jmvivo
                PluginServices.getIconTheme().registerDefault(
30 14810 jmvivo
                                "commands-stack",
31
                                this.getClass().getClassLoader().getResource("images/commandstack.png")
32
                        );
33 4118 caballero
        }
34
35
        /**
36 5005 jorpiell
         * @see com.iver.andami.plugins.IExtension#execute(java.lang.String)
37 4118 caballero
         */
38
        public void execute(String s) {
39 6877 cesar
                com.iver.andami.ui.mdiManager.IWindow f = PluginServices.getMDIManager()
40 6880 cesar
                                .getActiveWindow();
41 4118 caballero
42
                View vista = (View) f;
43 7410 caballero
                IProjectView model = vista.getModel();
44 6878 cesar
                MapContext mapa = model.getMapContext();
45 4118 caballero
                FLayers layers = mapa.getLayers();
46
                if (s.equals("COMMANDSTACK")) {
47
                        for (int i =0;i<layers.getLayersCount();i++){
48 4964 caballero
                                if (layers.getLayer(i) instanceof FLyrVect){
49
                                        FLyrVect lyrVect=(FLyrVect)layers.getLayer(i);
50
                                        if (lyrVect.isEditing() && lyrVect.isActive()){
51 6071 caballero
                                                VectorialEditableAdapter vea = (VectorialEditableAdapter) lyrVect
52
                                                .getSource();
53
                                                vea.getCommandRecord().addCommandListener(this);
54 4964 caballero
                                                csd=new CommandStackDialog();
55
                                                csd.setModel(((IEditableSource)lyrVect.getSource()).getCommandRecord());
56 6880 cesar
                                                PluginServices.getMDIManager().addWindow(csd);
57 6071 caballero
                                                return;
58 4964 caballero
                                        }
59 4118 caballero
                                }
60
                        }
61
                }
62
63
                //PluginServices.getMainFrame().enableControls();
64
65
        }
66
67
        /**
68 5005 jorpiell
         * @see com.iver.andami.plugins.IExtension#isEnabled()
69 4118 caballero
         */
70
        public boolean isEnabled() {
71 6071 caballero
72 4118 caballero
                return true;
73
        }
74
75
        /**
76 5005 jorpiell
         * @see com.iver.andami.plugins.IExtension#isVisible()
77 4118 caballero
         */
78
        public boolean isVisible() {
79
                if (EditionUtilities.getEditionStatus() == EditionUtilities.EDITION_STATUS_ONE_VECTORIAL_LAYER_ACTIVE_AND_EDITABLE)
80
                        return true;
81 6604 caballero
                return false;
82 4118 caballero
83
        }
84 6071 caballero
85
        public void commandRepaint() {
86 10626 caballero
                try {
87 25540 vcaballero
                        CADTool cadTool=CADExtension.getCADTool();
88
                        if (cadTool!=null){
89
                                cadTool.clearSelection();
90
                        }
91 10626 caballero
                } catch (ReadDriverException e) {
92 12739 caballero
                        NotificationManager.addError(e.getMessage(),e);
93 10626 caballero
                }
94 6071 caballero
95
        }
96
97
        public void commandRefresh() {
98 10626 caballero
                try {
99 25540 vcaballero
                        CADTool cadTool=CADExtension.getCADTool();
100
                        if (cadTool!=null){
101
                                cadTool.clearSelection();
102
                        }
103 10626 caballero
                } catch (ReadDriverException e) {
104 12739 caballero
                        NotificationManager.addError(e.getMessage(),e);
105 10626 caballero
                }
106 6071 caballero
        }
107 4118 caballero
}