root / branches / CqCMSDvp / libraries / libCq CMS for java.old / src / org / cresques / ui / cts / CSSelectionPanel.java @ 1733
History | View | Annotate | Download (5.29 KB)
1 | 1527 | luisw | /*
|
---|---|---|---|
2 | * Creado el 31-ago-2004
|
||
3 | */
|
||
4 | package org.cresques.ui.cts; |
||
5 | |||
6 | import java.awt.event.ActionEvent; |
||
7 | import java.awt.event.ActionListener; |
||
8 | |||
9 | import javax.swing.JComboBox; |
||
10 | import javax.swing.JLabel; |
||
11 | import javax.swing.JPanel; |
||
12 | |||
13 | import org.cresques.cts.IProjection; |
||
14 | import org.cresques.ui.LoadableComboBox; |
||
15 | |||
16 | //import es.gva.cit.geoexplorer.ui.LoadableComboBox;
|
||
17 | |||
18 | /**
|
||
19 | * Panel de edici?n de Sistemas de referencia
|
||
20 | * @author "Luis W. Sevilla" <sevilla_lui@gva.es>
|
||
21 | */
|
||
22 | public class CSSelectionPanel extends JPanel { |
||
23 | private LoadableComboBox datumComboBox = null; |
||
24 | private LoadableComboBox projComboBox = null; |
||
25 | private LoadableComboBox huseComboBox = null; |
||
26 | private JLabel jLabel = null; |
||
27 | private JLabel jLabel1 = null; |
||
28 | private JLabel jLabel2 = null; |
||
29 | private int wDisplay = 335; |
||
30 | private int wCombo = 250; |
||
31 | private int h=23, x=14; |
||
32 | private String tit; |
||
33 | private CSSelectionModel model;
|
||
34 | |||
35 | /**
|
||
36 | * Constructor de la clase.
|
||
37 | */
|
||
38 | public CSSelectionPanel(String tit) { |
||
39 | super();
|
||
40 | if (tit == null) tit = "Sistema de referencia"; |
||
41 | this.tit = tit;
|
||
42 | setModel(new CSSelectionModel());
|
||
43 | initialize(); |
||
44 | } |
||
45 | /**
|
||
46 | * Inicializa el panel.
|
||
47 | * @return javax.swing.JPanel
|
||
48 | */
|
||
49 | private void initialize() { |
||
50 | setPreferredSize(new java.awt.Dimension(280, 155)); |
||
51 | setLayout(null);
|
||
52 | /*javax.swing.border.Border border = javax.swing.BorderFactory.createCompoundBorder(
|
||
53 | javax.swing. BorderFactory.createTitledBorder("Sistema de coordenadas"),
|
||
54 | javax.swing.BorderFactory.createEmptyBorder(5,5,5,5)); */
|
||
55 | setBorder(javax.swing.BorderFactory.createCompoundBorder( |
||
56 | null, javax.swing.BorderFactory.createTitledBorder(
|
||
57 | null, "Sistema de Referencia", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null))); |
||
58 | |||
59 | jLabel = new JLabel(); |
||
60 | jLabel.setBounds(15, 15, 77, 23); |
||
61 | jLabel.setText("Datum :");
|
||
62 | add(jLabel, null);
|
||
63 | add(getDatumComboBox(), null);
|
||
64 | |||
65 | jLabel1 = new JLabel(); |
||
66 | jLabel1.setBounds(15, 60, 77, 23); |
||
67 | jLabel1.setText("Proyecci?n :");
|
||
68 | add(jLabel1, null);
|
||
69 | add(getProjComboBox(), null);
|
||
70 | |||
71 | jLabel2 = new JLabel(); |
||
72 | jLabel2.setBounds(15, 105, 77, 23); |
||
73 | jLabel2.setText("Huso :");
|
||
74 | add(jLabel2, null);
|
||
75 | add(getHuseComboBox(), null);
|
||
76 | |||
77 | setHuseComboBoxEnabled(false);
|
||
78 | } |
||
79 | |||
80 | public void setModel(CSSelectionModel model) { |
||
81 | this.model = model;
|
||
82 | |||
83 | getHuseComboBox().loadData(model.getHuseList()); |
||
84 | getDatumComboBox().loadData(model.getDatumList()); |
||
85 | getProjComboBox().loadData(model.getProjectionList()); |
||
86 | } |
||
87 | |||
88 | private void setHuseComboBoxEnabled(boolean enabled) { |
||
89 | if (jLabel2 != null) |
||
90 | jLabel2.setEnabled(enabled); |
||
91 | getHuseComboBox().setEnabled(enabled); |
||
92 | } |
||
93 | |||
94 | private void setDatumComboBoxEnabled(boolean enabled) { |
||
95 | if (jLabel != null) |
||
96 | jLabel.setEnabled(enabled); |
||
97 | getDatumComboBox().setEnabled(enabled); |
||
98 | } |
||
99 | |||
100 | public void setProjection(IProjection proj) { |
||
101 | model.setProjection(proj); |
||
102 | if (model.getSelectedDatum() >= 0) { |
||
103 | setDatumComboBoxEnabled(true);
|
||
104 | getDatumComboBox().setSelectedIndex(model.getSelectedDatum()); |
||
105 | } else {
|
||
106 | setDatumComboBoxEnabled(false);
|
||
107 | getDatumComboBox().setSelectedIndex(0);
|
||
108 | } |
||
109 | getProjComboBox().setSelectedIndex(model.getSelectedProj()); |
||
110 | if (model.getSelectedHuse() >= 0) { |
||
111 | setHuseComboBoxEnabled(true);
|
||
112 | getHuseComboBox().setSelectedIndex(model.getSelectedHuse()); |
||
113 | } else {
|
||
114 | setHuseComboBoxEnabled(false);
|
||
115 | getHuseComboBox().setSelectedIndex(0);
|
||
116 | } |
||
117 | } |
||
118 | |||
119 | |||
120 | /**
|
||
121 | * Inicializa datumComboBox
|
||
122 | *
|
||
123 | * @return javax.swing.JComboBox
|
||
124 | */
|
||
125 | private LoadableComboBox getDatumComboBox() {
|
||
126 | if (datumComboBox == null) { |
||
127 | datumComboBox = new LoadableComboBox();
|
||
128 | datumComboBox.setBounds(14, 35, 250, 23); |
||
129 | // ((LoadableComboBox) datumComboBox).loadData(model.getDatumList());
|
||
130 | datumComboBox.addItemListener(new java.awt.event.ItemListener() {
|
||
131 | public void itemStateChanged(java.awt.event.ItemEvent e) { |
||
132 | model.setSelectedDatum(e.getItem()); |
||
133 | } |
||
134 | }); |
||
135 | } |
||
136 | return datumComboBox;
|
||
137 | } |
||
138 | |||
139 | /**
|
||
140 | * Inicializa projComboBox
|
||
141 | *
|
||
142 | * @return javax.swing.JComboBox
|
||
143 | */
|
||
144 | private LoadableComboBox getProjComboBox() {
|
||
145 | if (projComboBox == null) { |
||
146 | projComboBox = new LoadableComboBox();
|
||
147 | projComboBox.setBounds(14, 80, 250, 23); |
||
148 | projComboBox.addItemListener(new java.awt.event.ItemListener() {
|
||
149 | public void itemStateChanged(java.awt.event.ItemEvent e) { |
||
150 | model.setSelectedProj(e.getItem()); |
||
151 | if (model.getSelectedProjType() == model.TRANSVERSAL)
|
||
152 | setHuseComboBoxEnabled(true);
|
||
153 | else
|
||
154 | setHuseComboBoxEnabled(false);
|
||
155 | if (model.getSelectedProjType() == model.NONE)
|
||
156 | setDatumComboBoxEnabled(false);
|
||
157 | else
|
||
158 | setDatumComboBoxEnabled(true);
|
||
159 | } |
||
160 | }); |
||
161 | } |
||
162 | return projComboBox;
|
||
163 | } |
||
164 | |||
165 | /**
|
||
166 | * Inicializa usoComboBox
|
||
167 | *
|
||
168 | * @return javax.swing.JComboBox
|
||
169 | */
|
||
170 | private LoadableComboBox getHuseComboBox() {
|
||
171 | if (huseComboBox == null) { |
||
172 | huseComboBox = new LoadableComboBox();
|
||
173 | huseComboBox.setBounds(14, 125, 250, 23); |
||
174 | huseComboBox.addItemListener(new java.awt.event.ItemListener() {
|
||
175 | public void itemStateChanged(java.awt.event.ItemEvent e) { |
||
176 | model.setSelectedHuse(e.getItem()); |
||
177 | } |
||
178 | }); |
||
179 | } |
||
180 | return huseComboBox;
|
||
181 | } |
||
182 | /**
|
||
183 | * @return
|
||
184 | */
|
||
185 | public IProjection getProjection() {
|
||
186 | return model.getProjection();
|
||
187 | } |
||
188 | } |