Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.plugin / org.gvsig.geodb.app / org.gvsig.geodb.app.mainplugin / src / main / java / org / gvsig / geodb / vectorialdb / visibility / VisibilityScaleSelector.java @ 45425

History | View | Annotate | Download (5.17 KB)

1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2017 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.geodb.vectorialdb.visibility;
24

    
25
import java.awt.Dimension;
26
import java.awt.event.ActionEvent;
27
import java.util.Locale;
28
import javax.swing.JComponent;
29
import org.gvsig.geodb.WizardDBVectorial;
30

    
31

    
32
import org.slf4j.Logger;
33
import org.slf4j.LoggerFactory;
34

    
35
import org.gvsig.tools.ToolsLocator;
36
import org.gvsig.tools.i18n.I18nManager;
37
import org.gvsig.tools.swing.api.Component;
38
import org.gvsig.tools.swing.api.ToolsSwingLocator;
39
import org.gvsig.tools.swing.api.ToolsSwingManager;
40

    
41

    
42
/**
43
 * @author fdiaz
44
 *
45
 */
46
public class VisibilityScaleSelector 
47
        extends VisibilityScaleSelectorView
48
        implements Component 
49
    {
50

    
51
    private static final Logger LOG = LoggerFactory.getLogger(VisibilityScaleSelector.class);
52
    
53
    private static final int SCALE_ABOVE_DENOMINATOR_1_1000 = 2000;
54
    private static final int SCALE_BELOW_DENOMINATOR_1_1000 = 1;
55

    
56
    private static final int SCALE_ABOVE_DENOMINATOR_1_5000 = 8000;
57
    private static final int SCALE_BELOW_DENOMINATOR_1_5000 = 1;
58

    
59
    private static final int SCALE_ABOVE_DENOMINATOR_1_25000 = 40000;
60
    private static final int SCALE_BELOW_DENOMINATOR_1_25000 = 1;
61
    
62
    /**
63
     *
64
     */
65
    public VisibilityScaleSelector() {
66
        super();
67
        initComponents();
68
        translate();
69
    }
70
    
71
    private void initComponents() {
72

    
73
        rdb1_1000.addActionListener((ActionEvent e) -> {
74
            txtScaleAboveDenominator.setValue(SCALE_ABOVE_DENOMINATOR_1_1000);
75
            txtScaleBelowDenominator.setValue(SCALE_BELOW_DENOMINATOR_1_1000);
76
        });
77
        
78
        rdb1_5000.addActionListener((ActionEvent e) -> {
79
            txtScaleAboveDenominator.setValue(SCALE_ABOVE_DENOMINATOR_1_5000);
80
            txtScaleBelowDenominator.setValue(SCALE_BELOW_DENOMINATOR_1_5000);
81
        });
82
        
83
        rdb1_25000.addActionListener((ActionEvent e) -> {
84
            txtScaleAboveDenominator.setValue(SCALE_ABOVE_DENOMINATOR_1_25000);
85
            txtScaleBelowDenominator.setValue(SCALE_BELOW_DENOMINATOR_1_25000);
86
        });
87

    
88
        this.setPreferredSize(new Dimension(400,400));
89
    }
90

    
91
    private void translate() {
92
        I18nManager i18n = ToolsLocator.getI18nManager();
93
        ToolsSwingManager i18nc = ToolsSwingLocator.getToolsSwingManager();
94
        
95
        String value = String.valueOf(WizardDBVectorial.NUMBER_OF_FEATURES_TO_ASK_FOR_VISIBILITY_SCALE);
96
        lblDescription.setText(i18n.getTranslation(lblDescription.getText(),new String[]{value}));
97
        
98
        i18nc.translate(lbl_1_25000_description, true);
99
        i18nc.translate(lbl_1_5000_description, true);
100
        i18nc.translate(lbl_1_1000_description, true);
101
        i18nc.translate(rdbConditions, true);
102
        i18nc.translate(lblBelow, true);
103
        i18nc.translate(lblAbove, true);
104
        i18nc.translate(lblMaximumScale, true);
105
        i18nc.translate(lblMinimumScale, true);
106
        i18nc.translate(chkRememberAnswer, true);
107

    
108
    }
109

    
110
    /**
111
     * @param locale
112
     *
113
     */
114
    public void setLocate(Locale locale) {
115
        Locale l = super.getLocale();
116
        if (!l.equals(locale)) {
117
            translate();
118
        }
119
        super.setLocale(locale);
120
    }
121
    
122
    public int getScaleAboveDenominator(){
123
        if(rdb1_1000.isSelected()){
124
            return SCALE_ABOVE_DENOMINATOR_1_1000;
125
        }
126
        if(rdb1_5000.isSelected()){
127
            return SCALE_ABOVE_DENOMINATOR_1_5000;
128
        }
129
        if(rdb1_25000.isSelected()){
130
            return SCALE_ABOVE_DENOMINATOR_1_25000;
131
        }
132
        if(rdbConditions.isSelected()){
133
            return ((Number)txtScaleAboveDenominator.getValue()).intValue();
134
        }
135
        return Integer.MAX_VALUE;
136
    }
137

    
138
    public int getScaleBelowDenominator(){
139
        if(rdb1_1000.isSelected()){
140
            return SCALE_BELOW_DENOMINATOR_1_1000;
141
        }
142
        if(rdb1_5000.isSelected()){
143
            return SCALE_BELOW_DENOMINATOR_1_5000;
144
        }
145
        if(rdb1_25000.isSelected()){
146
            return SCALE_BELOW_DENOMINATOR_1_25000;
147
        }
148
        if(rdbConditions.isSelected()){
149
            return ((Number)txtScaleBelowDenominator.getValue()).intValue();
150
        }
151
        return 1;
152
    }
153
    
154
    public boolean getRememberAnswer() {
155
        return chkRememberAnswer.isSelected();
156
    }
157

    
158
    @Override
159
    public JComponent asJComponent() {
160
        return this;
161
    }
162
    
163
}