Statistics
| Revision:

gvsig-3d / 2.1 / branches / org.gvsig.view3d_soporte_bbdd_proyecciones / org.gvsig.view3d.app / org.gvsig.view3d.app.common / src / main / java / org / gvsig / view3d / app / mainplugin / SynchronizeView3DExtension.java @ 630

History | View | Annotate | Download (2.5 KB)

1
package org.gvsig.view3d.app.mainplugin;
2

    
3
import java.util.List;
4

    
5
import org.gvsig.andami.IconThemeHelper;
6
import org.gvsig.andami.plugins.Extension;
7
import org.gvsig.app.ApplicationLocator;
8
import org.gvsig.app.ApplicationManager;
9
import org.gvsig.app.project.documents.view.ViewDocument;
10
import org.gvsig.app.project.documents.view.gui.IView;
11
import org.gvsig.fmap.mapcontext.layers.ExtendedPropertiesSupport;
12
import org.gvsig.view3d.swing.api.MapControl3D;
13
import org.gvsig.view3d.swing.api.View3DSwingLocator;
14
import org.gvsig.view3d.swing.api.View3DSwingManager;
15
import org.gvsig.view3d.swing.api.View3DSwingManager.TYPE;
16

    
17
public class SynchronizeView3DExtension extends Extension {
18

    
19
    public void initialize() {
20
        registerIcons();
21
    }
22

    
23
    private void registerIcons() {
24
        IconThemeHelper.registerIcon("view3d", "synchronize-view-3d", this);
25
    }
26

    
27
    public void execute(String actionCommand) {
28

    
29
        if ("synchronize-view-3d".equals(actionCommand)) {
30
            IView view = getActiveView();
31

    
32
            View3DSwingManager manager = View3DSwingLocator.getManager();
33
            MapControl3D mapControl3DFlat =
34
                manager.getMapControl3D(
35
                    (ExtendedPropertiesSupport) view.getViewDocument(),
36
                    TYPE.FLAT);
37
            if (mapControl3DFlat != null) {
38
                mapControl3DFlat.reloadLayers();
39
            }
40

    
41
            MapControl3D mapControl3DSphere =
42
                manager.getMapControl3D(
43
                    (ExtendedPropertiesSupport) view.getViewDocument(),
44
                    TYPE.SPHERE);
45
            if (mapControl3DSphere != null) {
46
                mapControl3DSphere.reloadLayers();
47
            }
48
        }
49
    }
50

    
51
    public boolean isEnabled() {
52
        IView view = getActiveView();
53
        if (view != null) {
54
            View3DSwingManager manager = View3DSwingLocator.getManager();
55
            List<MapControl3D> mapControls3D =
56
                manager.getMapControl3D((ExtendedPropertiesSupport) view
57
                    .getViewDocument());
58
            if (mapControls3D.size() > 0) {
59
                return true;
60
            }
61
        }
62
        return false;
63
    }
64

    
65
    public boolean isVisible() {
66
        IView view = getActiveView();
67
        if (view != null) {
68
            return true;
69
        }
70
        return false;
71
    }
72

    
73
    private IView getActiveView() {
74
        ApplicationManager application = ApplicationLocator.getManager();
75
        IView view = (IView) application.getActiveComponent(ViewDocument.class);
76
        return view;
77
    }
78

    
79
}