Revision 760

View differences:

2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.app/org.gvsig.view3d.app.common/src/main/resources-plugin/i18n/text.properties
1 1
3D = 3D
2
absolute=Absoluto
2 3
anaglyph_mode = Modo anaglifo
3 4
auto_synchronize_layers=Sincronizado autom\u00E1tico de capas
4 5
auto_synchronize_view_ports=Sincronizado autom\u00E1tico de enfoques
......
6 7
close_and_re-create_3D_views_to_active_anagliph_mode = Cierre y vuelva a crear las vistas 3D para activar el modo anaglifo.
7 8
close_and_re-create_3D_views_to_desactive_anagliph_mode = Cierre y vuelva a crear las vistas 3D para desactivar el modo anaglifo.
8 9
components= Componentes
10
constant_height=Altura constante
11
constant_height_has_to_be_a_number=El campo "Altura constante" debe ser num\u00e9rico
12
clamp_to_ground=Fijada al terreno
9 13
elevation= Elevaci\u00F3n
14
elevation_mode=Modo de elevaci\u00f3n
10 15
elevation_field= Campo elevaci\u00F3n
11 16
elevation_units = Unidades de elevaci?n
12 17
flat_vertical_exaggeration= Exageraci\u00F3n vertical visor plano
13 18
flat_view_3d= Vista 3D plana
14 19
full_screen_mode_view_3d= Modo pantalla completa
20
height_field=Campo altura
15 21
invalid_loader_parameters = Par?metros del modo de carga
22
invalid_constant_height_value = Altura constante 
16 23
level_details= Niveles de detalle
17 24
load_mode= Modo de carga
18 25
maximum_detail_level= M?ximo nivel de detalle
19
maximum_detail_level_has_to_be_a_number = M?ximo nivel de detalle debe ser num?rico
26
maximum_detail_level_has_to_be_a_number = El campo "M?ximo nivel de detalle" debe ser num\u00e9rico
20 27
minimum_detail_level= M?nimo nivel de detalle
21
minimum_detail_level_has_to_be_a_number = M?nimo nivel de detalle debe ser num?rico
28
minimum_detail_level_has_to_be_a_number = El campo "M?nimo nivel de detalle" debe ser num\u00e9rico
22 29
nodata_value= Valor NoData
23
nodata_value_has_to_be_a_number = Valor NoData debe ser num?rico
30
nodata_value_has_to_be_a_number = El campo "Valor NoData" debe ser num\u00e9rico
24 31
raster_image= Imagen raster
25 32
rasterized_vectorial= Vectorial rasterizada
33
relative_to_ground=Relativo al terreno
26 34
show_blue_marble_layer= Mostrar capa Blue Marble
27 35
show_atmosphere= Mostrar atm\u00F3sfera
28 36
show_default_elevation= Mostrar elevaci\u00F3n por defecto
......
37 45
spherical_view_3d=  Vista 3D esf\u00E9rica
38 46
tile_configuration= Configuraci\u00F3n de tiles
39 47
tile_size = Tama?o de tesela
40
tile_size_has_to_be_a_number = Tama?o de tesela debe ser num?rico
48
tile_size_has_to_be_a_number = El campo "Tama?o de tesela" debe ser num\u00e9rico
49
vector_extrusion=Extrusi\u00f3n
50
vector_load_mode=Vectorial
51
vertical_exaggeration=Exageraci\u00f3n vertical
52
vertical_exaggeration_has_to_be_a_number=El campo "Exageraci\u00f3n vertical" debe ser num\u00e9rico
41 53
view_3d = Visor 3D
42 54
view_port_animation= Animaci\u00F3n sincronizaci\u00F3n enfoques
43 55
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 1
3D= 3D
2
absolute=Absolute
2 3
anaglyph_mode = Anaglyph mode
3 4
auto_synchronize_layers= Auto synchronize layers
4 5
auto_synchronize_view_ports=Auto synchronize viewport
......
6 7
close_and_re-create_3D_views_to_active_anagliph_mode = Close and re-create 3D views to activate anagliph mode.
7 8
close_and_re-create_3D_views_to_desactive_anagliph_mode = Close and re-create 3D views to desactivate anagliph mode.
8 9
components= Components
10
constant_height=Constant height
11
constant_height_has_to_be_a_number=The field "Constant height" has to be numeric
12
clamp_to_ground=Clamp to ground
9 13
elevation= Elevation
14
elevation_mode=Elevation mode
10 15
elevation_field= Elevation field
11 16
elevation_units = Elevation units
12 17
flat_vertical_exaggeration= Flat vertical exaggeration
13 18
flat_view_3d= Flat 3D view
14 19
full_screen_mode_view_3d= Full screen mode
20
height_field=Height field
15 21
invalid_loader_parameters = Invalid loader parameters
16 22
level_details= Level of details
17 23
load_mode= Loading mode
18 24
maximum_detail_level= Maximum detail level
19
maximum_detail_level_has_to_be_a_number = Maximum detail level has to be numeric
25
maximum_detail_level_has_to_be_a_number = The field "Maximum detail level" has to be numeric
20 26
minimum_detail_level= Minimum detail level
21
minimum_detail_level_has_to_be_a_number = Minimum detail level has to be numeric
27
minimum_detail_level_has_to_be_a_number = The field "Minimum detail level" has to be numeric
22 28
nodata_value= NoData value
23
nodata_value_has_to_be_a_number = NoData value has to be numeric
29
nodata_value_has_to_be_a_number = The field "NoData value" has to be numeric
24 30
raster_image= Raster image
25
rasterized_vectorial= Rasterized vectorial
31
rasterized_vectorial= Rasterized vector
32
relative_to_ground=Relative to ground
26 33
show_atmosphere= Show atmosphere
27 34
show_blue_marble_layer= Show Blue Marble layer
28 35
show_default_elevation= Show default elevation
......
38 45
tile_configuration= Tile configuration
39 46
tile_size = Tile size
40 47
tile_size_has_to_be_a_number = Tile size has to be numeric
48
vector_extrusion=Extrusion
49
vector_load_mode=Vector
50
vertical_exaggeration=Vertical exaggeration
51
vertical_exaggeration_has_to_be_a_number=The field "Vertical exaggeration" has to be number
41 52
view_3d= 3D View
42 53
view_port_animation= View port animation
43 54
zero_level_resolution= Zero level resolution
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.vector/org.gvsig.view3d.vector.lib/org.gvsig.view3d.vector.lib.impl/src/main/java/org/gvsig/view3d/vector/lib/impl/DefaultVectorExtrusionLoaderParameters.java
25 25
    public static final String PARAMETERS_DEFINITION_DESCRIPTION =
26 26
        "Parameters that defines vector extrusion load mode";
27 27

  
28
    public static final String VECTOR_ELEVATION_MODEL_FIELD_NAME = "vectorElevationModel";
28
    public static final String VECTOR_ELEVATION_MODE_FIELD_NAME = "vectorElevationMode";
29 29
    public static final String DEFAULT_COLOR_FIELD_NAME = "defaultColor";
