Statistics
| Revision:

svn-document-layout / trunk / org.gvsig.app.document.layout2.app / org.gvsig.app.document.layout2.app.mainplugin / src / main / java / org / gvsig / app / project / documents / layout / fframes / gui / dialogs / FFrameTextDialog.java @ 250

History | View | Annotate | Download (30.1 KB)

1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 */
22
package org.gvsig.app.project.documents.layout.fframes.gui.dialogs;
23

    
24
import java.awt.BorderLayout;
25
import java.awt.Color;
26
import java.awt.Font;
27
import java.awt.event.ActionEvent;
28
import java.awt.event.ActionListener;
29
import java.awt.geom.Rectangle2D;
30

    
31
import javax.swing.ImageIcon;
32
import javax.swing.JCheckBox;
33
import javax.swing.JLabel;
34
import javax.swing.JPanel;
35
import javax.swing.JTextField;
36
import javax.swing.JToggleButton;
37

    
38
import org.gvsig.andami.PluginServices;
39
import org.gvsig.andami.ui.mdiManager.WindowInfo;
40
import org.gvsig.app.gui.panels.ColorChooserPanel;
41
import org.gvsig.app.gui.utils.FontChooser;
42
import org.gvsig.app.project.documents.layout.FLayoutUtilities;
43
import org.gvsig.app.project.documents.layout.fframes.FFrameText;
44
import org.gvsig.app.project.documents.layout.fframes.IFFrame;
45
import org.gvsig.app.project.documents.layout.fframes.gui.JPRotation;
46
import org.gvsig.app.project.documents.layout.gui.LayoutPanel;
47
import org.gvsig.gui.beans.AcceptCancelPanel;
48
import org.gvsig.i18n.Messages;
49

    
50
/**
51
 * Dialogo para a�adir texto al Layout.
52
 * 
53
 * @author Vicente Caballero Navarro
54
 */
