Statistics
| Revision:

root / import / ext3D / branches / ext3D_v1.1 / ext3Dgui / src / com / iver / ai2 / gvsig3dgui / tocMenu / TocRefreshLayer.java @ 15442

History | View | Annotate | Download (2.89 KB)

1
package com.iver.ai2.gvsig3dgui.tocMenu;
2

    
3
import com.iver.ai2.gvsig3d.map3d.MapContext3D;
4
import com.iver.ai2.gvsig3d.map3d.layers.Layer3DProps;
5
import com.iver.ai2.gvsig3dgui.ProjectView3D;
6
import com.iver.ai2.gvsig3dgui.view.View3D;
7
import com.iver.andami.PluginServices;
8
import com.iver.cit.gvsig.fmap.MapContext;
9
import com.iver.cit.gvsig.fmap.layers.FLayer;
10
import com.iver.cit.gvsig.fmap.layers.FLyrVect;
11
import com.iver.cit.gvsig.fmap.layers.FLyrWMS;
12
import com.iver.cit.gvsig.project.documents.view.IProjectView;
13
import com.iver.cit.gvsig.project.documents.view.gui.BaseView;
14
import com.iver.cit.gvsig.project.documents.view.toc.AbstractTocContextMenuAction;
15
import com.iver.cit.gvsig.project.documents.view.toc.ITocItem;
16
import com.iver.cit.gvsig.project.documents.view.toc.TocItemBranch;
17

    
18
public class TocRefreshLayer extends AbstractTocContextMenuAction {
19

    
20
        public String getGroup() {
21
                return "group6"; // FIXME
22
        }
23

    
24
        public int getGroupOrder() {
25
                return 60;
26
        }
27

    
28
        public int getOrder() {
29
                return 10;
30
        }
31

    
32
        public boolean isEnabled(ITocItem item, FLayer[] selectedItems) {
33
                // return selectedItems.length == 1;
34

    
35
                if (item instanceof TocItemBranch){
36
                        return true;
37
                }
38
                
39
                // return true;
40

    
41
                if (selectedItems.length == 1 && selectedItems[0] instanceof FLyrVect
42
                                && selectedItems[0].isAvailable() && !(item instanceof TocItemBranch)) {
43
                        return true;
44
                }
45
                // TODO Un toggle this comment to use the WFS extension
46
                if (selectedItems.length == 1 && selectedItems[0] instanceof FLyrWMS
47
                                && selectedItems[0].isAvailable() && !(item instanceof TocItemBranch)) {
48
                        return true;
49
                }/**/
50
                return false;
51

    
52
        }
53

    
54
        public boolean isVisible(ITocItem item, FLayer[] selectedItems) {
55
                com.iver.andami.ui.mdiManager.IWindow f = PluginServices
56
                                .getMDIManager().getActiveWindow();
57

    
58
                if (f == null) {
59
                        return false;
60
                }
61
                
62
                if (!isTocItemBranch(item))
63
                        return false;
64

    
65
                // Only isVisible = true, where the view3D have layers
66
                if (f instanceof View3D) {
67
                        BaseView vista = (BaseView) f;
68
                        IProjectView model = vista.getModel();
69
                        MapContext mapa = model.getMapContext();
70

    
71
                        return mapa.getLayers().getLayersCount() > 0;
72
                }
73
                return false;
74
        }
75

    
76
        public void execute(ITocItem item, FLayer[] selectedItems) {
77

    
78
                // Getting view3
79
                com.iver.andami.ui.mdiManager.IWindow view = PluginServices
80
                                .getMDIManager().getActiveWindow();
81
                if (!(view instanceof View3D))
82
                        return;
83
                // Casting to View3D
84
                View3D vista3D = (View3D) view;
85
                IProjectView model = vista3D.getModel();
86
                
87
                ProjectView3D pv = (ProjectView3D) model;
88
                
89
                for (int i = 0; i < selectedItems.length; i++) {
90
//                        System.out.println("Recargando capa :" + i);
91
                        ((MapContext3D) pv.getMapContext()).refreshLayerInPlanet(Layer3DProps.getLayer3DProps(selectedItems[i]),true);
92
                }
93

    
94
        }
95

    
96
        public String getText() {
97
                // Name that appears in toc menu
98
                return "Refrescar Capa";
99
        }
100

    
101
}