30 30
    public static final String HEIGHT_FIELD_FIELD_NAME = "heightField";
31 31
    public static final String CONSTANT_HEIGHT_FIELD_NAME = "constantHeight";
......
47 47
    }
48 48

  
49 49
    @Override
50
    public VectorElevationMode getVectorElevationModel() {
50
    public VectorElevationMode getVectorElevationMode() {
51 51
        return this.vectorElevationMode;
52 52
    }
53 53

  
54 54
    @Override
55
    public void setVectorElevationModel(VectorElevationMode vectorElevationMode) {
55
    public void setVectorElevationMode(VectorElevationMode vectorElevationMode) {
56 56
        this.vectorElevationMode = vectorElevationMode;
57 57
    }
58 58

  
......
87 87
    }
88 88

  
89 89
    @Override
90
    public double getVerticalExageration() {
90
    public double getVerticalExaggeration() {
91 91
        return this.verticalExaggeration;
92 92
    }
93 93

  
94 94
    @Override
95
    public void setVerticalExageration(double verticalExageration) {
96
        this.verticalExaggeration = verticalExageration;
95
    public void setVerticalExaggeration(double verticalExaggeration) {
96
        this.verticalExaggeration = verticalExaggeration;
97 97
    }
98 98
    
99 99
    public static void registerPersistenceDefinition() {
......
103 103
            definition = manager.addDefinition(DefaultVectorLoaderParameters.class, PARAMETERS_DEFINITION_NAME,
104 104
                PARAMETERS_DEFINITION_DESCRIPTION, null, null);
105 105

  
106
            definition.addDynFieldObject(VECTOR_ELEVATION_MODEL_FIELD_NAME);
106
            definition.addDynFieldObject(VECTOR_ELEVATION_MODE_FIELD_NAME);
107 107
            definition.addDynFieldObject(DEFAULT_COLOR_FIELD_NAME);
108 108
            definition.addDynFieldString(HEIGHT_FIELD_FIELD_NAME);
109 109
            definition.addDynFieldDouble(CONSTANT_HEIGHT_FIELD_NAME);
......
115 115
    public Object clone() throws CloneNotSupportedException {
116 116

  
117 117
        VectorLoaderParameters newParameters = new DefaultVectorLoaderParameters();
118
        newParameters.setVectorElevationMode(this.getVectorElevationModel());
118
        newParameters.setVectorElevationMode(this.getVectorElevationMode());
119 119
        newParameters.setDefaultColor(this.getDefaultColor());
120 120
        newParameters.setConstantHeight(this.getConstantHeight());
121 121
        newParameters.setLayer(this.getLayer());
......
124 124

  
125 125
    @Override
126 126
    protected void doSaveToState(PersistentState state) throws PersistenceException {
127
        state.set(VECTOR_ELEVATION_MODEL_FIELD_NAME, this.vectorElevationMode);
127
        state.set(VECTOR_ELEVATION_MODE_FIELD_NAME, this.vectorElevationMode);
128 128
        state.set(DEFAULT_COLOR_FIELD_NAME, this.defaultColor);
129
        state.set(HEIGHT_FIELD_FIELD_NAME, this.heightField);
129 130
        state.set(CONSTANT_HEIGHT_FIELD_NAME, this.constantHeight);
131
        state.set(VERTICAL_EXAGGERATION_FIELD_NAME, this.verticalExaggeration);
130 132
    }
131 133

  
132 134
    @Override
133 135
    protected void doLoadFromState(PersistentState state) throws PersistenceException {
134
        // TODO Auto-generated method stub
135

  
136
        this.vectorElevationMode = (VectorElevationMode) state.get(VECTOR_ELEVATION_MODE_FIELD_NAME);
137
        this.defaultColor = (Color) state.get(DEFAULT_COLOR_FIELD_NAME);
138
        this.heightField = state.getString(HEIGHT_FIELD_FIELD_NAME);
139
        this.constantHeight = state.getDouble(CONSTANT_HEIGHT_FIELD_NAME);
140
        this.verticalExaggeration = state.getDouble(VERTICAL_EXAGGERATION_FIELD_NAME);
136 141
    }
137 142
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.vector/org.gvsig.view3d.vector.lib/org.gvsig.view3d.vector.lib.api/src/main/java/org/gvsig/view3d/vector/lib/api/VectorExtrusionLoaderParameters.java
20 20
     * 
21 21
     * @return
22 22
     */
23
    public VectorElevationMode getVectorElevationModel();
23
    public VectorElevationMode getVectorElevationMode();
24 24

  
25 25
    /**
26 26
     * Sets the specific {@link VectorElevationMode} to this vector layer
......
29 29
     * @param vectorElevationMode
30 30
     *            the specific {@link VectorElevationMode}
31 31
     */
32
    public void setVectorElevationModel(VectorElevationMode vectorElevationMode);
32
    public void setVectorElevationMode(VectorElevationMode vectorElevationMode);
33 33

  
34 34
    /**
35 35
     * Gets default {@link Color} of vector layer properties. Default color is
......
79 79
    public void setConstantHeight(double height);
80 80

  
81 81
    /**
82
     * Gets vertical exageration
82
     * Gets vertical exaggeration
83 83
     * 
84 84
     * @return
85 85
     */
86
    public double getVerticalExageration();
86
    public double getVerticalExaggeration();
87 87

  
88 88
    /**
89
     * Sets the specific vertical exageration to this properties
89
     * Sets the specific vertical exaggeration to this properties
90 90
     * 
91
     * @param verticalExageration
91
     * @param verticalExaggeration
92 92
     */
93
    public void setVerticalExageration(double verticalExageration);
93
    public void setVerticalExaggeration(double verticalExaggeration);
94 94
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.vector/org.gvsig.view3d.vector.swing/org.gvsig.view3d.vector.swing.impl/src/main/java/org/gvsig/view3d/vector/swing/impl/JColorChooserButton.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright © 2007-2016 gvSIG Association
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.view3d.vector.swing.impl;
25

  
26
import java.awt.Color;
27
import java.awt.Graphics2D;
28
import java.awt.event.ActionEvent;
29
import java.awt.event.ActionListener;
30
import java.awt.image.BufferedImage;
31
import java.util.ArrayList;
32
import java.util.List;
33
import java.util.Random;
34

  
35
import javax.swing.ImageIcon;
36
import javax.swing.JButton;
37
import javax.swing.JColorChooser;
38

  
39
import org.gvsig.tools.ToolsLocator;
40
import org.gvsig.tools.i18n.I18nManager;
41

  
42
/**
43
 * Button for color selection.
44
 * 
45
 * <p>As off: http://stackoverflow.com/questions/26565166/how-to-display-a-color-selector-when-clicking-a-button
46
 * 
47
 */
48
public class JColorChooserButton extends JButton {
49
    private I18nManager i18nManager = ToolsLocator.getI18nManager();
50
    private Color current;
51

  
52
    public JColorChooserButton( Color c ) {
53
        setSelectedColor(c);
54
        addActionListener(new ActionListener(){
55
            @Override
56
            public void actionPerformed( ActionEvent arg0 ) {
57
                Color newColor = JColorChooser.showDialog(null, i18nManager.getTranslation("Choose a Color"), current);
58
                setSelectedColor(newColor);
59
            }
60
        });
61
    }
62

  
63
    public Color getSelectedColor() {
64
        return current;
65
    }
66

  
67
    public void setSelectedColor( Color newColor ) {
68
        setSelectedColor(newColor, true);
69
    }
70

  
71
    public void setSelectedColor( Color newColor, boolean notify ) {
72

  
73
        if (newColor == null) {
74
            Random rand = new Random();
75
            float r = rand.nextFloat();
76
            float g = rand.nextFloat();
77
            float b = rand.nextFloat();
78
            this.current = new Color(r, g, b);
79
        } else {
80
            this.current = newColor;
81
        }
82
        
83
        setIcon(createIcon(current, 16, 16));
84
        repaint();
85

  
86
        if (notify) {
87
            // Notify everybody that may be interested.
88
            for( ColorChangedListener l : listeners ) {
89
                l.colorChanged(newColor);
90
            }
91
        }
92
    }
93

  
94
    public static interface ColorChangedListener {
95
        public void colorChanged( Color newColor );
96
    }
97

  
98
    private List<ColorChangedListener> listeners = new ArrayList<ColorChangedListener>();
99

  
100
    public void addColorChangedListener( ColorChangedListener toAdd ) {
101
        listeners.add(toAdd);
102
    }
103

  
104
    public static ImageIcon createIcon( Color main, int width, int height ) {
105
        BufferedImage image = new BufferedImage(width, height, java.awt.image.BufferedImage.TYPE_INT_RGB);
106
        Graphics2D graphics = image.createGraphics();
107
        graphics.setColor(main);
108
        graphics.fillRect(0, 0, width, height);
109
        graphics.setXORMode(Color.DARK_GRAY);
110
        graphics.drawRect(0, 0, width - 1, height - 1);
111
        image.flush();
112
        ImageIcon icon = new ImageIcon(image);
113
        return icon;
114
    }
115
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.vector/org.gvsig.view3d.vector.swing/org.gvsig.view3d.vector.swing.impl/src/main/java/org/gvsig/view3d/vector/swing/impl/ElevationModeComboBoxRenderer.java
1
package org.gvsig.view3d.vector.swing.impl;
2

  
3
import java.awt.Component;
4

  
5
import javax.swing.JLabel;
6
import javax.swing.JList;
7
import javax.swing.ListCellRenderer;
8

  
9
import org.gvsig.tools.ToolsLocator;
10
import org.gvsig.tools.i18n.I18nManager;
11
import org.gvsig.view3d.vector.lib.api.VectorElevationMode;
12

  
13
public class ElevationModeComboBoxRenderer extends JLabel implements ListCellRenderer{
14

  
15
    @Override
16
    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected,
17
        boolean cellHasFocus) {
18
        
19
        VectorElevationMode mode = (VectorElevationMode) value;
20
        if(mode != null) {
21
            I18nManager i18nManager = ToolsLocator.getI18nManager();
22
            this.setText(i18nManager.getTranslation(mode.name().toLowerCase()));
23
        } else {
24
            this.setText("");
25
        }
26
        
27
        return this;
28
    }
29

  
30
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.vector/org.gvsig.view3d.vector.swing/org.gvsig.view3d.vector.swing.impl/src/main/java/org/gvsig/view3d/vector/swing/impl/JVectorLoaderParametersController.java
1 1
package org.gvsig.view3d.vector.swing.impl;
2 2

  
3
import java.util.Arrays;
4
import java.util.List;
5

  
3 6
import javax.swing.JComponent;
4 7

  
8
import org.slf4j.Logger;
9
import org.slf4j.LoggerFactory;
10

  
11
import org.gvsig.tools.ToolsLocator;
12
import org.gvsig.tools.dataTypes.CoercionException;
13
import org.gvsig.tools.dataTypes.DataTypes;
14
import org.gvsig.tools.dataTypes.DataTypesManager;
15
import org.gvsig.tools.dataTypes.DataTypesManager.Coercion;
16
import org.gvsig.tools.i18n.I18nManager;
5 17
import org.gvsig.view3d.lib.api.loader.LoaderParameters;
6 18
import org.gvsig.view3d.swing.api.exception.InvalidLoaderParametersException;
19
import org.gvsig.view3d.vector.lib.api.VectorElevationMode;
20
import org.gvsig.view3d.vector.lib.api.VectorLoaderParameters;
7 21
import org.gvsig.view3d.vector.swing.api.JVectorLoaderParameters;
8 22

  
9 23
/**
......
15 29

  
16 30
    private static final long serialVersionUID = -4115765106906551132L;
17 31

  
32
    private static final Logger LOG = LoggerFactory.getLogger(JVectorLoaderParametersController.class);
33

  
34
    private JColorChooserButton colorChooserButton;
35

  
36
    private VectorLoaderParameters parameters;
37

  
38
    public JVectorLoaderParametersController(VectorLoaderParameters parameters) {
39
        super();
40
        this.parameters = parameters;
41

  
42
        translate();
43
        initComponents();
44
    }
45

  
46
    private void translate() {
47
        I18nManager i18nManager = ToolsLocator.getI18nManager();
48
        this.elevationModeText.setText(i18nManager.getTranslation(this.elevationModeText.getText()));
49
        this.defaultColorText.setText(i18nManager.getTranslation(this.defaultColorText.getText()));
50
        this.constantHeightText.setText(i18nManager.getTranslation(this.constantHeightText.getText()));
51
    }
52

  
53
    @SuppressWarnings("unchecked")
54
    private void initComponents() {
55

  
56
        List<VectorElevationMode> elevationModes = Arrays.asList(VectorElevationMode.values());
57

  
58
        // Elevation mode
59
        this.elevationMode.setRenderer(new ElevationModeComboBoxRenderer());
60
        for (VectorElevationMode mode : elevationModes) {
61
            this.elevationMode.addItem(mode);
62
        }
63
        
64
        if(parameters.getVectorElevationMode() != null) {
65
            this.elevationMode.setSelectedItem(parameters.getVectorElevationMode());
66
        }
67

  
68
        // Default Color
69
        this.colorChooserButton = new JColorChooserButton(parameters.getDefaultColor());
70
        this.defaultColorPanel.add(colorChooserButton);
71

  
72
        // Constant height
73
        try {
74
            DataTypesManager dataTypesManager = ToolsLocator.getDataTypesManager();
75
            Coercion stringCoercion = dataTypesManager.getCoercion(DataTypes.STRING);
76
            this.constantHeight.setText((String) stringCoercion.coerce(parameters.getConstantHeight()));
77
        } catch (CoercionException e) {
78
            LOG.error(
79
                String.format("Can not parse constant this height value %d to string", parameters.getConstantHeight()),
80
                e);
81
            this.constantHeight.setText("");
82
        }
83
    }
84

  
18 85
    @Override
19 86
    public LoaderParameters getLoaderParameters() throws InvalidLoaderParametersException {
20
        // TODO Auto-generated method stub
21
        return null;
87

  
88
        this.parameters.setVectorElevationMode((VectorElevationMode) this.elevationMode.getSelectedItem());
89
        this.parameters.setDefaultColor(this.colorChooserButton.getSelectedColor());
90

  
91
        try {
92
            DataTypesManager dataTypesManager = ToolsLocator.getDataTypesManager();
93
            Coercion doubleCoercion = dataTypesManager.getCoercion(DataTypes.DOUBLE);
94
            this.parameters.setConstantHeight((double) doubleCoercion.coerce(this.constantHeight.getText()));
95
        } catch (CoercionException e) {
96
            LOG.error(
97
                String.format("Can not parse constant this height value %s to double", this.constantHeight.getText()),
98
                e);
99
            throw new InvalidLoaderParametersException("Invalid constant height value",
100
                "constant_height_has_to_be_a_number", e);
101
        }
102

  
103
        return this.parameters;
22 104
    }
23 105

  
24 106
    @Override
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.vector/org.gvsig.view3d.vector.swing/org.gvsig.view3d.vector.swing.impl/src/main/java/org/gvsig/view3d/vector/swing/impl/JVectorExtrusionLoaderParametersController.java
1 1
package org.gvsig.view3d.vector.swing.impl;
2 2

  
3
import java.awt.event.ActionEvent;
4
import java.awt.event.ActionListener;
5
import java.util.Arrays;
6
import java.util.List;
7

  
3 8
import javax.swing.JComponent;
4 9

  
10
import org.apache.commons.lang3.StringUtils;
11
import org.slf4j.Logger;
12
import org.slf4j.LoggerFactory;
13

  
14
import org.gvsig.fmap.dal.exception.DataException;
15
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
16
import org.gvsig.fmap.dal.feature.FeatureStore;
17
import org.gvsig.fmap.dal.feature.FeatureType;
18
import org.gvsig.fmap.mapcontext.layers.FLayer;
19
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
20
import org.gvsig.tools.ToolsLocator;
21
import org.gvsig.tools.dataTypes.CoercionException;
22
import org.gvsig.tools.dataTypes.DataTypes;
23
import org.gvsig.tools.dataTypes.DataTypesManager;
24
import org.gvsig.tools.dataTypes.DataTypesManager.Coercion;
25
import org.gvsig.tools.i18n.I18nManager;
5 26
import org.gvsig.view3d.lib.api.loader.LoaderParameters;
6 27
import org.gvsig.view3d.swing.api.exception.InvalidLoaderParametersException;
28
import org.gvsig.view3d.vector.lib.api.VectorElevationMode;
29
import org.gvsig.view3d.vector.lib.api.VectorExtrusionLoaderParameters;
7 30
import org.gvsig.view3d.vector.swing.api.JVectorExtrusionLoaderParameters;
8 31

  
9
public class JVectorExtrusionLoaderParametersController extends JVectorExtrusionLoaderParametersView implements JVectorExtrusionLoaderParameters {
32
public class JVectorExtrusionLoaderParametersController extends JVectorExtrusionLoaderParametersView
33
    implements JVectorExtrusionLoaderParameters {
10 34

  
11 35
    private static final long serialVersionUID = 26999444514713602L;
12 36

  
37
    private static final Logger LOG = LoggerFactory.getLogger(JVectorExtrusionLoaderParametersController.class);
38

  
39
    private JColorChooserButton colorChooserButton;
40

  
41
    private VectorExtrusionLoaderParameters parameters;
42

  
43
    public JVectorExtrusionLoaderParametersController(VectorExtrusionLoaderParameters parameters) {
44
        super();
45

  
46
        this.parameters = parameters;
47
        translate();
48
        initComponents();
49
    }
50

  
51
    private void translate() {
52
        I18nManager i18nManager = ToolsLocator.getI18nManager();
53
        this.elevationModeText.setText(i18nManager.getTranslation(this.elevationModeText.getText()));
54
        this.defaultColorText.setText(i18nManager.getTranslation(this.defaultColorText.getText()));
55
        this.constantHeightText.setText(i18nManager.getTranslation(this.constantHeightText.getText()));
56
        this.heightFieldText.setText(i18nManager.getTranslation(this.heightFieldText.getText()));
57
        this.verticalExaggerationText.setText(i18nManager.getTranslation(this.verticalExaggerationText.getText()));
58
    }
59

  
60
    @SuppressWarnings("unchecked")
61
    private void initComponents() {
62

  
63
        List<VectorElevationMode> elevationModes = Arrays.asList(VectorElevationMode.values());
64

  
65
        // Elevation mode
66
        this.elevationMode.setRenderer(new ElevationModeComboBoxRenderer());
67
        for (VectorElevationMode mode : elevationModes) {
68
            this.elevationMode.addItem(mode);
69
        }
70
        if(parameters.getVectorElevationMode() != null) {
71
            this.elevationMode.setSelectedItem(parameters.getVectorElevationMode());
72
        }
73

  
74
        // Default Color
75
        this.colorChooserButton = new JColorChooserButton(parameters.getDefaultColor());
76
        this.defaultColorPanel.add(colorChooserButton);
77

  
78
        DataTypesManager dataTypesManager = ToolsLocator.getDataTypesManager();
79
        Coercion stringCoercion = dataTypesManager.getCoercion(DataTypes.STRING);
80
        // Constant height
81
        try {
82
            this.constantHeight.setText((String) stringCoercion.coerce(parameters.getConstantHeight()));
83
        } catch (CoercionException e) {
84
            LOG.error(String.format("Can not parse constant height value %d to string", parameters.getConstantHeight()),
85
                e);
86
            this.constantHeight.setText("");
87
        }
88

  
89
        // Vertical exaggeration
90
        try {
91
            String verticalExaggeration = (String) stringCoercion.coerce(parameters.getVerticalExaggeration());
92
            if(StringUtils.isBlank(verticalExaggeration)) {
93
                this.verticalExaggeration.setText("1.0");
94
            } else {
95
                this.verticalExaggeration.setText(verticalExaggeration);
96
            }
97
        } catch (CoercionException e) {
98
            LOG.error(String.format("Can not parse vertical exaggeration value %d to string",
99
                parameters.getVerticalExaggeration()), e);
100
            this.verticalExaggeration.setText("");
101
        }
102

  
103
        // Height field
104
        heightField.addItem("");
105
        
106
        FLayer layer = this.parameters.getLayer();
107
        if (layer instanceof FLyrVect) {
108

  
109
            FLyrVect vectorLayer = (FLyrVect) layer;
110
            FeatureStore featureStore = vectorLayer.getFeatureStore();
111
            FeatureType featureType = null;
112
            try {
113
                featureType = featureStore.getDefaultFeatureType();
114
            } catch (DataException e) {
115
                LOG.error(String.format("Can not get feature type of %1s", vectorLayer.getName()), e);
116
                return;
117
            }
118
            FeatureAttributeDescriptor[] attributeDescriptors = featureType.getAttributeDescriptors();
119
            for (FeatureAttributeDescriptor attDesc : attributeDescriptors) {
120
                heightField.addItem(attDesc.getName());
121
            }
122
        }
123
        
124
        // Initialize change listeners
125
        this.heightField.addActionListener(new ActionListener() {
126
            
127
            @Override
128
            public void actionPerformed(ActionEvent e) {
129
                String selectedValue = (String) heightField.getSelectedItem();
130
                if(StringUtils.isBlank(selectedValue)) {
131
                    constantHeightText.setEnabled(true);
132
                    constantHeight.setEnabled(true);
133
                } else {
134
                    constantHeightText.setEnabled(false);
135
                    constantHeight.setEnabled(false);
136
                }
137
            }
138
        });
139
    }
140

  
13 141
    @Override
14 142
    public LoaderParameters getLoaderParameters() throws InvalidLoaderParametersException {
15
        // TODO Auto-generated method stub
16
        return null;
143
        
144
        DataTypesManager dataTypesManager = ToolsLocator.getDataTypesManager();
145
        Coercion doubleCoercion = dataTypesManager.getCoercion(DataTypes.DOUBLE);
146

  
147
        this.parameters.setVectorElevationMode((VectorElevationMode) this.elevationMode.getSelectedItem());
148
        this.parameters.setDefaultColor(this.colorChooserButton.getSelectedColor());
149
        
150
        if(StringUtils.isNotBlank((String) this.heightField.getSelectedItem())) {
151
            this.parameters.setHeightField((String) this.heightField.getSelectedItem());
152
        } else {
153
            try {
154
                this.parameters.setConstantHeight((double) doubleCoercion.coerce(this.constantHeight.getText()));
155
            } catch (CoercionException e) {
156
                LOG.error(String.format("Can not parse constant height value %s to double", this.constantHeight.getText()),
157
                    e);
158
                throw new InvalidLoaderParametersException("Invalid constant height value", "constant_height_has_to_be_a_number",
159
                    e);
160
            }
161
        }
162
        
163
        try {
164
            this.parameters.setVerticalExaggeration((double) doubleCoercion.coerce(this.verticalExaggeration.getText()));
165
        } catch (CoercionException e) {
166
            LOG.error(String.format("Can not parse vertical exaggeration value %s to double",
167
                this.verticalExaggeration.getText()), e);
168
            throw new InvalidLoaderParametersException("Invalid vertical exaggeration value",
169
                "vertical_exaggeration_has_to_be_a_number", e);
170
        }
171

  
172
        return this.parameters;
17 173
    }
18 174

  
19 175
    @Override
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.vector/org.gvsig.view3d.vector.swing/org.gvsig.view3d.vector.swing.impl/src/main/java/org/gvsig/view3d/vector/swing/impl/JVectorLoaderParametersFactory.java
8 8
import org.gvsig.view3d.swing.api.loader.JLoaderParameters;
9 9
import org.gvsig.view3d.swing.api.loader.JLoaderParametersFactory;
10 10
import org.gvsig.view3d.vector.lib.api.VectorExtrusionLoaderParameters;
11
import org.gvsig.view3d.vector.lib.api.VectorLoaderParameters;
11 12

  
12 13
/**
13 14
 * 
......
25 26
    }
26 27

  
27 28
    @Override
28
    public JLoaderParameters createJLoaderParameters(
29
        LoaderParameters parameters) throws JLoaderParameterCreationException {
30
        return new JVectorLoaderParametersController();
29
    public JLoaderParameters createJLoaderParameters(LoaderParameters parameters)
30
        throws JLoaderParameterCreationException {
31

  
32
        if (parameters instanceof VectorLoaderParameters) {
33
            return new JVectorLoaderParametersController((VectorLoaderParameters) parameters);
34
        }
35
        throw new JLoaderParameterCreationException("Vector");
31 36
    }
32 37

  
33 38
    @Override
34 39
    public String getDisplayName() {
35 40
        I18nManager i18nManager = ToolsLocator.getI18nManager();
36
        return i18nManager.getTranslation("vector_extrusion");
41
        return i18nManager.getTranslation("vector_load_mode");
37 42
    }
38 43

  
39 44
    @Override
40 45
    public String getName() {
41
        return VectorExtrusionLoaderParameters.NAME;
46
        return VectorLoaderParameters.NAME;
42 47
    }
43 48

  
44 49
    @Override
45 50
    public int getPriority() {
46
        return 40;
51
        return 30;
47 52
    }
48 53

  
49 54
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.vector/org.gvsig.view3d.vector.swing/org.gvsig.view3d.vector.swing.impl/src/main/java/org/gvsig/view3d/vector/swing/impl/JVectorExtrusionLoaderParametersFactory.java
7 7
import org.gvsig.view3d.swing.api.exception.JLoaderParameterCreationException;
8 8
import org.gvsig.view3d.swing.api.loader.JLoaderParameters;
9 9
import org.gvsig.view3d.swing.api.loader.JLoaderParametersFactory;
10
import org.gvsig.view3d.vector.lib.api.VectorExtrusionLoaderParameters;
10 11
import org.gvsig.view3d.vector.lib.api.VectorLoaderParameters;
11 12

  
12 13
/**
......
27 28
    @Override
28 29
    public JLoaderParameters createJLoaderParameters(LoaderParameters parameters)
29 30
        throws JLoaderParameterCreationException {
30
        return new JVectorExtrusionLoaderParametersController();
31
        if (parameters instanceof VectorExtrusionLoaderParameters) {
32
            return new JVectorExtrusionLoaderParametersController((VectorExtrusionLoaderParameters) parameters);
33
        }
34
        throw new JLoaderParameterCreationException("Vector extrusion");
31 35
    }
32 36

  
33 37
    @Override
34 38
    public String getDisplayName() {
35 39
        I18nManager i18nManager = ToolsLocator.getI18nManager();
36
        return i18nManager.getTranslation("vector");
40
        return i18nManager.getTranslation("vector_extrusion");
37 41
    }
38 42

  
39 43
    @Override
40 44
    public String getName() {
41
        return VectorLoaderParameters.NAME;
45
        return VectorExtrusionLoaderParameters.NAME;
42 46
    }
43 47

  
44 48
    @Override
45 49
    public int getPriority() {
46
        return 30;
50
        return 40;
47 51
    }
48 52

  
49 53
}
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.vector/org.gvsig.view3d.vector.swing/org.gvsig.view3d.vector.swing.impl/src/main/java/org/gvsig/view3d/vector/swing/impl/JVectorLoaderParametersView.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<object classname="com.jeta.forms.store.memento.FormPackage">
4
 <at name="fileversion">
5
  <object classname="com.jeta.forms.store.memento.FormsVersion2">
6
   <at name="major">2</at>
7
   <at name="minor">0</at>
8
   <at name="sub">0</at>
9
  </object>
10
 </at>
11
 <at name="form">
12
  <object classname="com.jeta.forms.store.memento.FormMemento">
13
   <super classname="com.jeta.forms.store.memento.ComponentMemento">
14
    <at name="cellconstraints">
15
     <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
16
      <at name="column">1</at>
17
      <at name="row">1</at>
18
      <at name="colspan">1</at>
19
      <at name="rowspan">1</at>
20
      <at name="halign">default</at>
21
      <at name="valign">default</at>
22
      <at name="insets" object="insets">0,0,0,0</at>
23
     </object>
24
    </at>
25
    <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
26
   </super>
27
   <at name="id">/home/lmarques/projects/externals/org.gvsig.view3d/org.gvsig.view3d.vector/org.gvsig.view3d.vector.swing/org.gvsig.view3d.vector.swing.impl/src/main/java/org/gvsig/view3d/vector/swing/impl/JVectorLoaderParametersView.xml</at>
28
   <at name="rowspecs">CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE</at>
29
   <at name="colspecs">FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0)</at>
30
   <at name="components">
31
    <object classname="java.util.LinkedList">
32
     <item >
33
      <at name="value">
34
       <object classname="com.jeta.forms.store.memento.BeanMemento">
35
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
36
         <at name="cellconstraints">
37
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
38
           <at name="column">1</at>
39
           <at name="row">2</at>
40
           <at name="colspan">1</at>
41
           <at name="rowspan">1</at>
42
           <at name="halign">default</at>
43
           <at name="valign">default</at>
44
           <at name="insets" object="insets">0,0,0,0</at>
45
          </object>
46
         </at>
47
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
48
        </super>
49
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
50
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
51
        <at name="beanproperties">
52
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
53
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
54
          <at name="properties">
55
           <object classname="com.jeta.forms.store.support.PropertyMap">
56
            <at name="border">
57
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
58
              <super classname="com.jeta.forms.store.properties.BorderProperty">
59
               <at name="name">border</at>
60
              </super>
61
              <at name="borders">
62
               <object classname="java.util.LinkedList">
63
                <item >
64
                 <at name="value">
65
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
66
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
67
                    <at name="name">border</at>
68
                   </super>
69
                  </object>
70
                 </at>
71
                </item>
72
               </object>
73
              </at>
74
             </object>
75
            </at>
76
            <at name="name">elevationModeText</at>
77
            <at name="width">90</at>
78
            <at name="text">elevation_mode</at>
79
            <at name="fill">
80
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
81
              <at name="name">fill</at>
82
             </object>
83
            </at>
84
            <at name="height">14</at>
85
           </object>
86
          </at>
87
         </object>
88
        </at>
89
       </object>
90
      </at>
91
     </item>
92
     <item >
93
      <at name="value">
94
       <object classname="com.jeta.forms.store.memento.BeanMemento">
95
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
96
         <at name="cellconstraints">
97
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
98
           <at name="column">1</at>
99
           <at name="row">4</at>
100
           <at name="colspan">1</at>
101
           <at name="rowspan">1</at>
102
           <at name="halign">default</at>
103
           <at name="valign">default</at>
104
           <at name="insets" object="insets">0,0,0,0</at>
105
          </object>
106
         </at>
107
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
108
        </super>
109
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
110
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
111
        <at name="beanproperties">
112
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
113
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
114
          <at name="properties">
115
           <object classname="com.jeta.forms.store.support.PropertyMap">
116
            <at name="border">
117
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
118
              <super classname="com.jeta.forms.store.properties.BorderProperty">
119
               <at name="name">border</at>
120
              </super>
121
              <at name="borders">
122
               <object classname="java.util.LinkedList">
123
                <item >
124
                 <at name="value">
125
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
126
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
127
                    <at name="name">border</at>
128
                   </super>
129
                  </object>
130
                 </at>
131
                </item>
132
               </object>
133
              </at>
134
             </object>
135
            </at>
136
            <at name="name">defaultColorText</at>
137
            <at name="width">90</at>
138
            <at name="text">default_color</at>
139
            <at name="fill">
140
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
141
              <at name="name">fill</at>
142
             </object>
143
            </at>
144
            <at name="height">14</at>
145
           </object>
146
          </at>
147
         </object>
148
        </at>
149
       </object>
150
      </at>
151
     </item>
152
     <item >
153
      <at name="value">
154
       <object classname="com.jeta.forms.store.memento.BeanMemento">
155
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
156
         <at name="cellconstraints">
157
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
158
           <at name="column">1</at>
159
           <at name="row">6</at>
160
           <at name="colspan">1</at>
161
           <at name="rowspan">1</at>
162
           <at name="halign">default</at>
163
           <at name="valign">default</at>
164
           <at name="insets" object="insets">0,0,0,0</at>
165
          </object>
166
         </at>
167
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
168
        </super>
169
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
170
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
171
        <at name="beanproperties">
172
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
173
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
174
          <at name="properties">
175
           <object classname="com.jeta.forms.store.support.PropertyMap">
176
            <at name="border">
177
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
178
              <super classname="com.jeta.forms.store.properties.BorderProperty">
179
               <at name="name">border</at>
180
              </super>
181
              <at name="borders">
182
               <object classname="java.util.LinkedList">
183
                <item >
184
                 <at name="value">
185
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
186
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
187
                    <at name="name">border</at>
188
                   </super>
189
                  </object>
190
                 </at>
191
                </item>
192
               </object>
193
              </at>
194
             </object>
195
            </at>
196
            <at name="name">constantHeightText</at>
197
            <at name="width">90</at>
198
            <at name="text">constant_height</at>
199
            <at name="fill">
200
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
201
              <at name="name">fill</at>
202
             </object>
203
            </at>
204
            <at name="height">14</at>
205
           </object>
206
          </at>
207
         </object>
208
        </at>
209
       </object>
210
      </at>
211
     </item>
212
     <item >
213
      <at name="value">
214
       <object classname="com.jeta.forms.store.memento.BeanMemento">
215
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
216
         <at name="cellconstraints">
217
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
218
           <at name="column">3</at>
219
           <at name="row">2</at>
220
           <at name="colspan">2</at>
221
           <at name="rowspan">1</at>
222
           <at name="halign">default</at>
223
           <at name="valign">default</at>
224
           <at name="insets" object="insets">0,0,0,0</at>
225
          </object>
226
         </at>
227
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
228
        </super>
229
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
230
        <at name="beanclass">javax.swing.JComboBox</at>
231
        <at name="beanproperties">
232
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
233
          <at name="classname">javax.swing.JComboBox</at>
234
          <at name="properties">
235
           <object classname="com.jeta.forms.store.support.PropertyMap">
236
            <at name="border">
237
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
238
              <super classname="com.jeta.forms.store.properties.BorderProperty">
239
               <at name="name">border</at>
240
              </super>
241
              <at name="borders">
242
               <object classname="java.util.LinkedList">
243
                <item >
244
                 <at name="value">
245
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
246
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
247
                    <at name="name">border</at>
248
                   </super>
249
                  </object>
250
                 </at>
251
                </item>
252
               </object>
253
              </at>
254
             </object>
255
            </at>
256
            <at name="name">elevationMode</at>
257
            <at name="width">814</at>
258
            <at name="items">
259
             <object classname="com.jeta.forms.store.properties.ItemsProperty">
260
              <at name="name">items</at>
261
             </object>
262
            </at>
263
            <at name="height">20</at>
264
           </object>
265
          </at>
266
         </object>
267
        </at>
268
       </object>
269
      </at>
270
     </item>
271
     <item >
272
      <at name="value">
273
       <object classname="com.jeta.forms.store.memento.BeanMemento">
274
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
275
         <at name="cellconstraints">
276
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
277
           <at name="column">3</at>
278
           <at name="row">6</at>
279
           <at name="colspan">2</at>
280
           <at name="rowspan">1</at>
281
           <at name="halign">default</at>
282
           <at name="valign">default</at>
283
           <at name="insets" object="insets">0,0,0,0</at>
284
          </object>
285
         </at>
286
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
287
        </super>
288
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
289
        <at name="beanclass">javax.swing.JTextField</at>
290
        <at name="beanproperties">
291
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
292
          <at name="classname">javax.swing.JTextField</at>
293
          <at name="properties">
294
           <object classname="com.jeta.forms.store.support.PropertyMap">
295
            <at name="border">
296
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
297
              <super classname="com.jeta.forms.store.properties.BorderProperty">
298
               <at name="name">border</at>
299
              </super>
300
              <at name="borders">
301
               <object classname="java.util.LinkedList">
302
                <item >
303
                 <at name="value">
304
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
305
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
306
                    <at name="name">border</at>
307
                   </super>
308
                  </object>
309
                 </at>
310
                </item>
311
               </object>
312
              </at>
313
             </object>
314
            </at>
315
            <at name="name">constantHeight</at>
316
            <at name="width">814</at>
317
            <at name="height">20</at>
318
           </object>
319
          </at>
320
         </object>
321
        </at>
322
       </object>
323
      </at>
324
     </item>
325
     <item >
326
      <at name="value">
327
       <object classname="com.jeta.forms.store.memento.BeanMemento">
328
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
329
         <at name="cellconstraints">
330
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
331
           <at name="column">3</at>
332
           <at name="row">4</at>
333
           <at name="colspan">1</at>
334
           <at name="rowspan">1</at>
335
           <at name="halign">default</at>
336
           <at name="valign">default</at>
337
           <at name="insets" object="insets">0,0,0,0</at>
338
          </object>
339
         </at>
340
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
341
        </super>
342
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
343
        <at name="beanclass">javax.swing.JPanel</at>
344
        <at name="beanproperties">
345
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
346
          <at name="classname">javax.swing.JPanel</at>
347
          <at name="properties">
348
           <object classname="com.jeta.forms.store.support.PropertyMap">
349
            <at name="name">defaultColorPanel</at>
350
            <at name="width">12</at>
351
            <at name="height">12</at>
352
           </object>
353
          </at>
354
         </object>
355
        </at>
356
       </object>
357
      </at>
358
     </item>
359
    </object>
360
   </at>
361
   <at name="properties">
362
    <object classname="com.jeta.forms.store.memento.PropertiesMemento">
363
     <at name="classname">com.jeta.forms.gui.form.GridView</at>
364
     <at name="properties">
365
      <object classname="com.jeta.forms.store.support.PropertyMap">
366
       <at name="border">
367
        <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
368
         <super classname="com.jeta.forms.store.properties.BorderProperty">
369
          <at name="name">border</at>
370
         </super>
371
         <at name="borders">
372
          <object classname="java.util.LinkedList"/>
373
         </at>
374
        </object>
375
       </at>
376
       <at name="name"/>
377
       <at name="fill">
378
        <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
379
         <at name="name">fill</at>
380
        </object>
381
       </at>
382
       <at name="scollBars">
383
        <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
384
         <at name="name">scollBars</at>
385
         <at name="verticalpolicy">21</at>
386
         <at name="horizontalpolicy">31</at>
387
         <at name="border">
388
          <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
389
           <super classname="com.jeta.forms.store.properties.BorderProperty">
390
            <at name="name">border</at>
391
           </super>
392
           <at name="borders">
393
            <object classname="java.util.LinkedList">
394
             <item >
395
              <at name="value">
396
               <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
397
                <super classname="com.jeta.forms.store.properties.BorderProperty">
398
                 <at name="name">border</at>
399
                </super>
400
               </object>
401
              </at>
402
             </item>
403
            </object>
404
           </at>
405
          </object>
406
         </at>
407
        </object>
408
       </at>
409
      </object>
410
     </at>
411
    </object>
412
   </at>
413
   <at name="cellpainters">
414
    <object classname="com.jeta.forms.store.support.Matrix">
415
     <at name="rows">
416
      <object classname="[Ljava.lang.Object;" size="7">
417
       <at name="item" index="0">
418
        <object classname="[Ljava.lang.Object;" size="4"/>
419
       </at>
420
       <at name="item" index="1">
421
        <object classname="[Ljava.lang.Object;" size="4"/>
422
       </at>
423
       <at name="item" index="2">
424
        <object classname="[Ljava.lang.Object;" size="4"/>
425
       </at>
426
       <at name="item" index="3">
427
        <object classname="[Ljava.lang.Object;" size="4"/>
428
       </at>
429
       <at name="item" index="4">
430
        <object classname="[Ljava.lang.Object;" size="4"/>
431
       </at>
432
       <at name="item" index="5">
433
        <object classname="[Ljava.lang.Object;" size="4"/>
434
       </at>
435
       <at name="item" index="6">
436
        <object classname="[Ljava.lang.Object;" size="4"/>
437
       </at>
438
      </object>
439
     </at>
440
    </object>
441
   </at>
442
   <at name="rowgroups">
443
    <object classname="com.jeta.forms.store.memento.FormGroupSet">
444
     <at name="groups">
445
      <object classname="java.util.HashMap"/>
446
     </at>
447
    </object>
448
   </at>
449
   <at name="colgroups">
450
    <object classname="com.jeta.forms.store.memento.FormGroupSet">
451
     <at name="groups">
452
      <object classname="java.util.HashMap"/>
453
     </at>
454
    </object>
455
   </at>
456
  </object>
457
 </at>
458
</object>
2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.vector/org.gvsig.view3d.vector.swing/org.gvsig.view3d.vector.swing.impl/src/main/java/org/gvsig/view3d/vector/swing/impl/JVectorExtrusionLoaderParametersView.xml
25 25
    <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
26 26
   </super>
27 27
   <at name="id">/home/lmarques/projects/externals/org.gvsig.view3d/org.gvsig.view3d.vector/org.gvsig.view3d.vector.swing/org.gvsig.view3d.vector.swing.impl/src/main/java/org/gvsig/view3d/vector/swing/impl/JVectorExtrusionLoaderParametersView.xml</at>
28
   <at name="rowspecs">CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE</at>
29
   <at name="colspecs">FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0)</at>
28
   <at name="rowspecs">CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE</at>
29
   <at name="colspecs">FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0)</at>
30 30
   <at name="components">
31 31
    <object classname="java.util.LinkedList">
32 32
     <item >
......
74 74
             </object>
75 75
            </at>
76 76
            <at name="name">elevationModeText</at>
77
            <at name="width">90</at>
77
            <at name="width">114</at>
78 78
            <at name="text">elevation_mode</at>
79 79
            <at name="fill">
80 80
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
......
134 134
             </object>
135 135
            </at>
136 136
            <at name="name">defaultColorText</at>
137
            <at name="width">90</at>
137
            <at name="width">114</at>
138 138
            <at name="text">default_color</at>
139 139
            <at name="fill">
140 140
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
......
193 193
              </at>
194 194
             </object>
195 195
            </at>
196
            <at name="name">heightFieldText</at>
197
            <at name="width">114</at>
198
            <at name="text">height_field</at>
199
            <at name="fill">
200
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
201
              <at name="name">fill</at>
202
             </object>
203
            </at>
204
            <at name="height">14</at>
205
           </object>
206
          </at>
207
         </object>
208
        </at>
209
       </object>
210
      </at>
211
     </item>
212
     <item >
213
      <at name="value">
214
       <object classname="com.jeta.forms.store.memento.BeanMemento">
215
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
216
         <at name="cellconstraints">
217
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
218
           <at name="column">1</at>
219
           <at name="row">8</at>
220
           <at name="colspan">1</at>
221
           <at name="rowspan">1</at>
222
           <at name="halign">default</at>
223
           <at name="valign">default</at>
224
           <at name="insets" object="insets">0,0,0,0</at>
225
          </object>
226
         </at>
227
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
228
        </super>
229
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
230
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
231
        <at name="beanproperties">
232
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
233
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
234
          <at name="properties">
235
           <object classname="com.jeta.forms.store.support.PropertyMap">
236
            <at name="border">
237
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
238
              <super classname="com.jeta.forms.store.properties.BorderProperty">
239
               <at name="name">border</at>
240
              </super>
241
              <at name="borders">
242
               <object classname="java.util.LinkedList">
243
                <item >
244
                 <at name="value">
245
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
246
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
247
                    <at name="name">border</at>
248
                   </super>
249
                  </object>
250
                 </at>
251
                </item>
252
               </object>
253
              </at>
254
             </object>
255
            </at>
196 256
            <at name="name">constantHeightText</at>
197
            <at name="width">90</at>
257
            <at name="width">114</at>
198 258
            <at name="text">constant_height</at>
199 259
            <at name="fill">
200 260
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
......
215 275
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
216 276
         <at name="cellconstraints">
217 277
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
218
           <at name="column">3</at>
219
           <at name="row">2</at>
278
           <at name="column">1</at>
279
           <at name="row">10</at>
220 280
           <at name="colspan">1</at>
221 281
           <at name="rowspan">1</at>
222 282
           <at name="halign">default</at>
......
227 287
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
228 288
        </super>
229 289
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
290
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
291
        <at name="beanproperties">
292
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
293
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
294
          <at name="properties">
295
           <object classname="com.jeta.forms.store.support.PropertyMap">
296
            <at name="border">
297
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
298
              <super classname="com.jeta.forms.store.properties.BorderProperty">
299
               <at name="name">border</at>
300
              </super>
301
              <at name="borders">
302
               <object classname="java.util.LinkedList">
303
                <item >
304
                 <at name="value">
305
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
306
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
307
                    <at name="name">border</at>
308
                   </super>
309
                  </object>
310
                 </at>
311
                </item>
312
               </object>
313
              </at>
314
             </object>
315
            </at>
316
            <at name="name">verticalExaggerationText</at>
317
            <at name="width">114</at>
318
            <at name="text">vertical_exaggeration</at>
319
            <at name="fill">
320
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
321
              <at name="name">fill</at>
322
             </object>
323
            </at>
324
            <at name="height">14</at>
325
           </object>
326
          </at>
327
         </object>
328
        </at>
329
       </object>
330
      </at>
331
     </item>
332
     <item >
333
      <at name="value">
334
       <object classname="com.jeta.forms.store.memento.BeanMemento">
335
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
336
         <at name="cellconstraints">
337
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
338
           <at name="column">3</at>
339
           <at name="row">6</at>
340
           <at name="colspan">2</at>
341
           <at name="rowspan">1</at>
342
           <at name="halign">default</at>
343
           <at name="valign">default</at>
344
           <at name="insets" object="insets">0,0,0,0</at>
345
          </object>
346
         </at>
347
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
348
        </super>
349
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
230 350
        <at name="beanclass">javax.swing.JComboBox</at>
231 351
        <at name="beanproperties">
232 352
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
......
253 373
              </at>
254 374
             </object>
255 375
            </at>
256
            <at name="name">elevationMode</at>
257
            <at name="width">1408</at>
376
            <at name="name">heightField</at>
377
            <at name="width">790</at>
258 378
            <at name="items">
259 379
             <object classname="com.jeta.forms.store.properties.ItemsProperty">
260 380
              <at name="name">items</at>
......
275 395
         <at name="cellconstraints">
276 396
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
277 397
           <at name="column">3</at>
278
           <at name="row">4</at>
279
           <at name="colspan">1</at>
398
           <at name="row">8</at>
399
           <at name="colspan">2</at>
280 400
           <at name="rowspan">1</at>
281 401
           <at name="halign">default</at>
282 402
           <at name="valign">default</at>
......
286 406
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
287 407
        </super>
288 408
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
289
        <at name="beanclass">javax.swing.JButton</at>
409
        <at name="beanclass">javax.swing.JTextField</at>
290 410
        <at name="beanproperties">
291 411
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
292
          <at name="classname">javax.swing.JButton</at>
412
          <at name="classname">javax.swing.JTextField</at>
293 413
          <at name="properties">
294 414
           <object classname="com.jeta.forms.store.support.PropertyMap">
295 415
            <at name="border">
......
312 432
              </at>
313 433
             </object>
314 434
            </at>
315
            <at name="actionCommand">...</at>
316
            <at name="name">defaultColor</at>
317
            <at name="width">1408</at>
318
            <at name="text">...</at>
319
            <at name="height">22</at>
435
            <at name="name">constantHeight</at>
436
            <at name="width">790</at>
437
            <at name="height">20</at>
320 438
           </object>
321 439
          </at>
322 440
         </object>
......
331 449
         <at name="cellconstraints">
332 450
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
333 451
           <at name="column">3</at>
334
           <at name="row">6</at>
335
           <at name="colspan">1</at>
452
           <at name="row">10</at>
453
           <at name="colspan">2</at>
336 454
           <at name="rowspan">1</at>
337 455
           <at name="halign">default</at>
338 456
           <at name="valign">default</at>
......
368 486
              </at>
369 487
             </object>
370 488
            </at>
371
            <at name="name">constantHeight</at>
372
            <at name="width">1408</at>
489
            <at name="name">verticalExaggeration</at>
490
            <at name="width">790</at>
373 491
            <at name="height">20</at>
374 492
           </object>
375 493
          </at>
......
378 496
       </object>
379 497
      </at>
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff