Revision 486

View differences:

2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.app/org.gvsig.view3d.app.common/src/main/java/org/gvsig/view3d/app/mainplugin/View3DExtension.java
30 30
import org.gvsig.app.ApplicationManager;
31 31
import org.gvsig.app.project.documents.view.ViewDocument;
32 32
import org.gvsig.app.project.documents.view.gui.IView;
33
import org.gvsig.app.project.documents.view.legend.gui.ThemeManagerWindow;
33 34
import org.gvsig.fmap.mapcontext.MapContext;
34 35
import org.gvsig.fmap.mapcontext.layers.FLayers;
36
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
37
import org.gvsig.tools.ToolsLocator;
38
import org.gvsig.tools.extensionpoint.ExtensionPoint;
39
import org.gvsig.tools.extensionpoint.ExtensionPointManager;
35 40
import org.gvsig.tools.observer.Notification;
36 41
import org.gvsig.tools.observer.Observable;
37 42
import org.gvsig.tools.observer.Observer;
43
import org.gvsig.view3d.app.properties.LayerProperties3DThemeManagerPage;
44
import org.gvsig.view3d.app.properties.RasterLayerProperties3DPanel;
38 45
import org.gvsig.view3d.swing.api.MapControl3D;
39 46
import org.gvsig.view3d.swing.api.View3DPanel;
40 47
import org.gvsig.view3d.swing.api.View3DSwingLocator;
......
48 55
public class View3DExtension extends Extension implements Observer{
49 56

  
50 57
    public void initialize() {
58
        
59
        ThemeManagerWindow.addPage(LayerProperties3DThemeManagerPage.class);
60
        ThemeManagerWindow.setTabEnabledForLayer(
61
            LayerProperties3DThemeManagerPage.class, FLyrVect.class, true);
62
        
63
        ExtensionPointManager extensionPoints = ToolsLocator.getExtensionPointManager();
64
        ExtensionPoint point = extensionPoints.get("RasterSEPropertiesDialog");
65
        if(point != null){
66
            point.append("3D", "3D Raster properties panel",
67
                RasterLayerProperties3DPanel.class);
68
        }
51 69
        registerIcons();
52 70
    }
53 71

  
......
159 177
        }
160 178
        
161 179
    }