55
public class FFrameTextDialog extends AbstractFFrameDialog implements
56
    IFFrameDialog {
57

    
58
    private static final long serialVersionUID = 314231434916661578L;
59

    
60
    public static final ImageIcon ileft = PluginServices.getIconTheme().get(
61
        "text-left-icon");
62

    
63
    public static final ImageIcon icenterV = PluginServices.getIconTheme().get(
64
        "text-center-v-icon");
65

    
66
    public static final ImageIcon iright = PluginServices.getIconTheme().get(
67
        "text-right-icon");
68

    
69
    private javax.swing.JPanel jContentPane = null; // @jve:visual-info
70
    // decl-index=0
71
    // visual-constraint="593,10"
72

    
73
    private javax.swing.JScrollPane jScrollPane = null;
74

    
75
    private javax.swing.JTextArea taTexto = null;
76

    
77
    private JToggleButton bIzquierda = null;
78

    
79
    private JToggleButton bCentro = null;
80

    
81
    private JToggleButton bDerecha = null;
82

    
83
    private Rectangle2D rect = new Rectangle2D.Double();
84

    
85
    private FFrameText fframetext = null; // new FFrameText();
86

    
87
    private boolean isAcepted = false;
88

    
89
    private javax.swing.JButton bFuente = null;
90

    
91
    private Color textcolor = null;
92

    
93
    private Color frameColor = null;
94

    
95
    private Color titleColor = null;
96

    
97
    private JCheckBox chkSurroundingRectangle = null;
98

    
99
    private JTextField txtCellPadding = null;
100

    
101
    private JLabel jLabel = null;
102

    
103
    private JCheckBox chkFontSize = null;
104

    
105
    private JTextField txtFontSize = null;
106

    
107
    private JCheckBox chkTitle = null;
108

    
109
    private JTextField txtTitle = null;
110

    
111
    private JPanel jPanel = null;
112

    
113
    private JTextField txtTitleSize = null;
114

    
115
    private JLabel jLabel3 = null;
116

    
117
    private JLabel jLabel4;
118

    
119
    private JPanel jPanel1 = null;
120

    
121
    private JTextField txtFrameSize = null;
122

    
123
    private JLabel jLabel5 = null;
124

    
125
    private JLabel jLabel6 = null;
126

    
127
    private JLabel jLabel7 = null;
128

    
129
    private JPRotation pRotation = null;
130

    
131
    private ColorChooserPanel m_colorChooser;
132

    
133
    private JPanel jPanel21 = null;
134

    
135
    private ColorChooserPanel m_colorFont; // @jve:decl-index=0:visual-constraint="474,139"
136

    
137
    private ColorChooserPanel m_colorTitle;
138

    
139
    private AcceptCancelPanel accept;
140

    
141
    private int pos = FFrameText.LEFT;
142

    
143
    private FFrameText newFFrameText = null;
144

    
145
    private Font m_font;
146

    
147
    /**
148
     * This is the default constructor
149
     * 
150
     * @param layoutPanel
151
     *            Referencia al Layout.
152
     * @param fframe
153
     *            Referencia al fframe de texto.
154
     */
155
    public FFrameTextDialog(LayoutPanel layoutPanel, IFFrame frame) {
156
        super(layoutPanel, frame);
157
        fframetext = (FFrameText) frame;
158
        textcolor = fframetext.getTextColor();
159
        frameColor = fframetext.getFrameColor();
160
        titleColor = fframetext.getTitleColor();
161
        initialize();
162
    }
163

    
164
    /**
165
     * This method initializes this
166
     */
167
    private void initialize() {
168
        this.setLayout(new BorderLayout());
169
        this.setSize(419, 444);
170
        this.add(getJContentPane(), java.awt.BorderLayout.CENTER);
171
        getPRotation().setRotation(fframetext.getRotation());
172
    }
173

    
174
    /**
175
     * Inserta el rect�ngulo a ocupar por el fframe de texto.
176
     * 
177
     * @param r
178
     *            Rect�ngulo.
179
     */
180
    public void setRectangle(Rectangle2D r) {
181
        rect.setRect(r);
182
    }
183

    
184
    /**
185
     * This method initializes jContentPane
186
     * 
187
     * @return javax.swing.JPanel
188
     */
189
    private javax.swing.JPanel getJContentPane() {
190
        if (jContentPane == null) {
191
            jLabel = new JLabel();
192
            jContentPane = new javax.swing.JPanel();
193
            jContentPane.setLayout(null);
194
            jContentPane.add(getJScrollPane(), null);
195
            // jContentPane.add(getJComboBox(), null);
196
            // jContentPane.add(getJLabel2(), null);
197
            jContentPane.add(getBFuente(), null);
198
            jContentPane.add(getColorFont(), null);
199
            jLabel.setText(PluginServices.getText(this, "Milimetros"));
200
            jLabel.setSize(110, 16);
201
            jLabel.setLocation(244, 74);
202
            jContentPane.add(getJPanel1(), null);
203
            jContentPane.add(getJPanel(), null);
204
            jContentPane.add(getChkFontSize(), null);
205
            jContentPane.add(getTxtFontSize(), null);
206
            jContentPane.add(getPRotation(), null);
207
            jContentPane.add(getJPanel21(), null);
208
            // jContentPane.add(getAcceptCancelPanel(), null);
209
            jContentPane.add(getAcceptCancelPanel(), null);
210
        }
211

    
212
        return jContentPane;
213
    }
214

    
215
    /**
216
     * This method initializes jScrollPane
217
     * 
218
     * @return javax.swing.JScrollPane
219
     */
220
    private javax.swing.JScrollPane getJScrollPane() {
221
        if (jScrollPane == null) {
222
            jScrollPane = new javax.swing.JScrollPane();
223
            jScrollPane.setViewportView(getTaTexto());
224
            jScrollPane.setSize(261, 83);
225
            jScrollPane
226
                .setVerticalScrollBarPolicy(javax.swing.JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
227
            jScrollPane.setLocation(5, 5);
228
        }
229

    
230
        return jScrollPane;
231
    }
232

    
233
    /**
234
     * This method initializes taTexto
235
     * 
236
     * @return javax.swing.JTextArea
237
     */
238
    private javax.swing.JTextArea getTaTexto() {
239
        if (taTexto == null) {
240
            taTexto = new javax.swing.JTextArea();
241

    
242
            for (int i = 0; i < fframetext.getText().size(); i++) {
243
                if (!((String) fframetext.getText().get(i)).equals("")) { //$NON-NLS-1$
244
                    taTexto.append((String) fframetext.getText().get(i));
245
                }
246
            }
247
        }
248

    
249
        return taTexto;
250
    }
251

    
252
    /**
253
     * This method initializes bIzquierda
254
     * 
255
     * @return javax.swing.JButton
256
     */
257
    private JToggleButton getBIzquierda() {
258
        if (bIzquierda == null) {
259
            bIzquierda = new JToggleButton();
260
            bIzquierda.setPreferredSize(new java.awt.Dimension(28, 20));
261
            if (fframetext.getPos() == FFrameText.LEFT) {
262
                bIzquierda.setSelected(true);
263
                pos = FFrameText.LEFT;
264
            }
265

    
266
            bIzquierda.setIcon(ileft);
267
            bIzquierda.addActionListener(new java.awt.event.ActionListener() {
268

    
269
                public void actionPerformed(java.awt.event.ActionEvent e) {
270
                    pos = FFrameText.LEFT;
271
                    // fframetext.setPos(FFrameText.LEFT);
272
                    getBIzquierda().setSelected(true);
273
                    getBCentro().setSelected(false);
274
                    getBDerecha().setSelected(false);
275
                }
276
            });
277
        }
278

    
279
        return bIzquierda;
280
    }
281

    
282
    /**
283
     * This method initializes bCentro
284
     * 
285
     * @return javax.swing.JButton
286
     */
287
    private JToggleButton getBCentro() {
288
        if (bCentro == null) {
289
            bCentro = new JToggleButton();
290
            bCentro.setPreferredSize(new java.awt.Dimension(28, 20));
291
            if (fframetext.getPos() == FFrameText.CENTER) {
292
                bCentro.setSelected(true);
293
                pos = FFrameText.CENTER;
294
            }
295

    
296
            bCentro.setIcon(icenterV);
297
            bCentro.addActionListener(new java.awt.event.ActionListener() {
298

    
299
                public void actionPerformed(java.awt.event.ActionEvent e) {
300
                    pos = FFrameText.CENTER;
301
                    // fframetext.setPos(FFrameText.CENTER);
302
                    getBIzquierda().setSelected(false);
303
                    getBCentro().setSelected(true);
304
                    getBDerecha().setSelected(false);
305
                }
306
            });
307
        }
308

    
309
        return bCentro;
310
    }
311

    
312
    /**
313
     * This method initializes bDerecha
314
     * 
315
     * @return javax.swing.JButton
316
     */
317
    private JToggleButton getBDerecha() {
318
        if (bDerecha == null) {
319
            bDerecha = new JToggleButton();
320
            bDerecha.setPreferredSize(new java.awt.Dimension(28, 20));
321
            if (fframetext.getPos() == FFrameText.RIGTH) {
322
                bDerecha.setSelected(true);
323
                pos = FFrameText.RIGTH;
324
            }
325

    
326
            bDerecha.setIcon(iright);
327
            bDerecha.addActionListener(new java.awt.event.ActionListener() {
328

    
329
                public void actionPerformed(java.awt.event.ActionEvent e) {
330
                    pos = FFrameText.RIGTH;
331
                    // fframetext.setPos(FFrameText.RIGTH);
332
                    getBIzquierda().setSelected(false);
333
                    getBCentro().setSelected(false);
334
                    getBDerecha().setSelected(true);
335
                }
336
            });
337
        }
338

    
339
        return bDerecha;
340
    }
341

    
342
    private AcceptCancelPanel getAcceptCancelPanel() {
343
        if (accept == null) {
344
            ActionListener okAction, cancelAction;
345
            okAction = new java.awt.event.ActionListener() {
346

    
347
                public void actionPerformed(java.awt.event.ActionEvent e) {
348
                    try {
349
                        newFFrameText = (FFrameText) fframetext.clone();
350
                        newFFrameText.setPos(pos);
351
                        newFFrameText.setBoundBox(FLayoutUtilities.toSheetRect(
352
                            rect, layoutPanel.getLayoutControl().getAT()));
353
                        newFFrameText.getText().clear();
354

    
355
                        for (int i = 0; i < getTaTexto().getLineCount(); i++) {
356
                            try {
357
                                String s =
358
                                    getTaTexto().getText(
359
                                        getTaTexto().getLineStartOffset(i),
360
                                        getTaTexto().getLineEndOffset(i)
361
                                            - getTaTexto()
362
                                                .getLineStartOffset(i));
363

    
364
                                if (!s.equals("")) { //$NON-NLS-1$
365
                                    newFFrameText.addText(s);
366
                                }
367
                            } catch (Exception ex) {
368
                            }
369
                        }
370
                        newFFrameText.setTextColor(textcolor);
371
                        // fframetext.setSizeFixed(!getChkEscalaVista().isSelected());
372

    
373
                        // jaume
374
                        boolean b = getChkSurroundingRectangle().isSelected();
375
                        newFFrameText
376
                            .setSurrounded(getChkSurroundingRectangle()
377
                                .isSelected());
378

    
379
                        if (b) {
380
                            // Hay rect�ngulo
381
                            newFFrameText
382
                                .setCellPadding(Double
383
                                    .parseDouble(getTxtCellPadding().getText()) / 100);
384
                            double i;
385
                            try {
386
                                i =
387
                                    Double.parseDouble(getTxtFrameSize()
388
                                        .getText());
389
                            } catch (Exception ex) {
390
                                i = 0;
391
                            }
392
                            if (i == 0) {
393
                                i = 1;
394
                            }
395
                            newFFrameText.setFrameBorderSize(i / 100);
396
                            newFFrameText.setFrameColor(frameColor);
397
                        }
398
                        b = getChkFontSize().isSelected();
399
                        newFFrameText.setFixedFontSize(b);
400

    
401
                        if (b) {
402
                            // El tama�o de la fuente es fijo
403
                            int i;
404
                            try {
405
                                i =
406
                                    Integer
407
                                        .parseInt(getTxtFontSize().getText());
408
                            } catch (Exception ex) {
409
                                i = 12;
410
                            }
411
                            newFFrameText.setFontSize(i);
412
                        }
413
                        newFFrameText.setFont(m_font);
414
                        b = getChkTitle().isSelected();
415
                        newFFrameText.setHasTitle(b);
416
                        if (b) {
417
                            // Hay t�tulo
418
                            newFFrameText.setTitle(getTxtTitle().getText());
419
                            int i;
420
                            try {
421
                                i =
422
                                    Integer.parseInt(getTxtTitleSize()
423
                                        .getText());
424
                            } catch (Exception ex) {
425
                                i = 12;
426
                            }
427
                            newFFrameText.setTitleSize(i);
428

    
429
                            newFFrameText.setTitleColor(titleColor);
430
                        }
431

    
432
                        newFFrameText.setRotation(getPRotation().getRotation());
433
                    } catch (CloneNotSupportedException e1) {
434
                        LOG.error("It is not possible clonate the object", e);
435
                    }
436
                    isAcepted = true;
437
                    PluginServices.getMDIManager().closeWindow(
438
                        FFrameTextDialog.this);
439
                    notifyDialogClosed();
440
                    layoutPanel.getLayoutControl().setDefaultTool();
441
                }
442
            };
443
            cancelAction = new java.awt.event.ActionListener() {
444

    
445
                public void actionPerformed(java.awt.event.ActionEvent e) {
446
                    newFFrameText = null;
447
                    PluginServices.getMDIManager().closeWindow(
448
                        FFrameTextDialog.this);
449
                    notifyDialogClosed();
450
                }
451
            };
452
            accept = new AcceptCancelPanel(okAction, cancelAction);
453
            accept.setPreferredSize(new java.awt.Dimension(300, 300));
454
            // accept.setBounds(new java.awt.Rectangle(243,387,160,28));
455
            accept.setEnabled(true);
456
            accept.setBounds(new java.awt.Rectangle(71, 410, 300, 32));
457
            accept.setVisible(true);
458
        }
459
        return accept;
460
    }
461

    
462
    /*
463
     * (non-Javadoc)
464
     * 
465
     * @see com.iver.mdiApp.ui.MDIManager.View#getViewInfo()
466
     */
467
    public WindowInfo getWindowInfo() {
468
        WindowInfo m_viewinfo = new WindowInfo(WindowInfo.MODALDIALOG);
469

    
470
        // vi.setResizable(false);
471
        m_viewinfo.setTitle(PluginServices.getText(this, "Propiedades_texto")); //$NON-NLS-1$
472

    
473
        return m_viewinfo;
474
    }
475

    
476
    /**
477
     * @see com.iver.cit.gvsig.gui.layout.fframes.dialogs.IFFrameDialog#getIsAcepted()
478
     */
479
    public boolean getIsAcepted() {
480
        return isAcepted;
481
    }
482

    
483
    /**
484
     * This method initializes bFuente
485
     * 
486
     * @return javax.swing.JButton
487
     */
488
    private javax.swing.JButton getBFuente() {
489
        if (bFuente == null) {
490
            bFuente = new javax.swing.JButton();
491
            bFuente.setBounds(158, 98, 78, 24);
492
            bFuente.setText(PluginServices.getText(this, "fuente")); //$NON-NLS-1$
493
            m_font = fframetext.getFont();
494
            bFuente.addActionListener(new java.awt.event.ActionListener() {
495

    
496
                public void actionPerformed(java.awt.event.ActionEvent e) {
497
                    Font font =
498
                        FontChooser.showDialog(
499
                            Messages.getText("__seleccion_de_fuente"),
500
                            m_font,
501
                            /* choose style */ true,
502
                            /* choose size */ false);
503
                    if (font != null) {
504
                        m_font = font; // fchoser=new
505
                        // FontChooser();
506
                        // //$NON-NLS-1$
507
                    }
508
                }
509
            });
510
        }
511

    
512
        return bFuente;
513
    }
514

    
515
    /**
516
     * @see com.iver.mdiApp.ui.MDIManager.IWindow#windowActivated()
517
     */
518
    public void viewActivated() {
519
    }
520

    
521
    /**
522
     * This method initializes chbSurroundingRectangle
523
     * 
524
     * @return javax.swing.JCheckBox
525
     * @author jaume
526
     */
527
    private JCheckBox getChkSurroundingRectangle() {
528
        if (chkSurroundingRectangle == null) {
529
            chkSurroundingRectangle = new JCheckBox();
530
            chkSurroundingRectangle.setText(PluginServices.getText(this,
531
                "usar_marco"));
532
            chkSurroundingRectangle.setSelected(fframetext.isSurrounded());
533
            chkSurroundingRectangle.setBounds(34, 20, 122, 19);
534
            chkSurroundingRectangle
535
                .addItemListener(new java.awt.event.ItemListener() {
536

    
537
                    public void itemStateChanged(java.awt.event.ItemEvent e) {
538
                        getTxtCellPadding().setEnabled(
539
                            getChkSurroundingRectangle().isSelected());
540
                        getTxtFrameSize().setEnabled(
541
                            getChkSurroundingRectangle().isSelected());
542
                    }
543
                });
544
        }
545
        return chkSurroundingRectangle;
546
    }
547

    
548
    /**
549
     * This method initializes txtCellPadding
550
     * 
551
     * @author jaume
552
     * 
553
     * @return javax.swing.JTextField
554
     */
555
    private JTextField getTxtCellPadding() {
556
        if (txtCellPadding == null) {
557
            txtCellPadding = new JTextField();
558
            txtCellPadding.setEnabled(fframetext.isSurrounded());
559
            txtCellPadding.setText(fframetext.getCellPadding() * 100 + "");
560
            txtCellPadding.setSize(60, 20);
561
            txtCellPadding.setLocation(149, 74);
562
            txtCellPadding.addKeyListener(new java.awt.event.KeyAdapter() {
563

    
564
                public void keyReleased(java.awt.event.KeyEvent e) {
565
                    ensureInteger(txtCellPadding);
566
                }
567
            });
568

    
569
        }
570
        return txtCellPadding;
571
    }
572

    
573
    /**
574
     * This method initializes chkFontSize
575
     * 
576
     * @return javax.swing.JCheckBox
577
     */
578
    private JCheckBox getChkFontSize() {
579
        if (chkFontSize == null) {
580
            chkFontSize = new JCheckBox();
581
            chkFontSize.setBounds(7, 160, 143, 19);
582
            chkFontSize.setText(PluginServices.getText(this, "tamanyo_fuente"));
583
            chkFontSize.setSelected(fframetext.isFontSizeFixed());
584
            chkFontSize.addItemListener(new java.awt.event.ItemListener() {
585

    
586
                public void itemStateChanged(java.awt.event.ItemEvent e) {
587
                    getTxtFontSize().setEnabled(getChkFontSize().isSelected());
588
                }
589
            });
590
        }
591
        return chkFontSize;
592
    }
593

    
594
    /**
595
     * This method initializes txtFontSize
596
     * 
597
     * @return javax.swing.JTextField
598
     */
599
    private JTextField getTxtFontSize() {
600
        if (txtFontSize == null) {
601
            txtFontSize = new JTextField();
602
            txtFontSize.setBounds(158, 162, 60, 17);
603
            txtFontSize.setEnabled(fframetext.isFontSizeFixed());
604
            if (txtFontSize.isEnabled()) {
605
                txtFontSize.setText(fframetext.getFontSize() + "");
606
            }
607
            txtFontSize.addKeyListener(new java.awt.event.KeyAdapter() {
608

    
609
                public void keyReleased(java.awt.event.KeyEvent e) {
610
                    ensureInteger(txtFontSize);
611
                }
612
            });
613
        }
614
        return txtFontSize;
615
    }
616

    
617
    /**
618
     * This method initializes chkTitle2
619
     * 
620
     * @return javax.swing.JCheckBox
621
     */
622
    private JCheckBox getChkTitle() {
623
        if (chkTitle == null) {
624
            chkTitle = new JCheckBox();
625
            chkTitle.setText(PluginServices.getText(this, "usar_titulo"));
626
            chkTitle.setSelected(fframetext.hasTitle());
627
            chkTitle.setBounds(36, 17, 118, 19);
628
            chkTitle.addChangeListener(new javax.swing.event.ChangeListener() {
629

    
630
                public void stateChanged(javax.swing.event.ChangeEvent e) {
631
                    getTxtTitle().setEnabled(chkTitle.isSelected());
632
                    getTxtTitleSize().setEnabled(chkTitle.isSelected());
633
                    jLabel3.setEnabled(chkTitle.isSelected());
634
                }
635
            });
636
        }
637
        return chkTitle;
638
    }
639

    
640
    /**
641
     * This method initializes txtTitle
642
     * 
643
     * @return javax.swing.JTextField
644
     */
645
    private JTextField getTxtTitle() {
646
        if (txtTitle == null) {
647
            txtTitle = new JTextField();
648
            txtTitle.setEnabled(fframetext.hasTitle());
649
            if (fframetext.hasTitle()) {
650
                txtTitle.setText(fframetext.getTitle());
651
            }
652
            txtTitle.setBounds(35, 39, 254, 20);
653
        }
654
        return txtTitle;
655
    }
656

    
657
    /**
658
     * This method initializes jPanel
659
     * 
660
     * @return javax.swing.JPanel
661
     */
662
    private JPanel getJPanel() {
663
        if (jPanel == null) {
664
            jPanel = new JPanel();
665
            jLabel3 = new JLabel();
666
            jPanel.setLayout(null);
667
            jPanel.setBounds(4, 294, 403, 89);
668
            jPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null,
669
                PluginServices.getText(this, "titulo_fframetext"),
670
                javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
671
                javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
672
            jLabel3.setBounds(35, 64, 170, 20);
673
            jLabel3.setText(PluginServices.getText(this, "tamanyo_fuente"));
674
            jLabel3.setEnabled(fframetext.hasTitle());
675
            jPanel.add(getTxtTitleSize(), null);
676
            jPanel.add(jLabel3, null);
677
            jPanel.add(getChkTitle(), null);
678
            jPanel.add(getTxtTitle(), null);
679
            jLabel4 = new JLabel();
680
            jLabel4.setBounds(245, 64, 96, 20);
681
            jPanel.add(jLabel4, null);
682
            jLabel4.setText(PluginServices.getText(this, "pixeles"));
683
            jPanel.add(getColorTitle(), null);
684
        }
685
        return jPanel;
686
    }
687

    
688
    /**
689
     * This method initializes txtTitleSize
690
     * 
691
     * @return javax.swing.JTextField
692
     */
693
    private JTextField getTxtTitleSize() {
694
        if (txtTitleSize == null) {
695
            txtTitleSize = new JTextField();
696
            txtTitleSize.setBounds(146, 65, 60, 20);
697
            txtTitleSize.setEnabled(fframetext.hasTitle());
698
            int i = fframetext.getTitleSize();
699
            if (i == 0 && !txtTitleSize.isEnabled()) {
700
                i = 5;
701
            }
702
            txtTitleSize.setText(i + "");
703
            txtTitleSize.addKeyListener(new java.awt.event.KeyAdapter() {
704

    
705
                public void keyReleased(java.awt.event.KeyEvent e) {
706
                    ensureInteger(txtTitleSize);
707
                }
708
            });
709
        }
710
        return txtTitleSize;
711
    }
712

    
713
    /**
714
     * Asegura cutremente que no se meten valores que no sean. El funcionamiento
715
     * consiste en si el �ltimo car�cter escrito no vale para formar un int
716
     * entonces se elimina.
717
     * 
718
     * enteros.
719
     * 
720
     * @param tf
721
     */
722
    private void ensureInteger(JTextField tf) {
723
        String s = tf.getText();
724
        try {
725
            Integer.parseInt(s);
726
        } catch (Exception e) {
727
            if (s.length() != 0) {
728
                tf.setText(s.substring(0, s.length() - 1));
729
            } else {
730
                tf.setText("");
731
            }
732
        }
733
    }
734

    
735
    /**
736
     * This method initializes jPanel1
737
     * 
738
     * @return javax.swing.JPanel
739
     */
740
    private JPanel getJPanel1() {
741
        if (jPanel1 == null) {
742
            jPanel1 = new JPanel();
743
            jLabel5 = new JLabel();
744
            jLabel6 = new JLabel();
745
            jLabel7 = new JLabel();
746
            jPanel1.setLayout(null);
747
            jPanel1.setBounds(5, 185, 403, 106);
748
            jPanel1.add(getTxtCellPadding(), null);
749
            jPanel1.add(getChkSurroundingRectangle(), null);
750
            jPanel1.add(jLabel, null);
751
            jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(
752
                null, PluginServices.getText(this, "marco"),
753
                javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
754
                javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
755
            jLabel5.setText(PluginServices.getText(this, "Milimetros"));
756
            jLabel5.setLocation(244, 46);
757
            jLabel5.setSize(110, 16);
758
            jLabel5.setPreferredSize(new java.awt.Dimension(40, 16));
759
            jLabel6.setBounds(34, 47, 204, 20);
760
            jLabel6.setText(PluginServices.getText(this, "tamanyo_borde"));
761
            jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
762
            jLabel7.setBounds(34, 73, 202, 20);
763
            jLabel7.setText(PluginServices.getText(this, "margenes"));
764
            jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
765
            jPanel1.add(getTxtFrameSize(), null);
766
            jPanel1.add(jLabel6, null);
767
            jPanel1.add(jLabel7, null);
768
            jPanel1.add(jLabel5, null);
769
            // jPanel1.add(getColorFrame(), null);
770
            jPanel1.add(getColorFrame(), null);
771
            jPanel1.add(getColorFrame(), null);
772
        }
773
        return jPanel1;
774
    }
775

    
776
    /**
777
     * This method initializes txtFrameSize
778
     * 
779
     * @return javax.swing.JTextField
780
     */
781
    private JTextField getTxtFrameSize() {
782
        if (txtFrameSize == null) {
783
            txtFrameSize = new JTextField();
784
            txtFrameSize.setEnabled(fframetext.isSurrounded());
785
            // if (txtFrameSize.isEnabled()){
786
            double i = fframetext.getFrameBorderSize() * 100;
787
            if (i == 0) {
788
                i = 1;
789
            }
790
            txtFrameSize.setText(i + "");
791
            // }
792
            txtFrameSize.setLocation(149, 47);
793
            txtFrameSize.setSize(60, 20);
794
        }
795
        return txtFrameSize;
796
    }
797

    
798
    /**
799
     * This method initializes jButton1
800
     * 
801
     * @return javax.swing.JButton
802
     */
803
    private ColorChooserPanel getColorFrame() {
804
        if (m_colorChooser == null) {
805
            m_colorChooser = new ColorChooserPanel();
806
            m_colorChooser.setAlpha(255);
807
            m_colorChooser.setBounds(new java.awt.Rectangle(155, 15, 80, 25));
808
            m_colorChooser
809
                .addActionListener(new java.awt.event.ActionListener() {
810

    
811
                    public void actionPerformed(ActionEvent e) {
812
                        frameColor = m_colorChooser.getColor();
813
                    }
814
                });
815
        }
816
        return m_colorChooser;
817
    }
818

    
819
    /**
820
     * This method initializes jButton1
821
     * 
822
     * @return javax.swing.JButton
823
     */
824
    private ColorChooserPanel getColorFont() {
825
        if (m_colorFont == null) {
826
            m_colorFont = new ColorChooserPanel();
827
            m_colorFont.setAlpha(255);
828
            m_colorFont.setLocation(new java.awt.Point(158, 129));
829
            m_colorFont.setSize(new java.awt.Dimension(80, 25));
830
            m_colorFont.addActionListener(new java.awt.event.ActionListener() {
831

    
832
                public void actionPerformed(ActionEvent e) {
833
                    textcolor = m_colorFont.getColor();
834
                }
835
            });
836
        }
837
        return m_colorFont;
838
    }
839

    
840
    /**
841
     * This method initializes jButton1
842
     * 
843
     * @return javax.swing.JButton
844
     */
845
    private ColorChooserPanel getColorTitle() {
846
        if (m_colorTitle == null) {
847
            m_colorTitle = new ColorChooserPanel();
848
            m_colorTitle.setAlpha(255);
849
            m_colorTitle.setBounds(new java.awt.Rectangle(155, 11, 80, 25));
850
            m_colorTitle.addActionListener(new java.awt.event.ActionListener() {
851

    
852
                public void actionPerformed(ActionEvent e) {
853
                    titleColor = m_colorTitle.getColor();
854
                }
855
            });
856
        }
857
        return m_colorTitle;
858
    }
859

    
860
    /**
861
     * This method initializes pRotation
862
     * 
863
     * @return javax.swing.JPanel
864
     */
865
    private JPRotation getPRotation() {
866
        if (pRotation == null) {
867
            pRotation = new JPRotation();
868
            pRotation.setBounds(281, 0, 125, 131);
869
        }
870
        return pRotation;
871
    }
872

    
873
    /**
874
     * This method initializes jPanel21
875
     * 
876
     * @return javax.swing.JPanel
877
     */
878
    private JPanel getJPanel21() {
879
        if (jPanel21 == null) {
880
            jPanel21 = new JPanel();
881
            jPanel21.setBounds(new java.awt.Rectangle(6, 95, 126, 60));
882
            jPanel21.setBorder(javax.swing.BorderFactory.createTitledBorder(
883
                null, PluginServices.getText(this, "alinear"),
884
                javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
885
                javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
886
            jPanel21.add(getBIzquierda(), null);
887
            jPanel21.add(getBCentro(), null);
888
            jPanel21.add(getBDerecha(), null);
889
        }
890
        return jPanel21;
891
    }
892

    
893
    public IFFrame getFFrame() {
894
        return newFFrameText;
895
    }
896

    
897
    public Object getWindowProfile() {
898
        return WindowInfo.DIALOG_PROFILE;
899
    }
900

    
901
} // @jve:decl-index=0:visual-constraint="10,10"