Statistics
| Revision:

svn-gvsig-desktop / trunk / applications / appgvSIG / src / com / iver / cit / gvsig / gui / layout / dialogs / FPositionDialog.java @ 4281

History | View | Annotate | Download (12.8 KB)

1 312 fernando
/*
2
 * Created on 31-ago-2004
3
 *
4
 */
5 1103 fjp
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
6
 *
7
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
8
 *
9
 * This program is free software; you can redistribute it and/or
10
 * modify it under the terms of the GNU General Public License
11
 * as published by the Free Software Foundation; either version 2
12
 * of the License, or (at your option) any later version.
13
 *
14
 * This program is distributed in the hope that it will be useful,
15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 * GNU General Public License for more details.
18
 *
19
 * You should have received a copy of the GNU General Public License
20
 * along with this program; if not, write to the Free Software
21
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
22
 *
23
 * For more information, contact:
24
 *
25
 *  Generalitat Valenciana
26
 *   Conselleria d'Infraestructures i Transport
27
 *   Av. Blasco Ib??ez, 50
28
 *   46010 VALENCIA
29
 *   SPAIN
30
 *
31
 *      +34 963862235
32
 *   gvsig@gva.es
33
 *      www.gvsig.gva.es
34
 *
35
 *    or
36
 *
37
 *   IVER T.I. S.A
38
 *   Salamanca 50
39
 *   46005 Valencia
40
 *   Spain
41
 *
42
 *   +34 963163400
43
 *   dac@iver.es
44
 */
45 312 fernando
package com.iver.cit.gvsig.gui.layout.dialogs;
46
47 2209 vcaballero
import java.awt.geom.Rectangle2D;
48
import java.text.NumberFormat;
49
50
import javax.swing.JPanel;
51
52 596 fernando
import com.iver.andami.PluginServices;
53
import com.iver.andami.ui.mdiManager.View;
54
import com.iver.andami.ui.mdiManager.ViewInfo;
55 312 fernando
import com.iver.cit.gvsig.gui.layout.Layout;
56
import com.iver.cit.gvsig.gui.layout.fframes.IFFrame;
57
58 1074 vcaballero
59 312 fernando
/**
60 1074 vcaballero
 * Di?logo que ofrece la posibilidad de posicionar el fframe en un punto en
61
 * concreto del Layout.
62
 *
63 312 fernando
 * @author Vicente Caballero Navarro
64
 */
