Statistics
| Revision:

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

History | View | Annotate | Download (2.58 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
    private static final String SYNCHRONIZE_VIEW_3D = "synchronize-view-3d";
20

    
21
    public void initialize() {
22
        registerIcons();
23
    }
24

    
25
    private void registerIcons() {
26
        IconThemeHelper.registerIcon("view3d", SYNCHRONIZE_VIEW_3D, this);
27
    }
28

    
29
    public void execute(String actionCommand) {
30

    
31
        if (SYNCHRONIZE_VIEW_3D.equals(actionCommand)) {
32
            IView view = getActiveView();
33

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

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

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

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

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

    
81
}