Statistics
| Revision:

gvsig-3d / 2.0 / trunk / org.gvsig.gvsig3d.app / org.gvsig.gvsig3d.app.extension / src / main / java / org / gvsig / gvsig3d / app / tocmenu / TocRefreshLayer.java @ 328

History | View | Annotate | Download (3.09 KB)

1
package org.gvsig.gvsig3d.app.tocmenu;
2

    
3
import org.gvsig.andami.PluginServices;
4
import org.gvsig.andami.ui.mdiManager.IWindow;
5
import org.gvsig.app.project.documents.view.ViewDocument;
6
import org.gvsig.app.project.documents.view.gui.AbstractViewPanel;
7
import org.gvsig.app.project.documents.view.toc.AbstractTocContextMenuAction;
8
import org.gvsig.app.project.documents.view.toc.ITocItem;
9
import org.gvsig.app.project.documents.view.toc.TocItemBranch;
10
import org.gvsig.fmap.mapcontext.MapContext;
11
import org.gvsig.fmap.mapcontext.layers.FLayer;
12
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
13
import org.gvsig.gvsig3d.app.extension.DefaultView3DDocument;
14
import org.gvsig.gvsig3d.app.extension.DefaultView3DPanel;
15
//import org.gvsig.wms.fmap.layers.FLyrWMS;
16
import org.gvsig.gvsig3d.map3d.Layer3DProps;
17
import org.gvsig.gvsig3d.map3d.MapContext3D;
18

    
19
/**
20
 * @author AI2
21
 * @version $Id$
22
 * 
23
 */
24
public class TocRefreshLayer extends AbstractTocContextMenuAction {
25

    
26
        public String getGroup() {
27
                return "group6"; // FIXME
28
        }
29

    
30
        public int getGroupOrder() {
31
                return 60;
32
        }
33

    
34
        public int getOrder() {
35
                return 10;
36
        }
37

    
38
        public boolean isEnabled(ITocItem item, FLayer[] selectedItems) {
39
                // return selectedItems.length == 1;
40

    
41
                if (item instanceof TocItemBranch) {
42
                        return true;
43
                }
44

    
45
                // return true;
46

    
47
                if (selectedItems.length == 1 && selectedItems[0] instanceof FLyrVect
48
                                && selectedItems[0].isAvailable()
49
                                && !(item instanceof TocItemBranch)) {
50
                        return true;
51
                }
52
                // TODO Un toggle this comment to use the WFS extension
53
                // if (selectedItems.length == 1 && selectedItems[0] instanceof FLyrWMS
54
                // && selectedItems[0].isAvailable() && !(item instanceof
55
                // TocItemBranch)) {
56
                // return true;
57
                // }/**/
58
                return false;
59

    
60
        }
61

    
62
        public boolean isVisible(ITocItem item, FLayer[] selectedItems) {
63
                IWindow f = PluginServices.getMDIManager().getActiveWindow();
64

    
65
                if (f == null) {
66
                        return false;
67
                }
68

    
69
                if (!isTocItemBranch(item))
70
                        return false;
71

    
72
                // Only isVisible = true, where the view3D have layers
73
                if (f instanceof DefaultView3DPanel) {
74
                        AbstractViewPanel vista = (AbstractViewPanel) f;
75
                        ViewDocument model = vista.getViewDocument();
76
                        MapContext mapa = model.getMapContext();
77

    
78
                        return mapa.getLayers().getLayersCount() > 0;
79
                }
80
                return false;
81
        }
82

    
83
        public void execute(ITocItem item, FLayer[] selectedItems) {
84

    
85
                // Getting view3
86
                IWindow view = PluginServices.getMDIManager().getActiveWindow();
87
                if (!(view instanceof DefaultView3DPanel))
88
                        return;
89
                // Casting to View3D
90
                DefaultView3DPanel vista3D = (DefaultView3DPanel) view;
91
                ViewDocument model = vista3D.getViewDocument();
92

    
93
                System.out.println("Ejecutando extension de TOC!!!!!");
94

    
95
                DefaultView3DDocument pv = (DefaultView3DDocument) model;
96

    
97
                for (int i = 0; i < selectedItems.length; i++) {
98
                        // System.out.println("Recargando capa :" + i);
99
                        Object propsObj = selectedItems[i].getProperty("3DLayerExtension");
100
                        ((MapContext3D) model.getMapContext()).refreshLayerInTerrain(selectedItems[i],
101
                                        (Layer3DProps) propsObj, true);
102
                }
103

    
104
        }
105

    
106
        public String getText() {
107
                // Name that appears in toc menu
108
                return PluginServices.getText(this, "Layer_Refresh");
109
        }
110

    
111
}