Revision 760 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

View differences:

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

Also available in: Unified diff