162

  
163 180
}
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
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
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.app/org.gvsig.view3d.app.common/src/main/java/org/gvsig/view3d/app/properties/LayerProperties3DThemeManagerPage.java
1
package org.gvsig.view3d.app.properties;
2

  
3
import java.awt.BorderLayout;
4

  
5
import org.gvsig.app.project.documents.view.legend.gui.AbstractThemeManagerPage;
6
import org.gvsig.fmap.mapcontext.layers.FLayer;
7
import org.gvsig.tools.ToolsLocator;
8
import org.gvsig.tools.i18n.I18nManager;
9
import org.gvsig.view3d.lib.api.View3DLocator;
10
import org.gvsig.view3d.lib.api.View3DManager;
11
import org.gvsig.view3d.lib.api.properties.LayerProperties3D;
12
import org.gvsig.view3d.lib.api.properties.VectorialLayerProperties3D;
13
import org.gvsig.view3d.swing.api.LayerProperties3DPanel;
14
import org.gvsig.view3d.swing.api.View3DSwingLocator;
15
import org.gvsig.view3d.swing.api.View3DSwingManager;
16

  
17
public class LayerProperties3DThemeManagerPage extends AbstractThemeManagerPage {
18

  
19
    private static final long serialVersionUID = 6180306542845960820L;
20

  
21
    private LayerProperties3DPanel propertiesPanel;
22

  
23
    public LayerProperties3DThemeManagerPage() {
24
        super();
25
        initialize();
26
    }
27

  
28
    @Override
29
    public void acceptAction() {
30
        applyAction();
31
    }
32

  
33
    @Override
34
    public void applyAction() {
35

  
36
        I18nManager i18nManager = ToolsLocator.getI18nManager();
37

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

  
42
        if (layerProperties instanceof VectorialLayerProperties3D) {
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
                layerProperties.setElevationUnits(propertiesPanel
63
                    .getElevationUnits());
64
                layerProperties
65
                    .setNoDataValue(propertiesPanel.getNoDataValue());
66

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

  
76
        manager.setLayerProperties(propertiesPanel.getLayer(), layerProperties);
77
    }
78

  
79
    @Override
80
    public void cancelAction() {
81
    }
82

  
83
    @Override
84
    public String getName() {
85
        I18nManager i18nManager = ToolsLocator.getI18nManager();
86
        return i18nManager.getTranslation("3D");
87
    }
88

  
89
    @Override
90
    public int getPriority() {
91
        return 10;
92
    }
93

  
94
    private void initialize() {
95
        this.setLayout(new BorderLayout());
96
    }
97

  
98
    @Override
99
    public void setModel(FLayer layer) {
100

  
101
        View3DSwingManager swingManager = View3DSwingLocator.getManager();
102
        this.propertiesPanel = swingManager.createLayerProperties3DPanel(layer);
103
        this.add(propertiesPanel.asJComponent(), BorderLayout.CENTER);
104

  
105
    }
106

  
107
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.app/org.gvsig.view3d.app.common/src/main/resources-plugin/i18n/text.properties
1
3D = 3D
1 2
flat_view_3d= Visor 3D plano
2
sphere_view_3d=  Visor 3D esf?rico 
3
view_3d = Visor 3D
3
elevation= Elevaci\u00F3n
4
elevation_field= Campo elevaci\u00F3n
5
level_details= Niveles de detalle
6
load_mode= Modo de carga
7
tile_configuration= Configuraci\u00F3n de tiles
8
raster_image= Imagen raster
9
rasterized_vectorial= Vectorial rasterizada
10
sphere_view_3d=  Visor 3D esf\u00E9rico 
11
view_3d = Visor 3D
12
zero_level_resolution= Resoluci\u00F3n nivel cero
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.app/org.gvsig.view3d.app.common/src/main/resources-plugin/i18n/text_en.properties
1
3D= 3D
1 2
flat_view_3d= Flat 3D viewer
3
elevation= Elevation
4
elevation_field= Elvation field
5
level_details= Level of details
6
load_mode= Load mode
7
tile_configuration= Tile configuration
8
raster_image= Raster image
9
rasterized_vectorial= Rasterized vectorial
2 10
sphere_view_3d= Sphere 3D viewer 
3
view_3d= 3D View
11
view_3d= 3D View
12
zero_level_resolution= Zero level resolution
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.app/org.gvsig.view3d.app.common/src/main/resources-plugin/config.xml
13 13
	AT gvsig.com, or visit our website www.gvsig.com. -->
14 14
<plugin-config>
15 15
	<depends plugin-name="org.gvsig.app.mainplugin" />
16
  <depends plugin-name="org.gvsig.raster.tools.app.basic" optional="true"/>
16 17
	<resourceBundle name="text" />
17 18
	<libraries library-dir="lib" />
18 19
	<extensions>
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.lib/org.gvsig.view3d.lib.api/src/main/java/org/gvsig/view3d/lib/api/View3DManager.java
24 24

  
25 25
package org.gvsig.view3d.lib.api;
26 26

  
27
import org.gvsig.fmap.mapcontext.layers.FLayer;
28
import org.gvsig.view3d.lib.api.properties.LayerProperties3D;
27 29

  
30

  
28 31
/**
29 32
 * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
30 33
 *
31 34
 */
32 35
public interface View3DManager {
36
    
37
    public LayerProperties3D getLayerProperties(FLayer layer);
38
    
39
    public void setLayerProperties(FLayer layer, LayerProperties3D properties);
33 40

  
34 41
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.lib/org.gvsig.view3d.lib.api/src/main/java/org/gvsig/view3d/lib/api/properties/LayerProperties3D.java
1
package org.gvsig.view3d.lib.api.properties;
2

  
3
/**
4
 * 
5
 * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
6
 *
7
 */
8
public interface LayerProperties3D {
9
    
10
    /**
11
     * 
12
     * @return
13
     */
14
    public boolean getElevation();
15
    
16
    /**
17
     * 
18
     * @return
19
     */
20
    public String getElevationUnits();
21
    
22
    /**
23
     * 
24
     * @return
25
     */
26
    public double getLevelZeroResolutionMultiplier();
27
    
28
    /**
29
     * 
30
     * @return
31
     */
32
    public int getMaxLevel();
33
    
34
    /**
35
     * 
36
     * @return
37
     */
38
    public int getMinLevel();
39
    
40
    /**
41
     * 
42
     * @return
43
     */
44
    public double getNoDataValue();
45
    
46
    /**
47
     * 
48
     * @return
49
     */
50
    public int getTileHeight();
51
    
52
    /**
53
     * 
54
     * @return
55
     */
56
    public int getTileWidth();
57
    
58
    /**
59
     * 
60
     * @param elevation
61
     */
62
    public void setElevation(boolean elevation);
63
    
64
    /**
65
     * 
66
     * @param units
67
     */
68
    public void setElevationUnits(String units);
69
    
70
    /**
71
     * 
72
     * @param multiplier
73
     */
74
    public void setLevelZeroResolutionMultiplier(double multiplier);
75
    
76
    /**
77
     * 
78
     * @param maxLevel
79
     */
80
    public void setMaxLevel(int maxLevel);
81
    
82
    /**
83
     * 
84
     * @param minLevel
85
     */
86
    public void setMinLevel(int minLevel);
87
    
88
    /**
89
     * 
90
     * @param noDataValue
91
     */
92
    public void setNoDataValue(double noDataValue);
93
    
94
    /**
95
     * 
96
     * @param height
97
     */
98
    public void setTileHeight(int height);
99
    
100
    /**
101
     * 
102
     * @param width
103
     */
104
    public void setTileWidth(int width);
105
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.lib/org.gvsig.view3d.lib.api/src/main/java/org/gvsig/view3d/lib/api/properties/RasterLayerProperties3D.java
1
package org.gvsig.view3d.lib.api.properties;
2

  
3
/**
4
 * 
5
 * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
6
 *
7
 */
8
public interface RasterLayerProperties3D extends LayerProperties3D {
9

  
10
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.lib/org.gvsig.view3d.lib.api/src/main/java/org/gvsig/view3d/lib/api/properties/VectorialLayerProperties3D.java
1
package org.gvsig.view3d.lib.api.properties;
2

  
3
/**
4
 * 
5
 * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
6
 *
7
 */
8
public interface VectorialLayerProperties3D extends LayerProperties3D {
9
    
10
    /**
11
     * 
12
     * @return
13
     */
14
    public String getElevationField();
15
    
16
    /**
17
     * 
18
     * @return
19
     */
20
    public boolean getRasterized();
21
    
22
    /**
23
     * 
24
     * @param field
25
     */
26
    public void setElevationField(String field);
27
    
28
    /**
29
     * 
30
     * @param rasterized
31
     */
32
    public void setRasterized(boolean rasterized);
33
    
34
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.lib/org.gvsig.view3d.lib.api/pom.xml
14 14
    </dependency>
15 15
    <dependency>
16 16
        <groupId>org.gvsig</groupId>
17
        <artifactId>org.gvsig.fmap.dal.api</artifactId>
17
        <artifactId>org.gvsig.fmap.mapcontext.api</artifactId>
18 18
    </dependency>
19 19
  </dependencies>
20 20
</project>
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.lib/org.gvsig.view3d.lib.impl/src/main/java/org/gvsig/view3d/lib/impl/DefaultView3DManger.java
23 23

  
24 24
package org.gvsig.view3d.lib.impl;
25 25

  
26
import org.gvsig.fmap.mapcontext.layers.FLayer;
27
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
26 28
import org.gvsig.view3d.lib.api.View3DManager;
29
import org.gvsig.view3d.lib.api.properties.LayerProperties3D;
30
import org.gvsig.view3d.lib.impl.properties.DefaultRasterLayerProperties3D;
31
import org.gvsig.view3d.lib.impl.properties.DefaultVectorialLayerProperties3D;
27 32

  
28 33

  
29 34
/**
......
32 37
 */
33 38
public class DefaultView3DManger implements View3DManager {
34 39

  
40
    public LayerProperties3D getLayerProperties(FLayer layer) {
41
        Object properties = layer.getProperty("properties3D");
42
        if(properties == null){
43
            
44
            if(layer instanceof FLyrVect){
45
                return new DefaultVectorialLayerProperties3D();
46
            } else {
47
                return new DefaultRasterLayerProperties3D();
48
            }
49
        }
50
        return (LayerProperties3D) properties;
51
    }
52

  
53
    public void setLayerProperties(FLayer layer, LayerProperties3D properties) {
54
        layer.setProperty("properties3D", properties);
55
    }
56

  
35 57
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.lib/org.gvsig.view3d.lib.impl/src/main/java/org/gvsig/view3d/lib/impl/properties/DefaultRasterLayerProperties3D.java
1
package org.gvsig.view3d.lib.impl.properties;
2

  
3
import org.gvsig.view3d.lib.api.properties.RasterLayerProperties3D;
4

  
5
public class DefaultRasterLayerProperties3D extends BasicLayerPropertiesPanel3D
6
    implements RasterLayerProperties3D {
7

  
8

  
9
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.lib/org.gvsig.view3d.lib.impl/src/main/java/org/gvsig/view3d/lib/impl/properties/DefaultVectorialLayerProperties3D.java
1
package org.gvsig.view3d.lib.impl.properties;
2

  
3
import org.gvsig.view3d.lib.api.properties.VectorialLayerProperties3D;
4

  
5

  
6
public class DefaultVectorialLayerProperties3D extends BasicLayerPropertiesPanel3D implements
7
    VectorialLayerProperties3D {
8
    
9
    private boolean rasterized = true;
10
    private String elevationField;
11

  
12
    public String getElevationField() {
13
        return elevationField;
14
    }
15

  
16
    public boolean getRasterized() {
17
        return this.rasterized;
18
    }
19

  
20
    public void setElevationField(String field) {
21
        this.elevationField = field;
22
    }
23

  
24
    public void setRasterized(boolean rasterized) {
25
        this.rasterized = rasterized;
26
    }
27

  
28
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.lib/org.gvsig.view3d.lib.impl/src/main/java/org/gvsig/view3d/lib/impl/properties/BasicLayerPropertiesPanel3D.java
1
package org.gvsig.view3d.lib.impl.properties;
2

  
3
import org.gvsig.view3d.lib.api.properties.LayerProperties3D;
4

  
5

  
6
public class BasicLayerPropertiesPanel3D implements LayerProperties3D {
7
    
8
    private boolean elevation = false;
9
    private String elevationUnits;
10
    private double levelZeroResolutionMultiplier = 1;
11
    private int maxLevel = 0;
12
    private int minLevel = 0;
13
    private double noDataValue = -99999;
14
    private int tileWidth = 512;
15
    private int tileHeight = 512;
16

  
17
    public boolean getElevation() {
18
        return elevation;
19
    }
20

  
21
    public String getElevationUnits() {
22
        return elevationUnits;
23
    }
24

  
25
    public double getLevelZeroResolutionMultiplier() {
26
        return levelZeroResolutionMultiplier * 5;
27
    }
28

  
29
    public int getMaxLevel() {
30
        return maxLevel;
31
    }
32

  
33
    public int getMinLevel() {
34
        return minLevel;
35
    }
36

  
37
    public double getNoDataValue() {
38
        return noDataValue;
39
    }
40

  
41
    public int getTileHeight() {
42
        return tileHeight;
43
    }
44

  
45
    public int getTileWidth() {
46
        return tileWidth;
47
    }
48

  
49
    public void setElevation(boolean elevation) {
50
        this.elevation = elevation;
51
    }
52

  
53
    public void setElevationUnits(String elevation) {
54
        this.elevationUnits = elevation;
55
    }
56

  
57
    public void setLevelZeroResolutionMultiplier(double multiplier) {
58
        this.levelZeroResolutionMultiplier = multiplier / 5;
59
    }
60

  
61
    public void setMaxLevel(int maxLevel) {
62
        this.maxLevel = maxLevel;
63
    }
64

  
65
    public void setMinLevel(int minLevel) {
66
        this.minLevel = minLevel;
67
    }
68

  
69
    public void setNoDataValue(double noDataValue) {
70
        this.noDataValue = noDataValue;
71

  
72
    }
73

  
74
    public void setTileHeight(int height) {
75
        this.tileHeight = height;
76

  
77
    }
78

  
79
    public void setTileWidth(int width) {
80
        this.tileWidth = width;
81
    }
82

  
83
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.swing/org.gvsig.view3d.swing.api/src/main/java/org/gvsig/view3d/swing/api/LayerProperties3DPanel.java
1
package org.gvsig.view3d.swing.api;
2

  
3
import org.gvsig.fmap.mapcontext.layers.FLayer;
4
import org.gvsig.tools.swing.api.Component;
5

  
6
/**
7
 * 
8
 * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
9
 *
10
 */
11
public interface LayerProperties3DPanel extends Component {
12

  
13
    /**
14
     * 
15
     * @return
16
     */
17
    public String getElevationField();
18

  
19
    /**
20
     * 
21
     * @return
22
     */
23
    public String getElevationUnits();
24

  
25
    /**
26
     * 
27
     * @return
28
     */
29
    public FLayer getLayer();
30

  
31
    /**
32
     * 
33
     * @return
34
     */
35
    public String getLoadMode();
36

  
37
    /**
38
     * 
39
     * @return
40
     */
41
    public int getMaxLevel();
42

  
43
    /**
44
     * 
45
     * @return
46
     */
47
    public int getMinLevel();
48

  
49
    /**
50
     * 
51
     * @return
52
     */
53
    public double getNoDataValue();
54

  
55
    /**
56
     * 
57
     * @return
58
     */
59
    public int getResolutionMultiplier();
60

  
61
    /**
62
     * 
63
     * @return
64
     */
65
    public int getTileHeight();
66

  
67
    /**
68
     * 
69
     * @return
70
     */
71
    public int getTileWidth();
72

  
73
    /**
74
     * 
75
     * @param layer
76
     */
77
    public void setLayer(FLayer layer);
78
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.swing/org.gvsig.view3d.swing.api/src/main/java/org/gvsig/view3d/swing/api/View3DSwingManager.java
25 25
package org.gvsig.view3d.swing.api;
26 26

  
27 27
import org.gvsig.fmap.mapcontext.MapContext;
28
import org.gvsig.fmap.mapcontext.layers.FLayer;
29
import org.gvsig.tools.swing.api.Component;
28 30

  
29 31
/**
30 32
 * This class is responsible of the management of the library's swing user
......
84 86
     *         <code> null </code>
85 87
     */
86 88
    public MapControl3D getMapControl3D(MapContext theMapContext, TYPE type);
87

  
89
    
90
    /**
91
     * 
92
     * @param layer
93
     * @return
94
     */
95
    public LayerProperties3DPanel createLayerProperties3DPanel(FLayer layer);
96
    
88 97
    // TODO: Add methods to get properties panels.
89 98

  
90 99
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.swing/org.gvsig.view3d.swing.impl/src/main/java/org/gvsig/view3d/swing/impl/DefaultView3DSwingManager.java
30 30
import java.util.Map;
31 31

  
32 32
import org.gvsig.fmap.mapcontext.MapContext;
33
import org.gvsig.fmap.mapcontext.layers.FLayer;
33 34
import org.gvsig.tools.observer.Notification;
34 35
import org.gvsig.tools.observer.Observable;
35 36
import org.gvsig.tools.observer.Observer;
37
import org.gvsig.view3d.swing.api.LayerProperties3DPanel;
36 38
import org.gvsig.view3d.swing.api.MapControl3D;
37 39
import org.gvsig.view3d.swing.api.View3DPanel;
38 40
import org.gvsig.view3d.swing.api.View3DSwingManager;
41
import org.gvsig.view3d.swing.impl.properties.layer.DefaultLayerProperties3DPanel;
39 42
import org.slf4j.Logger;
40 43
import org.slf4j.LoggerFactory;
41 44

  
......
126 129
            }
127 130
        }
128 131
    }
132

  
133
    public LayerProperties3DPanel createLayerProperties3DPanel(FLayer layer) {
134
        return new DefaultLayerProperties3DPanel(layer);
135
    }
129 136
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.swing/org.gvsig.view3d.swing.impl/src/main/java/org/gvsig/view3d/swing/impl/DefaultMapControl3D.java
66 66
import org.gvsig.tools.observer.Observer;
67 67
import org.gvsig.tools.task.Cancellable;
68 68
import org.gvsig.tools.visitor.VisitCanceledException;
69
import org.gvsig.view3d.lib.api.View3DLocator;
70
import org.gvsig.view3d.lib.api.View3DManager;
71
import org.gvsig.view3d.lib.api.properties.LayerProperties3D;
69 72
import org.gvsig.view3d.swing.api.MapControl3D;
70 73
import org.gvsig.view3d.swing.api.View3DSwingManager.TYPE;
71 74
import org.gvsig.view3d.swing.impl.data.DefaultLayerConverter;
......
151 154
    private void addGvSIGLayer(FLayer layer) throws DataException {
152 155

  
153 156
        LayerConverter converter = new DefaultLayerConverter();
154

  
157
        
158
        View3DManager manager = View3DLocator.getManager();
159
        LayerProperties3D layerProperties = manager.getLayerProperties(layer);
160
        
155 161
        // TODO Check load mode to create WW Layer
156 162
        Layer rasterTiledLayer = converter.convertToLayer(this, layer);
157 163

  
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.swing/org.gvsig.view3d.swing.impl/src/main/java/org/gvsig/view3d/swing/impl/properties/layer/AbstractLayerProperties3DPanel.java
1
package org.gvsig.view3d.swing.impl.properties.layer;
2

  
3
import java.awt.BorderLayout;
4
import java.awt.Color;
5
import java.awt.Container;
6
import java.awt.Dimension;
7
import java.awt.GridBagConstraints;
8
import java.awt.GridBagLayout;
9
import java.awt.GridLayout;
10
import java.awt.Insets;
11
import java.util.Hashtable;
12

  
13
import javax.swing.BorderFactory;
14
import javax.swing.JComboBox;
15
import javax.swing.JComponent;
16
import javax.swing.JLabel;
17
import javax.swing.JPanel;
18
import javax.swing.JSlider;
19
import javax.swing.JTextField;
20

  
21
import org.gvsig.tools.ToolsLocator;
22
import org.gvsig.tools.i18n.I18nManager;
23
import org.gvsig.view3d.swing.api.LayerProperties3DPanel;
24

  
25
public abstract class AbstractLayerProperties3DPanel extends JPanel implements
26
    LayerProperties3DPanel {
27

  
28
    private static final long serialVersionUID = -7539636081774210233L;
29

  
30
    private Insets insets = new Insets(5, 5, 5, 5);
31

  
32
    private JPanel northPanel;
33
    private JLabel loadModeText;
34
    private JComboBox<String> loadModes;
35

  
36
    private JPanel tileConfigurationPanel;
37

  
38
    private JPanel minMaxPanel;
39
    private JLabel minimumText;
40
    private JTextField minimumField;
41
    private JLabel maximumText;
42
    private JTextField maximumField;
43

  
44
    private JPanel detailPanel;
45
    private JSlider levelDetailSlider;
46

  
47
    private JPanel tileSizePanel;
48
    private JLabel tileWidthText;
49
    private JTextField tileWidthField;
50
    private JLabel tileHeightText;
51
    private JTextField tileHeightField;
52

  
53
    private JPanel elevationPanel;
54

  
55
    private JPanel elevationConfPanel;
56
    private JLabel fieldElevationText;
57
    private JComboBox<String> fieldElevationCombo;
58
    private JLabel unitsElevationText;
59
    private JComboBox<String> unitsElevationCombo;
60
    private JLabel noDataElevationText;
61
    private JTextField noDataElevationField;
62

  
63
    public AbstractLayerProperties3DPanel() {
64
        this.setLayout(new BorderLayout());
65

  
66
        initialize();
67
    }
68

  
69
    protected void initialize() {
70
        this.add(getNorthPanel(), BorderLayout.NORTH);
71
        this.add(getTileConfigurationPanel(), BorderLayout.CENTER);
72
        this.add(getElevationPanel(), BorderLayout.SOUTH);
73
        this.setPreferredSize(new Dimension(100, 80));
74
    }
75

  
76
    protected JPanel getElevationPanel() {
77
        if (elevationPanel == null) {
78
            elevationPanel = new JPanel(new BorderLayout());
79
            I18nManager i18nManager = ToolsLocator.getI18nManager();
80
            elevationPanel.setBorder(BorderFactory.createTitledBorder(
81
                BorderFactory.createLineBorder(Color.GRAY),
82
                i18nManager.getTranslation("elevation")));
83
            elevationPanel.add(getElevationConfPanel(), BorderLayout.CENTER);
84
        }
85
        return elevationPanel;
86
    }
87

  
88
    private JPanel getElevationConfPanel() {
89
        if (elevationConfPanel == null) {
90
            elevationConfPanel = new JPanel(new GridBagLayout());
91

  
92
            GridBagConstraints cons = createGbcForm(0, 0);
93
            elevationConfPanel.add(getFieldLabel(), cons);
94
            cons = createGbcForm(1, 0);
95
            elevationConfPanel.add(getFieldComboBox(), cons);
96

  
97
            cons = createGbcForm(0, 1);
98
            elevationConfPanel.add(getUnitsLabel(), cons);
99
            cons = createGbcForm(1, 1);
100
            elevationConfPanel.add(getUnitsComboBox(), cons);
101

  
102
            cons = createGbcForm(0, 2);
103
            elevationConfPanel.add(getNoDataLabel(), cons);
104
            cons = createGbcForm(1, 2);
105
            elevationConfPanel.add(getNoDataField(), cons);
106

  
107
        }
108
        return elevationConfPanel;
109
    }
110

  
111
    protected JTextField getNoDataField() {
112
        if (noDataElevationField == null) {
113
            noDataElevationField = new JTextField();
114
        }
115
        return noDataElevationField;
116
    }
117

  
118
    private JLabel getNoDataLabel() {
119
        if (noDataElevationText == null) {
120
            I18nManager i18nManager = ToolsLocator.getI18nManager();
121
            noDataElevationText =
122
                new JLabel(i18nManager.getTranslation("nodata"));
123
        }
124
        return noDataElevationText;
125
    }
126

  
127
    protected JComboBox<String> getUnitsComboBox() {
128
        if (unitsElevationCombo == null) {
129
            I18nManager i18nManager = ToolsLocator.getI18nManager();
130
            String meters = i18nManager.getTranslation("meters");
131
            String foots = i18nManager.getTranslation("Pies");
132
            unitsElevationCombo = new JComboBox<String>();
133
            unitsElevationCombo.addItem(meters);
134
            unitsElevationCombo.addItem(foots);
135
        }
136
        return unitsElevationCombo;
137
    }
138

  
139
    private JLabel getUnitsLabel() {
140
        if (unitsElevationText == null) {
141
            I18nManager i18nManager = ToolsLocator.getI18nManager();
142
            unitsElevationText =
143
                new JLabel(i18nManager.getTranslation("units"));
144
        }
145
        return unitsElevationText;
146
    }
147

  
148
    protected JComboBox<String> getFieldComboBox() {
149
        if (fieldElevationCombo == null) {
150
            fieldElevationCombo = new JComboBox<String>();
151
        }
152
        return fieldElevationCombo;
153
    }
154

  
155
    protected JLabel getFieldLabel() {
156
        if (fieldElevationText == null) {
157
            I18nManager i18nManager = ToolsLocator.getI18nManager();
158
            fieldElevationText =
159
                new JLabel(i18nManager.getTranslation("elevation_field"));
160
        }
161
        return fieldElevationText;
162
    }
163

  
164
    private GridBagConstraints createGbcForm(int x, int y) {
165
        GridBagConstraints gbc = new GridBagConstraints();
166
        gbc.gridx = x;
167
        gbc.gridy = y;
168
        gbc.gridwidth = 1;
169
        gbc.gridheight = 1;
170

  
171
        gbc.anchor =
172
            (x == 0) ? GridBagConstraints.WEST : GridBagConstraints.EAST;
173
        gbc.fill =
174
            (x == 0) ? GridBagConstraints.BOTH : GridBagConstraints.HORIZONTAL;
175

  
176
        // gbc.insets = (x == 0) ? new Insets(top, left, bottom, right) :
177
        // EAST_INSETS;
178
        gbc.insets = insets;
179
        gbc.weightx = (x == 0) ? 0.1 : 1.0;
180
        gbc.weighty = 1.0;
181
        return gbc;
182
    }
183

  
184
    private JPanel getNorthPanel() {
185
        if (northPanel == null) {
186
            northPanel = new JPanel(new GridBagLayout());
187

  
188
            GridBagConstraints cons = new GridBagConstraints();
189
            cons.gridx = 0;
190
            cons.gridy = 0;
191
            cons.weightx = 0;
192
            cons.weighty = 1;
193
            cons.gridwidth = 1;
194
            cons.gridheight = 1;
195
            cons.fill = GridBagConstraints.NONE;
196
            cons.anchor = GridBagConstraints.WEST;
197
            cons.insets = insets;
198

  
199
            northPanel.add(getLoadModeLabel(), cons);
200

  
201
            cons = new GridBagConstraints();
202
            cons.gridx = 1;
203
            cons.gridy = 0;
204
            cons.weightx = 1;
205
            cons.weighty = 1;
206
            cons.gridwidth = 3;
207
            cons.gridheight = 1;
208
            cons.insets = insets;
209
            cons.fill = GridBagConstraints.NONE;
210
            cons.anchor = GridBagConstraints.WEST;
211

  
212
            northPanel.add(getLoadModesComboBox(), cons);
213
        }
214
        return northPanel;
215
    }
216

  
217
    private JPanel getTileConfigurationPanel() {
218
        if (tileConfigurationPanel == null) {
219

  
220
            I18nManager i18nManager = ToolsLocator.getI18nManager();
221

  
222
            tileConfigurationPanel = new JPanel(new GridLayout(3, 1));
223
            tileConfigurationPanel.setBorder(BorderFactory.createTitledBorder(
224
                BorderFactory.createLineBorder(Color.GRAY),
225
                i18nManager.getTranslation("tile_configuration")));
226

  
227
            tileConfigurationPanel.add(getMinMaxPanel());
228

  
229
            tileConfigurationPanel.add(getDetailPanel());
230

  
231
            tileConfigurationPanel.add(getTileSizePanel());
232

  
233
        }
234
        return tileConfigurationPanel;
235
    }
236

  
237
    private JPanel getMinMaxPanel() {
238
        if (minMaxPanel == null) {
239
            minMaxPanel = new JPanel(new GridBagLayout());
240
            I18nManager i18nManager = ToolsLocator.getI18nManager();
241
            minMaxPanel.setBorder(BorderFactory.createTitledBorder(
242
                BorderFactory.createLineBorder(Color.GRAY),
243
                i18nManager.getTranslation("level_details")));
244

  
245
            minMaxPanel.add(getMinLabel(), createGbcForm(0, 0));
246
            minMaxPanel.add(getMinTextField(), createGbcForm(1, 0));
247
            minMaxPanel.add(getMaxLabel(), createGbcForm(0, 1));
248
            minMaxPanel.add(getMaxTextField(), createGbcForm(1, 1));
249
        }
250
        return minMaxPanel;
251
    }
252

  
253
    protected JTextField getMaxTextField() {
254
        if (maximumField == null) {
255
            maximumField = new JTextField();
256
        }
257
        return maximumField;
258
    }
259

  
260
    private JLabel getMaxLabel() {
261
        if (maximumText == null) {
262
            I18nManager i18nManager = ToolsLocator.getI18nManager();
263
            maximumText = new JLabel(i18nManager.getTranslation("Maximum"));
264
        }
265
        return maximumText;
266
    }
267

  
268
    protected JTextField getMinTextField() {
269
        if (minimumField == null) {
270
            minimumField = new JTextField();
271
        }
272
        return minimumField;
273
    }
274

  
275
    private JLabel getMinLabel() {
276
        if (minimumText == null) {
277
            I18nManager i18nManager = ToolsLocator.getI18nManager();
278
            minimumText = new JLabel(i18nManager.getTranslation("Minimum"));
279
        }
280
        return minimumText;
281
    }
282

  
283
    private JPanel getDetailPanel() {
284
        if (detailPanel == null) {
285
            I18nManager i18nManager = ToolsLocator.getI18nManager();
286
            detailPanel = new JPanel(new GridBagLayout());
287
            detailPanel.setBorder(BorderFactory.createTitledBorder(
288
                BorderFactory.createLineBorder(Color.GRAY),
289
                i18nManager.getTranslation("zero_level_resolution")));
290

  
291
            GridBagConstraints cons = new GridBagConstraints();
292
            cons.gridx = 0;
293
            cons.gridy = 0;
294
            cons.weightx = 1;
295
            cons.weighty = 1;
296
            cons.gridwidth = 1;
297
            cons.gridheight = 1;
298
            cons.fill = GridBagConstraints.BOTH;
299
            cons.anchor = GridBagConstraints.CENTER;
300
            cons.insets = insets;
301
            detailPanel.add(getLezelZeroSlider(), cons);
302
        }
303
        return detailPanel;
304
    }
305

  
306
    @SuppressWarnings({ "unchecked", "rawtypes" })
307
    protected JSlider getLezelZeroSlider() {
308
        if (levelDetailSlider == null) {
309
            levelDetailSlider = new JSlider(JSlider.HORIZONTAL, 0, 10, 5);
310

  
311
            // Create the label table
312
            Hashtable labelTable = new Hashtable();
313
            I18nManager i18nManager = ToolsLocator.getI18nManager();
314
            labelTable.put(new Integer(0),
315
                new JLabel(i18nManager.getTranslation("low")));
316
            labelTable.put(new Integer(10),
317
                new JLabel(i18nManager.getTranslation("high")));
318
            levelDetailSlider.setLabelTable(labelTable);
319
            levelDetailSlider.setPaintLabels(true);
320
            levelDetailSlider.setMajorTickSpacing(1);
321
            levelDetailSlider.setPaintTicks(true);
322
        }
323
        return levelDetailSlider;
324
    }
325

  
326
    private JPanel getTileSizePanel() {
327
        if (tileSizePanel == null) {
328
            tileSizePanel = new JPanel(new GridBagLayout());
329
            I18nManager i18nManager = ToolsLocator.getI18nManager();
330
            tileSizePanel.setBorder(BorderFactory.createTitledBorder(
331
                BorderFactory.createLineBorder(Color.GRAY),
332
                i18nManager.getTranslation("tilesize")));
333

  
334
            tileSizePanel.add(getHeightLabel(), createGbcForm(0, 0));
335
            tileSizePanel.add(getHeightField(), createGbcForm(1, 0));
336
            tileSizePanel.add(getWidthLabel(), createGbcForm(0, 1));
337
            tileSizePanel.add(getWidthField(), createGbcForm(1, 1));
338
        }
339
        return tileSizePanel;
340
    }
341

  
342
    protected JTextField getWidthField() {
343
        if (tileWidthField == null) {
344
            tileWidthField = new JTextField();
345
        }
346
        return tileWidthField;
347
    }
348

  
349
    private JLabel getWidthLabel() {
350
        if (tileWidthText == null) {
351
            I18nManager i18nManager = ToolsLocator.getI18nManager();
352
            tileWidthText = new JLabel(i18nManager.getTranslation("width"));
353
        }
354
        return tileWidthText;
355
    }
356

  
357
    protected JTextField getHeightField() {
358
        if (tileHeightField == null) {
359
            tileHeightField = new JTextField();
360
        }
361
        return tileHeightField;
362
    }
363

  
364
    private JLabel getHeightLabel() {
365
        if (tileHeightText == null) {
366
            I18nManager i18nManager = ToolsLocator.getI18nManager();
367
            tileHeightText = new JLabel(i18nManager.getTranslation("height"));
368
        }
369
        return tileHeightText;
370
    }
371

  
372
    private JLabel getLoadModeLabel() {
373
        if (loadModeText == null) {
374
            I18nManager i18nManager = ToolsLocator.getI18nManager();
375
            loadModeText = new JLabel(i18nManager.getTranslation("load_mode"));
376
        }
377
        return loadModeText;
378
    }
379

  
380
    protected JComboBox<String> getLoadModesComboBox() {
381
        if (loadModes == null) {
382
            loadModes = new JComboBox<String>();
383
        }
384
        return loadModes;
385
    }
386

  
387
    public void enableComponents(Container container, boolean enable) {
388
        java.awt.Component[] components = container.getComponents();
389
        for (java.awt.Component component : components) {
390
            component.setEnabled(enable);
391
            if (component instanceof Container) {
392
                enableComponents((Container) component, enable);
393
            }
394
        }
395
    }
396

  
397
    public JComponent asJComponent() {
398
        return this;
399
    }
400
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.swing/org.gvsig.view3d.swing.impl/src/main/java/org/gvsig/view3d/swing/impl/properties/layer/DefaultLayerProperties3DPanel.java
1
package org.gvsig.view3d.swing.impl.properties.layer;
2

  
3
import java.awt.event.ActionEvent;
4
import java.awt.event.ActionListener;
5
import java.util.Iterator;
6

  
7
import javax.swing.JComboBox;
8

  
9
import org.gvsig.fmap.dal.exception.DataException;
10
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
11
import org.gvsig.fmap.dal.feature.FeatureStore;
12
import org.gvsig.fmap.dal.feature.FeatureType;
13
import org.gvsig.fmap.mapcontext.layers.FLayer;
14
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
15
import org.gvsig.tools.ToolsLocator;
16
import org.gvsig.tools.i18n.I18nManager;
17
import org.gvsig.view3d.lib.api.View3DLocator;
18
import org.gvsig.view3d.lib.api.View3DManager;
19
import org.gvsig.view3d.lib.api.properties.LayerProperties3D;
20
import org.gvsig.view3d.lib.api.properties.VectorialLayerProperties3D;
21
import org.slf4j.Logger;
22
import org.slf4j.LoggerFactory;
23

  
24
public class DefaultLayerProperties3DPanel extends
25
    AbstractLayerProperties3DPanel {
26

  
27
    private static final Logger LOG = LoggerFactory
28
        .getLogger(DefaultLayerProperties3DPanel.class);
29

  
30
    private static final long serialVersionUID = -9087506154366633837L;
31

  
32
    private FLayer layer = null;
33
    private LayerProperties3D layerProperties;
34

  
35
    public DefaultLayerProperties3DPanel(FLayer theLayer) {
36
        super();
37
        this.layer = theLayer;
38

  
39
        View3DManager manager = View3DLocator.getManager();
40
        this.layerProperties = manager.getLayerProperties(theLayer);
41

  
42
        getLoadModesComboBox().addActionListener(new ActionListener() {
43

  
44
            public void actionPerformed(ActionEvent e) {
45
                @SuppressWarnings("rawtypes")
46
                JComboBox combo = (JComboBox) e.getSource();
47
                String selectedItem = (String) combo.getSelectedItem();
48
                update(selectedItem);
49
            }
50
        });
51

  
52
        fillPanel();
53
    }
54

  
55
    private void fillPanel() {
56
        fillLoadModes();
57
        fillDetailLevels();
58
        fillLevelZeroResolution();
59
        fillTileSize();
60
        fillElevationFields();
61
        fillElevationUnits();
62
        fillNoDataValue();
63
    }
64

  
65
    private void fillNoDataValue() {
66
        getNoDataField().setText(
67
            String.valueOf(layerProperties.getNoDataValue()));
68

  
69
    }
70

  
71
    private void fillElevationUnits() {
72
        I18nManager i18nManager = ToolsLocator.getI18nManager();
73
        String elevationUnits = layerProperties.getElevationUnits();
74

  
75
        if (i18nManager.getTranslation("meters").equalsIgnoreCase(
76
            elevationUnits)) {
77
            getUnitsComboBox().setSelectedItem(
78
                i18nManager.getTranslation("meters"));
79
        } else if (i18nManager.getTranslation("Pies").equalsIgnoreCase(
80
            elevationUnits)) {
81
            getUnitsComboBox().setSelectedItem(
82
                i18nManager.getTranslation("Pies"));
83
        }
84

  
85
    }
86

  
87
    private void fillTileSize() {
88
        int width = layerProperties.getTileWidth();
89
        int height = layerProperties.getTileHeight();
90

  
91
        getWidthField().setText(String.valueOf(width));
92
        getHeightField().setText(String.valueOf(height));
93
    }
94

  
95
    private void fillLevelZeroResolution() {
96
        getLezelZeroSlider().setValue(
97
            (int) layerProperties.getLevelZeroResolutionMultiplier());
98
    }
99

  
100
    private void fillDetailLevels() {
101
        int minLevel = layerProperties.getMinLevel();
102
        int maxLevel = layerProperties.getMaxLevel();
103

  
104
        getMaxTextField().setText(String.valueOf(maxLevel));
105
        getMinTextField().setText(String.valueOf(minLevel));
106
    }
107

  
108
    @SuppressWarnings("rawtypes")
109
    private void fillElevationFields() {
110

  
111
        if (this.layer == null) {
112
            return;
113
        }
114

  
115
        if (getFieldComboBox().getItemCount() > 0) {
116
            getFieldComboBox().removeAllItems();
117
        }
118

  
119
        if (this.layer instanceof FLyrVect) {
120
            FLyrVect vectorialLayer = (FLyrVect) layer;
121
            FeatureStore featureStore = vectorialLayer.getFeatureStore();
122
            try {
123
                FeatureType featureType = featureStore.getDefaultFeatureType();
124
                Iterator it = featureType.iterator();
125
                while (it.hasNext()) {
126
                    FeatureAttributeDescriptor attribute =
127
                        (FeatureAttributeDescriptor) it.next();
128
                    getFieldComboBox().addItem(attribute.getName());
129
                }
130

  
131
            } catch (DataException e) {
132
                LOG.error("Can't get defautl feature type of {}",
133
                    layer.getName(), e);
134
                getFieldComboBox().setVisible(false);
135
                return;
136
            }
137

  
138
            if (layerProperties instanceof VectorialLayerProperties3D) {
139
                VectorialLayerProperties3D vectorialProperties =
140
                    (VectorialLayerProperties3D) layerProperties;
141
                String elevationField = vectorialProperties.getElevationField();
142
                getFieldComboBox().setSelectedItem(elevationField);
143
            }
144
        } else {
145
            getFieldLabel().setVisible(false);
146
            getFieldComboBox().setVisible(false);
147
        }
148
    }
149

  
150
    private void fillLoadModes() {
151

  
152
        if (this.layer == null) {
153
            return;
154
        }
155

  
156
        I18nManager i18nManager = ToolsLocator.getI18nManager();
157
        JComboBox<String> loadModesComboBox = getLoadModesComboBox();
158

  
159
        if (loadModesComboBox.getItemCount() > 0) {
160
            loadModesComboBox.removeAllItems();
161
        }
162

  
163
        if (this.layer instanceof FLyrVect
164
            && layerProperties instanceof VectorialLayerProperties3D) {
165
            loadModesComboBox.addItem(i18nManager
166
                .getTranslation("rasterized_vectorial"));
167
        } else {
168
            loadModesComboBox.addItem(i18nManager
169
                .getTranslation("raster_image"));
170
        }
171
        loadModesComboBox.addItem(i18nManager.getTranslation("elevation"));
172

  
173
        if (layerProperties.getElevation()) {
174
            loadModesComboBox.setSelectedItem(i18nManager
175
                .getTranslation("elevation"));
176
        } else {
177

  
178
            if (layerProperties instanceof VectorialLayerProperties3D) {
179
                loadModesComboBox.setSelectedItem(i18nManager
180
                    .getTranslation("rasterized_vectorial"));
181
            } else {
182
                loadModesComboBox.setSelectedItem(i18nManager
183
                    .getTranslation("raster_image"));
184
            }
185
        }
186
    }
187

  
188
    public FLayer getLayer() {
189
        return layer;
190
    }
191

  
192
    private void update(String loadMode) {
193

  
194
        I18nManager i18nManager = ToolsLocator.getI18nManager();
195
        if (loadMode.equalsIgnoreCase(i18nManager
196
            .getTranslation("rasterized_vectorial"))
197
            || loadMode.equalsIgnoreCase(i18nManager
198
                .getTranslation("raster_image"))) {
199
            enableComponents(getElevationPanel(), false);
200
        } else if (loadMode.equalsIgnoreCase(i18nManager
201
            .getTranslation("elevation"))) {
202
            enableComponents(getElevationPanel(), true);
203
        }
204
    }
205

  
206
    public void setLayer(FLayer theLayer) {
207
        this.layer = theLayer;
208

  
209
        fillPanel();
210
    }
211

  
212
    public String getElevationField() {
213
        return (String) getFieldComboBox().getSelectedItem();
214
    }
215

  
216
    public String getElevationUnits() {
217
        return (String) getUnitsComboBox().getSelectedItem();
218
    }
219

  
220
    public int getMaxLevel() {
221
        String value = getMaxTextField().getText();
222
        return Integer.valueOf(value);
223
    }
224

  
225
    public int getMinLevel() {
226
        String value = getMinTextField().getText();
227
        return Integer.valueOf(value);
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff