Statistics
| Revision:

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

History | View | Annotate | Download (20.7 KB)

1
/*
2
 * Created on 28-jul-2004
3
 *
4
 * To change the template for this generated file go to
5
 * Window>Preferences>Java>Code Generation>Code and Comments
6
 */
7
package com.iver.cit.gvsig.gui.layout.dialogs;
8

    
9
import java.awt.Color;
10
import java.awt.geom.Rectangle2D;
11
import java.util.ArrayList;
12

    
13
import javax.swing.ButtonGroup;
14
import javax.swing.JPanel;
15

    
16
import com.iver.andami.PluginServices;
17
import com.iver.andami.Utilities;
18
import com.iver.andami.ui.mdiManager.View;
19
import com.iver.andami.ui.mdiManager.ViewInfo;
20
import com.iver.cit.gvsig.gui.layout.FLayoutGraphics;
21
import com.iver.cit.gvsig.gui.layout.FLayoutUtilities;
22
import com.iver.cit.gvsig.gui.layout.Layout;
23
import com.iver.cit.gvsig.gui.layout.fframes.FFrame;
24
import com.iver.cit.gvsig.gui.layout.fframes.FFrameGraphics;
25
import com.iver.cit.gvsig.gui.layout.fframes.FFrameGroup;
26
import com.iver.cit.gvsig.gui.layout.fframes.IFFrame;
27
import com.iver.cit.gvsig.gui.layout.fframes.dialogs.FFrameGraphicsDialog;
28

    
29

    
30
/**
31
 * DOCUMENT ME!
32
 *
33
 * @author Vicente Caballero Navarro
34
 */
35
public class FBorderDialog extends JPanel implements View {
36
    private javax.swing.JRadioButton rbSeleccionados = null;
37
    private javax.swing.JRadioButton rbTodos = null;
38
    private javax.swing.JRadioButton rbMargen = null;
39
    private javax.swing.JCheckBox chbAgrupar = null;
40
    private javax.swing.JPanel pPosicion = null;
41
    private javax.swing.JCheckBox chbIgualLados = null;
42
    private javax.swing.JLabel lunidades = null;
43
    private javax.swing.JTextField tTodosLados = null;
44
    private javax.swing.JLabel lSuperior = null;
45
    private javax.swing.JLabel lInferior = null;
46
    private javax.swing.JTextField tSuperior = null;
47
    private javax.swing.JTextField tInferior = null;
48
    private javax.swing.JLabel lIzquierda = null;
49
    private javax.swing.JLabel lDerecha = null;
50
    private javax.swing.JTextField tIzquierda = null;
51
    private javax.swing.JTextField tDerecha = null;
52
    private javax.swing.JLabel lUnidades = null;
53
    private javax.swing.JButton bAceptar = null;
54
    private javax.swing.JButton bCancelar = null;
55
    private Layout layout = null;
56
    private ArrayList selecList = new ArrayList();
57
    private FFrameGraphics fframegraphics = null;
58
        private FLayoutGraphics flg=null;
59
        private String m_NameUnit=null;
60
        
61
        private javax.swing.JButton bConfigurar = null;
62
    /**
63
     * This is the default constructor
64
     *
65
     * @param l Layout.
66
     */
67
    public FBorderDialog(Layout l) {
68
        super();
69
        layout = l;
70
        flg=new FLayoutGraphics(layout);
71
                fframegraphics = new FFrameGraphics();
72
                fframegraphics.setColor(Color.red);
73
                fframegraphics.update(Layout.RECTANGLESIMPLE,layout.getAT());
74
                                        
75
        initialize();
76
    }
77

    
78
    /**
79
     * This method initializes this
80
     */
81
    private void initialize() {
82
        for (int i = 0; i < layout.getFFrames().size(); i++) {
83
            if (((IFFrame) layout.getFFrames().get(i)).getSelected() != FFrame.NOSELECT) {
84
                selecList.add(layout.getFFrames().get(i));
85
            }
86
        }
87

    
88
        this.setLayout(null);
89
                m_NameUnit=layout.getAtributes().getNameUnit();
90
        this.add(getRbSeleccionados(), null);
91
        this.add(getRbTodos(), null);
92
        this.add(getRbMargen(), null);
93
        this.add(getChbAgrupar(), null);
94
        this.add(getPPosicion(), null);
95
        this.add(getBAceptar(), null);
96
        this.add(getBCancelar(), null);
97
        this.add(getBConfigurar(), null);
98
        this.setSize(371, 223);
99

    
100
        ButtonGroup group = new ButtonGroup();
101
        group.add(getRbSeleccionados());
102
        group.add(getRbTodos());
103
        group.add(getRbMargen());
104
    }
105

    
106
    /**
107
     * This method initializes rbSeleccionados
108
     *
109
     * @return javax.swing.JRadioButton
110
     */
111
    private javax.swing.JRadioButton getRbSeleccionados() {
112
        if (rbSeleccionados == null) {
113
            rbSeleccionados = new javax.swing.JRadioButton();
114
            rbSeleccionados.setBounds(10, 8, 416, 20);
115
            rbSeleccionados.setText(PluginServices.getText(this,"colocar_alrededor_seleccionados"));
116

    
117
            if (selecList.size() == 0) {
118
                rbSeleccionados.setEnabled(false);
119
                getRbTodos().setSelected(true);
120
            } else {
121
                rbSeleccionados.setSelected(true);
122
            }
123
        }
124

    
125
        return rbSeleccionados;
126
    }
127

    
128
    /**
129
     * This method initializes rbTodos
130
     *
131
     * @return javax.swing.JRadioButton
132
     */
133
    private javax.swing.JRadioButton getRbTodos() {
134
        if (rbTodos == null) {
135
            rbTodos = new javax.swing.JRadioButton();
136
            rbTodos.setBounds(10, 29, 332, 20);
137
            rbTodos.setText(PluginServices.getText(this,"colocar_alrededor_todos"));
138
        }
139

    
140
        return rbTodos;
141
    }
142

    
143
    /**
144
     * This method initializes rbMargen
145
     *
146
     * @return javax.swing.JRadioButton
147
     */
148
    private javax.swing.JRadioButton getRbMargen() {
149
        if (rbMargen == null) {
150
            rbMargen = new javax.swing.JRadioButton();
151
            rbMargen.setBounds(10, 51, 286, 20);
152
            rbMargen.setText(PluginServices.getText(this,"colocar_a_margenes"));
153
        }
154

    
155
        return rbMargen;
156
    }
157

    
158
    /**
159
     * This method initializes chbAgrupar
160
     *
161
     * @return javax.swing.JCheckBox
162
     */
163
    private javax.swing.JCheckBox getChbAgrupar() {
164
        if (chbAgrupar == null) {
165
            chbAgrupar = new javax.swing.JCheckBox();
166
            chbAgrupar.setBounds(10, 70, 280, 20);
167
            chbAgrupar.setText(PluginServices.getText(this,"agrupar_linea"));
168
        }
169

    
170
        return chbAgrupar;
171
    }
172

    
173
    /**
174
     * This method initializes pPosicion
175
     *
176
     * @return javax.swing.JPanel
177
     */
178
    private javax.swing.JPanel getPPosicion() {
179
        if (pPosicion == null) {
180
            pPosicion = new javax.swing.JPanel();
181
            pPosicion.setLayout(null);
182
            pPosicion.add(getChbIgualLados(), null);
183
            pPosicion.add(getLunidades(), null);
184
            pPosicion.add(getTTodosLados(), null);
185
            pPosicion.add(getLSuperior(), null);
186
            pPosicion.add(getLInferior(), null);
187
            pPosicion.add(getTSuperior(), null);
188
            pPosicion.add(getTInferior(), null);
189
            pPosicion.add(getLIzquierda(), null);
190
            pPosicion.add(getLDerecha(), null);
191
            pPosicion.add(getTIzquierda(), null);
192
            pPosicion.add(getTDerecha(), null);
193
            pPosicion.add(getLUnidades(), null);
194
            pPosicion.setBounds(12, 92, 350, 97);
195
            pPosicion.setBorder(javax.swing.BorderFactory.createTitledBorder(
196
                    null, PluginServices.getText(this,"posicion_linea"),
197
                    javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
198
                    javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
199
        }
200

    
201
        return pPosicion;
202
    }
203

    
204
    /**
205
     * This method initializes chbIgualLados
206
     *
207
     * @return javax.swing.JCheckBox
208
     */
209
    private javax.swing.JCheckBox getChbIgualLados() {
210
        if (chbIgualLados == null) {
211
            chbIgualLados = new javax.swing.JCheckBox();
212
            chbIgualLados.setBounds(10, 16, 243, 21);
213
            chbIgualLados.setText(PluginServices.getText(this,"igual_todos_lados"));
214
            chbIgualLados.setSelected(true);
215
            chbIgualLados.addActionListener(new java.awt.event.ActionListener() {
216
                    public void actionPerformed(java.awt.event.ActionEvent e) {
217
                        if (!chbIgualLados.isSelected()) {
218
                            getTTodosLados().setEnabled(false);
219
                            getTSuperior().setEnabled(true);
220
                            getTInferior().setEnabled(true);
221
                            getTIzquierda().setEnabled(true);
222
                            getTDerecha().setEnabled(true);
223
                        } else {
224
                            getTTodosLados().setEnabled(true);
225
                            getTSuperior().setEnabled(false);
226
                            getTInferior().setEnabled(false);
227
                            getTIzquierda().setEnabled(false);
228
                            getTDerecha().setEnabled(false);
229
                                                        getTSuperior().setText(tTodosLados.getText());
230
                                                        getTInferior().setText(tTodosLados.getText());
231
                                                        getTIzquierda().setText(tTodosLados.getText());
232
                                                        getTDerecha().setText(tTodosLados.getText());
233
                            
234
                        }
235
                    }
236
                });
237
        }
238

    
239
        return chbIgualLados;
240
    }
241

    
242
    /**
243
     * This method initializes lunidades
244
     *
245
     * @return javax.swing.JLabel
246
     */
247
    private javax.swing.JLabel getLunidades() {
248
        if (lunidades == null) {
249
            lunidades = new javax.swing.JLabel();
250
            lunidades.setBounds(264, 64, 78, 18);
251
            lunidades.setText(m_NameUnit);
252
        }
253

    
254
        return lunidades;
255
    }
256

    
257
    /**
258
     * This method initializes tTodosLados
259
     *
260
     * @return javax.swing.JTextField
261
     */
262
    private javax.swing.JTextField getTTodosLados() {
263
        if (tTodosLados == null) {
264
            tTodosLados = new javax.swing.JTextField();
265
            tTodosLados.setBounds(267, 19, 48, 16);
266
            tTodosLados.setText("0.5");
267
            tTodosLados.addCaretListener(new javax.swing.event.CaretListener() {
268
                    public void caretUpdate(javax.swing.event.CaretEvent e) {
269
                      if (getChbIgualLados().isSelected()){
270
                       getTSuperior().setText(tTodosLados.getText());
271
                                           getTInferior().setText(tTodosLados.getText());
272
                                           getTIzquierda().setText(tTodosLados.getText());
273
                                           getTDerecha().setText(tTodosLados.getText());
274
                      }
275
                    }
276
                });
277
        }
278

    
279
        return tTodosLados;
280
    }
281

    
282
    /**
283
     * This method initializes lSuperior
284
     *
285
     * @return javax.swing.JLabel
286
     */
287
    private javax.swing.JLabel getLSuperior() {
288
        if (lSuperior == null) {
289
            lSuperior = new javax.swing.JLabel();
290
            lSuperior.setBounds(10, 55, 62, 16);
291
            lSuperior.setText(PluginServices.getText(this,"Superior"));
292
        }
293

    
294
        return lSuperior;
295
    }
296

    
297
    /**
298
     * This method initializes lInferior
299
     *
300
     * @return javax.swing.JLabel
301
     */
302
    private javax.swing.JLabel getLInferior() {
303
        if (lInferior == null) {
304
            lInferior = new javax.swing.JLabel();
305
            lInferior.setBounds(10, 72, 62, 16);
306
            lInferior.setText(PluginServices.getText(this,"Inferior"));
307
        }
308

    
309
        return lInferior;
310
    }
311

    
312
    /**
313
     * This method initializes tSuperior
314
     *
315
     * @return javax.swing.JTextField
316
     */
317
    private javax.swing.JTextField getTSuperior() {
318
        if (tSuperior == null) {
319
            tSuperior = new javax.swing.JTextField();
320
            tSuperior.setBounds(78, 55, 48, 16);
321
            tSuperior.setText("0.5");
322
            tSuperior.setEnabled(false);
323
        }
324

    
325
        return tSuperior;
326
    }
327

    
328
    /**
329
     * This method initializes tInferior
330
     *
331
     * @return javax.swing.JTextField
332
     */
333
    private javax.swing.JTextField getTInferior() {
334
        if (tInferior == null) {
335
            tInferior = new javax.swing.JTextField();
336
            tInferior.setBounds(78, 72, 48, 16);
337
            tInferior.setText("0.5");
338
            tInferior.setEnabled(false);
339
        }
340

    
341
        return tInferior;
342
    }
343

    
344
    /**
345
     * This method initializes lIzquierda
346
     *
347
     * @return javax.swing.JLabel
348
     */
349
    private javax.swing.JLabel getLIzquierda() {
350
        if (lIzquierda == null) {
351
            lIzquierda = new javax.swing.JLabel();
352
            lIzquierda.setBounds(140, 55, 62, 16);
353
            lIzquierda.setText(PluginServices.getText(this,"Izquierda"));
354
        }
355

    
356
        return lIzquierda;
357
    }
358

    
359
    /**
360
     * This method initializes lDerecha
361
     *
362
     * @return javax.swing.JLabel
363
     */
364
    private javax.swing.JLabel getLDerecha() {
365
        if (lDerecha == null) {
366
            lDerecha = new javax.swing.JLabel();
367
            lDerecha.setBounds(140, 72, 62, 16);
368
            lDerecha.setText(PluginServices.getText(this,"Derecha"));
369
        }
370

    
371
        return lDerecha;
372
    }
373

    
374
    /**
375
     * This method initializes tIzquierda
376
     *
377
     * @return javax.swing.JTextField
378
     */
379
    private javax.swing.JTextField getTIzquierda() {
380
        if (tIzquierda == null) {
381
            tIzquierda = new javax.swing.JTextField();
382
            tIzquierda.setBounds(207, 55, 48, 16);
383
            tIzquierda.setText("0.5");
384
            tIzquierda.setEnabled(false);
385
        }
386

    
387
        return tIzquierda;
388
    }
389

    
390
    /**
391
     * This method initializes tDerecha
392
     *
393
     * @return javax.swing.JTextField
394
     */
395
    private javax.swing.JTextField getTDerecha() {
396
        if (tDerecha == null) {
397
            tDerecha = new javax.swing.JTextField();
398
            tDerecha.setBounds(207, 72, 48, 16);
399
            tDerecha.setText("0.5");
400
            tDerecha.setEnabled(false);
401
        }
402

    
403
        return tDerecha;
404
    }
405

    
406
    /**
407
     * This method initializes lUnidades
408
     *
409
     * @return javax.swing.JLabel
410
     */
411
    private javax.swing.JLabel getLUnidades() {
412
        if (lUnidades == null) {
413
            lUnidades = new javax.swing.JLabel();
414
            lUnidades.setBounds(207, 36, 134, 18);
415
            lUnidades.setText(PluginServices.getText(this,"map_units"));
416
        }
417

    
418
        return lUnidades;
419
    }
420

    
421
    /**
422
     * @see com.iver.mdiApp.ui.MDIManager.View#getViewInfo()
423
     */
424
    public ViewInfo getViewInfo() {
425
            ViewInfo m_viewinfo=new ViewInfo(ViewInfo.MODALDIALOG);
426
                    m_viewinfo.setTitle(PluginServices.getText(this,"ajustes_linea_grafica"));
427
            
428
        return m_viewinfo;
429
    }
430

    
431
    /**
432
     * This method initializes bAceptar
433
     *
434
     * @return javax.swing.JButton
435
     */
436
    private javax.swing.JButton getBAceptar() {
437
        if (bAceptar == null) {
438
            bAceptar = new javax.swing.JButton();
439
            bAceptar.setBounds(134, 193, 100, 20);
440
            bAceptar.setText(PluginServices.getText(this,"Aceptar"));
441
            bAceptar.addActionListener(new java.awt.event.ActionListener() {
442
                    public void actionPerformed(java.awt.event.ActionEvent e) {
443
                                                double x=Double.parseDouble(getTIzquierda().getText().toString());
444
                                                double y=Double.parseDouble(getTSuperior().getText().toString());
445
                                                double w=Double.parseDouble(getTDerecha().getText().toString());
446
                                                double h=Double.parseDouble(getTInferior().getText().toString());
447
                       
448
                        if (!getChbAgrupar().isSelected()) {
449
                            Rectangle2D.Double re = new Rectangle2D.Double();
450
                             if (getRbSeleccionados().isSelected()) {
451
                                if (selecList.size() > 0) {
452
                                    re.setRect(((IFFrame) selecList.get(0)).getBoundBox());
453
                                }
454

    
455
                                for (int i = 1; i < selecList.size(); i++) {
456
                                    Rectangle2D.Double rectaux = ((IFFrame) selecList.get(i)).getBoundBox();
457
                                    re.add(rectaux);
458
                                }
459
      //                                                crear un Rect?ngulo alrededor de los fframes seleccionados. 
460
                            } else if (getRbTodos().isSelected()) {
461
                                if (layout.getFFrames().size() > 0) {
462
                                    re.setRect(((IFFrame) layout.getFFrames().get(0)).getBoundBox());
463
                                }
464

    
465
                                for (int i = 1; i < layout.getFFrames().size();
466
                                        i++) {
467
                                    Rectangle2D.Double rectaux = ((IFFrame) layout.getFFrames()
468
                                                                                  .get(i)).getBoundBox();
469
                                    re.add(rectaux);
470
                                }
471
                                                 //                                                creaer un Rect?ngulo que incluya a todos los fframes.
472
                            } else if (getRbMargen().isSelected()) {
473
                                //                                                creaer un Rect?ngulo en los m?rgenes del Layout.
474
                                                                re.setRect(layout.getAtributes().getArea());
475
                            }
476
                                                        re.setRect(re.x-x,re.y-y,re.width+x+w,re.height+y+h);
477
                                                        Rectangle2D.Double rectangle=FLayoutUtilities.fromSheetRect(re,layout.getAT());
478
                                                        /*if (layout.isCuadricula()){
479
                                                                FLayoutUtilities.setRectGrid(rectangle,
480
                                                                                   layout.getAtributes().getUnitInPixelsX(),layout.getAtributes().getUnitInPixelsY(), layout.getAT());
481
                                                        }
482
                                                        */
483
                                                        re=FLayoutUtilities.toSheetRect(rectangle,layout.getAT());
484
                                                        fframegraphics.setBoundBox(re);
485
                                                        layout.addFFrame(fframegraphics, true);
486
                        } else { //Agrupar
487
                            Rectangle2D.Double re = new Rectangle2D.Double();
488
                                  FFrameGroup fframegroup=new FFrameGroup();
489
                            if (getRbSeleccionados().isSelected()) {
490
                                if (selecList.size() > 0) {
491
                                    re.setRect(((IFFrame) selecList.get(0)).getBoundBox());
492
                                }
493

    
494
                                for (int i = 1; i < selecList.size(); i++) {
495
                                    Rectangle2D.Double rectaux = ((IFFrame) selecList.get(i)).getBoundBox();
496
                                    re.add(rectaux);
497
                                }
498
      //                                                crear un Rect?ngulo alrededor de los fframes seleccionados. 
499
                            } else if (getRbTodos().isSelected()) {
500
                                if (layout.getFFrames().size() > 0) {
501
                                    re.setRect(((IFFrame) layout.getFFrames().get(0)).getBoundBox());
502
                                }
503

    
504
                                for (int i = 1; i < layout.getFFrames().size();
505
                                        i++) {
506
                                    Rectangle2D.Double rectaux = ((IFFrame) layout.getFFrames()
507
                                                                                  .get(i)).getBoundBox();
508
                                                                                        ((IFFrame) layout.getFFrames().get(i)).setSelected(true);
509
                                    re.add(rectaux);
510
                                }
511
     //                                                creaer un Rect?ngulo que incluya a todos los fframes.
512
                            } else if (getRbMargen().isSelected()) {
513
                                //                                                creaer un Rect?ngulo en los m?rgenes del Layout.
514
                                
515
                               re.setRect(layout.getAtributes().getArea());
516
                                
517
                            }
518
                                                        re.setRect(re.x-x,re.y-y,re.width+x+w,re.height+y+h);
519
                                                        Rectangle2D.Double rectangle=FLayoutUtilities.fromSheetRect(re,layout.getAT());
520
                                                        /*if (layout.isCuadricula()){
521
                                                                FLayoutUtilities.setRectGrid(rectangle,
522
                                                                                layout.getAtributes().getUnitInPixelsX(),layout.getAtributes().getUnitInPixelsY(), layout.getAT());
523
                                                        }*/
524
                                                        re.setRect(FLayoutUtilities.toSheetRect(rectangle,layout.getAT()));
525
                                                        fframegraphics.setBoundBox(re);
526
                                                        layout.addFFrame(fframegraphics, false);
527
                                                        flg.grouping();
528
                        }
529

    
530
                        PluginServices.getMDIManager().closeView(FBorderDialog.this);
531
                        layout.setStatus(Layout.DESACTUALIZADO);
532
                        layout.repaint();
533
                    }
534
                });
535
        }
536

    
537
        return bAceptar;
538
    }
539

    
540
    /**
541
     * This method initializes bCancelar
542
     *
543
     * @return javax.swing.JButton
544
     */
545
    private javax.swing.JButton getBCancelar() {
546
        if (bCancelar == null) {
547
            bCancelar = new javax.swing.JButton();
548
            bCancelar.setBounds(251, 193, 100, 20);
549
            bCancelar.setText(PluginServices.getText(this,"Cancelar"));
550
            bCancelar.addActionListener(new java.awt.event.ActionListener() {
551
                    public void actionPerformed(java.awt.event.ActionEvent e) {
552
                            PluginServices.getMDIManager().closeView(FBorderDialog.this);
553
                    }
554
                });
555
        }
556

    
557
        return bCancelar;
558
    }
559

    
560
        /**
561
         * @see com.iver.mdiApp.ui.MDIManager.View#viewActivated()
562
         */
563
        public void viewActivated() {
564
        }
565
        /**
566
         * This method initializes bConfigurar
567
         * 
568
         * @return javax.swing.JButton
569
         */
570
        private javax.swing.JButton getBConfigurar() {
571
                if(bConfigurar == null) {
572
                        bConfigurar = new javax.swing.JButton();
573
                        bConfigurar.setBounds(17, 193, 100, 20);
574
                        bConfigurar.setText(PluginServices.getText(this,"configurar"));
575
                        bConfigurar.addActionListener(new java.awt.event.ActionListener() { 
576
                                public void actionPerformed(java.awt.event.ActionEvent e) {    
577
                                        FFrameGraphicsDialog graphicsdialog=new FFrameGraphicsDialog(layout,fframegraphics);
578
                                        
579
                                        PluginServices.getMDIManager().addView(graphicsdialog);
580
                                }
581
                        });
582
                }
583
                return bConfigurar;
584
        }
585
}  //  @jve:visual-info  decl-index=0 visual-constraint="10,10"
586

    
587

    
588
//  @jve:visual-info  decl-index=0 visual-constraint="11,17"