Statistics
| Revision:

gvsig-3d / 2.1 / trunk / org.gvsig.view3d / org.gvsig.view3d.app / org.gvsig.view3d.app.common / src / main / java / org / gvsig / view3d / app / properties / RasterLayerProperties3DPanel.java @ 486

History | View | Annotate | Download (3.61 KB)

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

    
3
import java.awt.BorderLayout;
4
import java.awt.Dimension;
5

    
6
import org.gvsig.fmap.mapcontext.layers.FLayer;
7
import org.gvsig.gui.beans.panelGroup.panels.AbstractPanel;
8
import org.gvsig.tools.ToolsLocator;
9
import org.gvsig.tools.i18n.I18nManager;
10
import org.gvsig.view3d.lib.api.View3DLocator;
11
import org.gvsig.view3d.lib.api.View3DManager;
12
import org.gvsig.view3d.lib.api.properties.LayerProperties3D;
13
import org.gvsig.view3d.lib.api.properties.VectorialLayerProperties3D;
14
import org.gvsig.view3d.swing.api.LayerProperties3DPanel;
15
import org.gvsig.view3d.swing.api.View3DSwingLocator;
16
import org.gvsig.view3d.swing.api.View3DSwingManager;
17

    
18
public class RasterLayerProperties3DPanel extends AbstractPanel {
19

    
20
    private static final long serialVersionUID = 5429099827670959087L;
21

    
22
    private LayerProperties3DPanel propertiesPanel;
23
    private LayerProperties3D tmpProperties;
24

    
25
    public RasterLayerProperties3DPanel() {
26
        super();
27
        initialize();
28
    }
29

    
30
    public void accept() {
31
        apply();
32

    
33
        View3DManager manager = View3DLocator.getManager();
34
        manager.setLayerProperties(propertiesPanel.getLayer(), tmpProperties);
35
    }
36

    
37
    public void apply() {
38
        I18nManager i18nManager = ToolsLocator.getI18nManager();
39

    
40
        View3DManager manager = View3DLocator.getManager();
41
        LayerProperties3D layerProperties =
42
            manager.getLayerProperties(propertiesPanel.getLayer());
43

    
44
        layerProperties.setMinLevel(propertiesPanel.getMinLevel());
45
        layerProperties.setMaxLevel(propertiesPanel.getMaxLevel());
46
        layerProperties.setLevelZeroResolutionMultiplier(propertiesPanel
47
            .getResolutionMultiplier());
48
        layerProperties.setTileWidth(propertiesPanel.getTileWidth());
49
        layerProperties.setTileHeight(propertiesPanel.getTileHeight());
50

    
51
        if (propertiesPanel.getLoadMode().equalsIgnoreCase(
52
            i18nManager.getTranslation("elevation"))) {
53

    
54
            layerProperties.setElevation(true);
55

    
56
            if (layerProperties instanceof VectorialLayerProperties3D) {
57
                VectorialLayerProperties3D vectorialProperties =
58
                    (VectorialLayerProperties3D) layerProperties;
59
                vectorialProperties.setElevationField(propertiesPanel
60
                    .getElevationField());
61
            }
62

    
63
            layerProperties.setElevationUnits(propertiesPanel
64
                .getElevationUnits());
65
            layerProperties.setNoDataValue(propertiesPanel.getNoDataValue());
66

    
67
        } else {
68
            if (layerProperties instanceof VectorialLayerProperties3D) {
69
                VectorialLayerProperties3D vectorialProperties =
70
                    (VectorialLayerProperties3D) layerProperties;
71
                vectorialProperties.setRasterized(true);
72
            }
73
        }
74
        tmpProperties = layerProperties;
75
    }
76

    
77
    public void cancel() {
78
        this.propertiesPanel = null;
79
    }
80

    
81
    @Override
82
    protected void initialize() {
83
        I18nManager i18nManager = ToolsLocator.getI18nManager();
84
        setLabel(i18nManager.getTranslation("3D"));
85

    
86
        this.setLayout(new BorderLayout());
87
        this.setPreferredSize(new Dimension(100, 80));
88
    }
89

    
90
    public void selected() {
91
    }
92

    
93
    public void setReference(Object ref) {
94
        super.setReference(ref);
95

    
96
        if (ref instanceof FLayer) {
97
            FLayer layer = (FLayer) ref;
98
            View3DSwingManager swingManager = View3DSwingLocator.getManager();
99
            this.propertiesPanel =
100
                swingManager.createLayerProperties3DPanel(layer);
101
            this.add(propertiesPanel.asJComponent(), BorderLayout.CENTER);
102
        }
103
    }
104

    
105
}