65 1074 vcaballero
public class FPositionDialog extends JPanel implements View {
66 312 fernando
        private javax.swing.JLabel lDesdeIzquierda = null;
67
        private javax.swing.JLabel lDesdeArriba = null;
68
        private javax.swing.JLabel lAnchura = null;
69
        private javax.swing.JLabel lAltura = null;
70
        private javax.swing.JButton bAceptar = null;
71
        private javax.swing.JButton bCancelar = null;
72
        private javax.swing.JTextField tDesdeIzquierda = null;
73
        private javax.swing.JTextField tDesdeDerecha = null;
74
        private javax.swing.JTextField tAnchura = null;
75
        private javax.swing.JTextField tAltura = null;
76
        private javax.swing.JLabel lNomUnidades = null;
77
        private javax.swing.JLabel lUnidades = null;
78 1074 vcaballero
        private Layout layout = null;
79
        private String m_NameUnit = null;
80 1210 vcaballero
        //private ArrayList selecList = new ArrayList();
81 312 fernando
        NumberFormat nf = NumberFormat.getInstance();
82
        private javax.swing.JLabel lAnchoUnidades = null;
83
        private javax.swing.JLabel lAlto = null;
84
        private javax.swing.JLabel lAltoUnidades = null;
85
        private javax.swing.JLabel lAncho = null;
86
        private javax.swing.JPanel pFolio = null;
87
        private javax.swing.JLabel lSeparador = null;
88 1210 vcaballero
        private IFFrame fframe;
89 312 fernando
        /**
90
         * This is the default constructor
91 1074 vcaballero
         *
92
         * @param l Referencia al Layout.
93 312 fernando
         */
94 1210 vcaballero
        public FPositionDialog(Layout l,IFFrame fframe) {
95 312 fernando
                super();
96 1074 vcaballero
                layout = l;
97 1210 vcaballero
                this.fframe=fframe;
98 1074 vcaballero
99 1210 vcaballero
                /*for (int i = layout.getFFrames().size() - 1; i >= 0; i--) {
100 1074 vcaballero
                        IFFrame fframe = (IFFrame) layout.getFFrames().get(i);
101

102
                        if (fframe.getSelected() != FFrame.NOSELECT) {
103
                                selecList.add(fframe);
104 312 fernando
                        }
105 1074 vcaballero
                }
106 1210 vcaballero
                */
107 312 fernando
                initialize();
108
        }
109 1074 vcaballero
110 312 fernando
        /**
111
         * This method initializes this
112
         */
113
        private void initialize() {
114
                this.setLayout(null);
115 1074 vcaballero
116
                if (layout.isCuadricula()) {
117
                        nf.setMaximumFractionDigits(1);
118
                } else {
119
                        nf.setMaximumFractionDigits(2);
120 312 fernando
                }
121 1074 vcaballero
122
                m_NameUnit = layout.getAtributes().getNameUnit();
123 312 fernando
                this.add(getLDesdeIzquierda(), null);
124
                this.add(getLDesdeArriba(), null);
125
                this.add(getLAnchura(), null);
126
                this.add(getLAltura(), null);
127
                this.add(getBAceptar(), null);
128
                this.add(getBCancelar(), null);
129
                this.add(getTDesdeIzquierda(), null);
130
                this.add(getTDesdeDerecha(), null);
131
                this.add(getTAnchura(), null);
132
                this.add(getTAltura(), null);
133
                this.add(getLNomUnidades(), null);
134
                this.add(getLUnidades(), null);
135
                this.add(getPFolio(), null);
136
                this.setSize(203, 215);
137
        }
138 1074 vcaballero
139 312 fernando
        /**
140
         * This method initializes lDesdeIzquierda
141 1074 vcaballero
         *
142 312 fernando
         * @return javax.swing.JLabel
143
         */
144
        private javax.swing.JLabel getLDesdeIzquierda() {
145 1074 vcaballero
                if (lDesdeIzquierda == null) {
146 312 fernando
                        lDesdeIzquierda = new javax.swing.JLabel();
147
                        lDesdeIzquierda.setBounds(9, 85, 116, 20);
148 1074 vcaballero
                        lDesdeIzquierda.setText(PluginServices.getText(this,
149
                                        "desde_izquierda"));
150 312 fernando
                }
151 1074 vcaballero
152 312 fernando
                return lDesdeIzquierda;
153
        }
154 1074 vcaballero
155 312 fernando
        /**
156
         * This method initializes lDesdeArriba
157 1074 vcaballero
         *
158 312 fernando
         * @return javax.swing.JLabel
159
         */
160
        private javax.swing.JLabel getLDesdeArriba() {
161 1074 vcaballero
                if (lDesdeArriba == null) {
162 312 fernando
                        lDesdeArriba = new javax.swing.JLabel();
163
                        lDesdeArriba.setBounds(9, 110, 116, 20);
164 1074 vcaballero
                        lDesdeArriba.setText(PluginServices.getText(this, "desde_arriba"));
165 312 fernando
                }
166 1074 vcaballero
167 312 fernando
                return lDesdeArriba;
168
        }
169 1074 vcaballero
170 312 fernando
        /**
171
         * This method initializes lAnchura
172 1074 vcaballero
         *
173 312 fernando
         * @return javax.swing.JLabel
174
         */
175
        private javax.swing.JLabel getLAnchura() {
176 1074 vcaballero
                if (lAnchura == null) {
177 312 fernando
                        lAnchura = new javax.swing.JLabel();
178
                        lAnchura.setBounds(9, 135, 116, 20);
179 1074 vcaballero
                        lAnchura.setText(PluginServices.getText(this, "anchura"));
180 312 fernando
                }
181 1074 vcaballero
182 312 fernando
                return lAnchura;
183
        }
184 1074 vcaballero
185 312 fernando
        /**
186
         * This method initializes lAltura
187 1074 vcaballero
         *
188 312 fernando
         * @return javax.swing.JLabel
189
         */
190
        private javax.swing.JLabel getLAltura() {
191 1074 vcaballero
                if (lAltura == null) {
192 312 fernando
                        lAltura = new javax.swing.JLabel();
193
                        lAltura.setBounds(9, 160, 116, 20);
194 1074 vcaballero
                        lAltura.setText(PluginServices.getText(this, "altura"));
195 312 fernando
                }
196 1074 vcaballero
197 312 fernando
                return lAltura;
198
        }
199 1074 vcaballero
200 312 fernando
        /**
201
         * This method initializes bAceptar
202 1074 vcaballero
         *
203 312 fernando
         * @return javax.swing.JButton
204
         */
205
        private javax.swing.JButton getBAceptar() {
206 1074 vcaballero
                if (bAceptar == null) {
207 312 fernando
                        bAceptar = new javax.swing.JButton();
208
                        bAceptar.setBounds(12, 185, 85, 23);
209 1074 vcaballero
                        bAceptar.setText(PluginServices.getText(this, "Aceptar"));
210
                        bAceptar.addActionListener(new java.awt.event.ActionListener() {
211
                                        public void actionPerformed(java.awt.event.ActionEvent e) {
212 1210 vcaballero
                                                //if (selecList.size() == 1) {
213 1074 vcaballero
                                                        Rectangle2D.Double r = new Rectangle2D.Double();
214
215
                                                        if (getTDesdeIzquierda().getText().equals("")) {
216
                                                                getTDesdeIzquierda().setText("0");
217
                                                        }
218
219
                                                        if (getTDesdeDerecha().getText().equals("")) {
220
                                                                getTDesdeDerecha().setText("0");
221
                                                        }
222
223
                                                        if (getTAnchura().getText().equals("")) {
224
                                                                getTAnchura().setText("0");
225
                                                        }
226
227
                                                        if (getTAltura().getText().equals("")) {
228
                                                                getTAltura().setText("0");
229
                                                        }
230
231
                                                        r.x = stringToDouble(getTDesdeIzquierda().getText()
232
                                                                                                         .toString());
233
                                                        r.y = stringToDouble(getTDesdeDerecha().getText()
234
                                                                                                         .toString());
235
                                                        r.width = stringToDouble(getTAnchura().getText()
236
                                                                                                                 .toString());
237
                                                        r.height = stringToDouble(getTAltura().getText()
238
                                                                                                                  .toString());
239
240 1210 vcaballero
                                                        //((IFFrame) selecList.get(0)).setBoundBox(r);
241 3550 caballero
                                                        IFFrame fframeAux=fframe.cloneFFrame(layout);
242
                                                        fframeAux.setBoundBox(r);
243
                                                        layout.getEFS().modifyFFrame(fframe,fframeAux);
244
                                                        layout.updateFFrames();
245 1210 vcaballero
                                                //}
246 1074 vcaballero
247
                                                PluginServices.getMDIManager().closeView(FPositionDialog.this);
248
                                                layout.setStatus(Layout.DESACTUALIZADO);
249
                                                layout.repaint();
250 312 fernando
                                        }
251 1074 vcaballero
                                });
252 312 fernando
                }
253 1074 vcaballero
254 312 fernando
                return bAceptar;
255
        }
256 1074 vcaballero
257
        /**
258
         * Paso de String a double.
259
         *
260
         * @param s String.
261
         *
262
         * @return double obtenido.
263
         */
264
        private double stringToDouble(String s) {
265
                String snew = s.replace(',', '.');
266
267 312 fernando
                return layout.getAtributes().fromUnits(Double.parseDouble(snew));
268
        }
269 1074 vcaballero
270 312 fernando
        /**
271
         * This method initializes bCancelar
272 1074 vcaballero
         *
273 312 fernando
         * @return javax.swing.JButton
274
         */
275
        private javax.swing.JButton getBCancelar() {
276 1074 vcaballero
                if (bCancelar == null) {
277 312 fernando
                        bCancelar = new javax.swing.JButton();
278
                        bCancelar.setBounds(107, 185, 87, 23);
279 1074 vcaballero
                        bCancelar.setText(PluginServices.getText(this, "Cancelar"));
280
                        bCancelar.addActionListener(new java.awt.event.ActionListener() {
281
                                        public void actionPerformed(java.awt.event.ActionEvent e) {
282
                                                PluginServices.getMDIManager().closeView(FPositionDialog.this);
283
                                        }
284
                                });
285 312 fernando
                }
286 1074 vcaballero
287 312 fernando
                return bCancelar;
288
        }
289 1074 vcaballero
290 312 fernando
        /**
291
         * This method initializes tDesdeIzquierda
292 1074 vcaballero
         *
293 312 fernando
         * @return javax.swing.JTextField
294
         */
295
        private javax.swing.JTextField getTDesdeIzquierda() {
296 1074 vcaballero
                if (tDesdeIzquierda == null) {
297 312 fernando
                        tDesdeIzquierda = new javax.swing.JTextField();
298
                        tDesdeIzquierda.setBounds(132, 85, 53, 20);
299 1074 vcaballero
                        tDesdeIzquierda.setText(String.valueOf(nf.format(
300 1210 vcaballero
                                                layout.getAtributes().toUnits(fframe.getBoundBox().x))));
301 312 fernando
                }
302 1074 vcaballero
303 312 fernando
                return tDesdeIzquierda;
304
        }
305 1074 vcaballero
306 312 fernando
        /**
307
         * This method initializes tDesdeDerecha
308 1074 vcaballero
         *
309 312 fernando
         * @return javax.swing.JTextField
310
         */
311
        private javax.swing.JTextField getTDesdeDerecha() {
312 1074 vcaballero
                if (tDesdeDerecha == null) {
313 312 fernando
                        tDesdeDerecha = new javax.swing.JTextField();
314
                        tDesdeDerecha.setBounds(132, 110, 53, 20);
315 1074 vcaballero
                        tDesdeDerecha.setText(String.valueOf(nf.format(
316 1210 vcaballero
                                                layout.getAtributes().toUnits(fframe.getBoundBox().y))));
317 312 fernando
                }
318 1074 vcaballero
319 312 fernando
                return tDesdeDerecha;
320
        }
321 1074 vcaballero
322 312 fernando
        /**
323
         * This method initializes tAnchura
324 1074 vcaballero
         *
325 312 fernando
         * @return javax.swing.JTextField
326
         */
327
        private javax.swing.JTextField getTAnchura() {
328 1074 vcaballero
                if (tAnchura == null) {
329 312 fernando
                        tAnchura = new javax.swing.JTextField();
330
                        tAnchura.setBounds(132, 135, 53, 20);
331 1074 vcaballero
                        tAnchura.setText(String.valueOf(nf.format(
332 1210 vcaballero
                                                layout.getAtributes().toUnits(fframe.getBoundBox().width))));
333 312 fernando
                }
334 1074 vcaballero
335 312 fernando
                return tAnchura;
336
        }
337 1074 vcaballero
338 312 fernando
        /**
339
         * This method initializes tAltura
340 1074 vcaballero
         *
341 312 fernando
         * @return javax.swing.JTextField
342
         */
343
        private javax.swing.JTextField getTAltura() {
344 1074 vcaballero
                if (tAltura == null) {
345 312 fernando
                        tAltura = new javax.swing.JTextField();
346
                        tAltura.setBounds(132, 160, 53, 20);
347 1074 vcaballero
                        tAltura.setText(String.valueOf(nf.format(layout.getAtributes()
348 1210 vcaballero
                                                                                                                   .toUnits(fframe.getBoundBox().height))));
349 312 fernando
                }
350 1074 vcaballero
351 312 fernando
                return tAltura;
352
        }
353 1074 vcaballero
354 312 fernando
        /**
355
         * This method initializes lNomUnidades
356 1074 vcaballero
         *
357 312 fernando
         * @return javax.swing.JLabel
358
         */
359
        private javax.swing.JLabel getLNomUnidades() {
360 1074 vcaballero
                if (lNomUnidades == null) {
361 312 fernando
                        lNomUnidades = new javax.swing.JLabel();
362
                        lNomUnidades.setBounds(91, 7, 91, 20);
363
                        lNomUnidades.setText(m_NameUnit);
364
                }
365 1074 vcaballero
366 312 fernando
                return lNomUnidades;
367
        }
368 1074 vcaballero
369 312 fernando
        /**
370
         * This method initializes lUnidades
371 1074 vcaballero
         *
372 312 fernando
         * @return javax.swing.JLabel
373
         */
374
        private javax.swing.JLabel getLUnidades() {
375 1074 vcaballero
                if (lUnidades == null) {
376 312 fernando
                        lUnidades = new javax.swing.JLabel();
377
                        lUnidades.setBounds(7, 7, 72, 20);
378 1074 vcaballero
                        lUnidades.setText(PluginServices.getText(this, "unidades"));
379 312 fernando
                }
380 1074 vcaballero
381 312 fernando
                return lUnidades;
382
        }
383 1074 vcaballero
384 312 fernando
        /**
385
         * @see com.iver.mdiApp.ui.MDIManager.View#getViewInfo()
386
         */
387
        public ViewInfo getViewInfo() {
388 1074 vcaballero
                ViewInfo m_viewinfo = new ViewInfo(ViewInfo.MODALDIALOG);
389
390
                //vi.setResizable(false);
391 4281 luisw2
                m_viewinfo.setTitle(PluginServices.getText(this, "tamano_posicion"));
392 1074 vcaballero
393
                return m_viewinfo;
394 312 fernando
        }
395 1074 vcaballero
396 312 fernando
        /**
397
         * @see com.iver.mdiApp.ui.MDIManager.View#viewActivated()
398
         */
399
        public void viewActivated() {
400
        }
401 1074 vcaballero
402 312 fernando
        /**
403
         * This method initializes lAnchoUnidades
404 1074 vcaballero
         *
405 312 fernando
         * @return javax.swing.JLabel
406
         */
407
        private javax.swing.JLabel getLAnchoUnidades() {
408 1074 vcaballero
                if (lAnchoUnidades == null) {
409 312 fernando
                        lAnchoUnidades = new javax.swing.JLabel();
410 1074 vcaballero
411
                        if (layout.getAtributes().isLandSpace()) {
412
                                lAnchoUnidades.setText(String.valueOf(nf.format(
413
                                                        layout.getAtributes().getSizeInUnits().getAlto())));
414
                        } else {
415
                                lAnchoUnidades.setText(String.valueOf(nf.format(
416
                                                        layout.getAtributes().getSizeInUnits().getAncho())));
417 312 fernando
                        }
418
                }
419 1074 vcaballero
420 312 fernando
                return lAnchoUnidades;
421
        }
422 1074 vcaballero
423 312 fernando
        /**
424
         * This method initializes lAlto
425 1074 vcaballero
         *
426 312 fernando
         * @return javax.swing.JLabel
427
         */
428
        private javax.swing.JLabel getLAlto() {
429 1074 vcaballero
                if (lAlto == null) {
430 312 fernando
                        lAlto = new javax.swing.JLabel();
431 1074 vcaballero
                        lAlto.setText(PluginServices.getText(this, "alto"));
432 312 fernando
                }
433 1074 vcaballero
434 312 fernando
                return lAlto;
435
        }
436 1074 vcaballero
437 312 fernando
        /**
438
         * This method initializes lAltoUnidades
439 1074 vcaballero
         *
440 312 fernando
         * @return javax.swing.JLabel
441
         */
442
        private javax.swing.JLabel getLAltoUnidades() {
443 1074 vcaballero
                if (lAltoUnidades == null) {
444 312 fernando
                        lAltoUnidades = new javax.swing.JLabel();
445 1074 vcaballero
446
                        if (layout.getAtributes().isLandSpace()) {
447
                                lAltoUnidades.setText(String.valueOf(nf.format(
448
                                                        layout.getAtributes().getSizeInUnits().getAncho())));
449
                        } else {
450
                                lAltoUnidades.setText(String.valueOf(nf.format(
451
                                                        layout.getAtributes().getSizeInUnits().getAlto())));
452 312 fernando
                        }
453
                }
454 1074 vcaballero
455 312 fernando
                return lAltoUnidades;
456
        }
457 1074 vcaballero
458 312 fernando
        /**
459
         * This method initializes lAncho
460 1074 vcaballero
         *
461 312 fernando
         * @return javax.swing.JLabel
462
         */
463
        private javax.swing.JLabel getLAncho() {
464 1074 vcaballero
                if (lAncho == null) {
465 312 fernando
                        lAncho = new javax.swing.JLabel();
466 1074 vcaballero
                        lAncho.setText(PluginServices.getText(this, "ancho"));
467 312 fernando
                }
468 1074 vcaballero
469 312 fernando
                return lAncho;
470
        }
471 1074 vcaballero
472 312 fernando
        /**
473
         * This method initializes pFolio
474 1074 vcaballero
         *
475 312 fernando
         * @return javax.swing.JPanel
476
         */
477
        private javax.swing.JPanel getPFolio() {
478 1074 vcaballero
                if (pFolio == null) {
479 312 fernando
                        pFolio = new javax.swing.JPanel();
480
                        pFolio.add(getLAltoUnidades(), null);
481
                        pFolio.add(getLAlto(), null);
482
                        pFolio.add(getLSeparador(), null);
483
                        pFolio.add(getLAnchoUnidades(), null);
484
                        pFolio.add(getLAncho(), null);
485
                        pFolio.setBounds(9, 31, 180, 43);
486 1074 vcaballero
                        pFolio.setBorder(javax.swing.BorderFactory.createTitledBorder(
487
                                        null, PluginServices.getText(this, "tama?o_pagina"),
488
                                        javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
489
                                        javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
490 312 fernando
                }
491 1074 vcaballero
492 312 fernando
                return pFolio;
493
        }
494 1074 vcaballero
495 312 fernando
        /**
496
         * This method initializes lSeparador
497 1074 vcaballero
         *
498 312 fernando
         * @return javax.swing.JLabel
499
         */
500
        private javax.swing.JLabel getLSeparador() {
501 1074 vcaballero
                if (lSeparador == null) {
502 312 fernando
                        lSeparador = new javax.swing.JLabel();
503
                        lSeparador.setText("/");
504
                }
505 1074 vcaballero
506 312 fernando
                return lSeparador;
507
        }
508 1074 vcaballero
}