Statistics
| Revision:

svn-gvsig-desktop / trunk / applications / appgvSIG / src / com / iver / cit / gvsig / project / documents / layout / fframes / gui / dialogs / FFrameTextDialog.java @ 10626

History | View | Annotate | Download (23.9 KB)

1
/*
2
 * Created on 22-jun-2004
3
 *
4
 */
5
/* 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
package com.iver.cit.gvsig.project.documents.layout.fframes.gui.dialogs;
46

    
47
import java.awt.BorderLayout;
48
import java.awt.Color;
49
import java.awt.Font;
50
import java.awt.event.ActionEvent;
51
import java.awt.event.ActionListener;
52
import java.awt.geom.Rectangle2D;
53

    
54
import javax.swing.ImageIcon;
55
import javax.swing.JCheckBox;
56
import javax.swing.JLabel;
57
import javax.swing.JPanel;
58
import javax.swing.JTextField;
59
import javax.swing.JToggleButton;
60

    
61
import org.gvsig.gui.beans.AcceptCancelPanel;
62

    
63
import com.iver.andami.PluginServices;
64
import com.iver.andami.ui.mdiManager.WindowInfo;
65
import com.iver.cit.gvsig.AddLayer;
66
import com.iver.cit.gvsig.gui.panels.ColorChooserPanel;
67
import com.iver.cit.gvsig.gui.utils.FontChooser;
68
import com.iver.cit.gvsig.project.documents.layout.FLayoutUtilities;
69
import com.iver.cit.gvsig.project.documents.layout.fframes.FFrameText;
70
import com.iver.cit.gvsig.project.documents.layout.fframes.IFFrame;
71
import com.iver.cit.gvsig.project.documents.layout.fframes.gui.JPRotation;
72
import com.iver.cit.gvsig.project.documents.layout.gui.Layout;
73

    
74
/**
75
 * Dialogo para a?adir texto al Layout.
76
 *
77
 * @author Vicente Caballero Navarro
78
 */
79
public class FFrameTextDialog extends JPanel implements IFFrameDialog {
80
        public static final ImageIcon ileft = new ImageIcon(AddLayer.class
81
                        .getClassLoader().getResource("images/left.PNG")); //$NON-NLS-1$
82

    
83
        public static final ImageIcon icenterV = new ImageIcon(AddLayer.class
84
                        .getClassLoader().getResource("images/centerV.PNG")); //$NON-NLS-1$
85

    
86
        public static final ImageIcon iright = new ImageIcon(AddLayer.class
87
                        .getClassLoader().getResource("images/right.PNG")); //$NON-NLS-1$
88

    
89
        private javax.swing.JPanel jContentPane = null; // @jve:visual-info
90
                                                                                                        // decl-index=0
91
                                                                                                        // visual-constraint="593,10"
92

    
93
        private javax.swing.JScrollPane jScrollPane = null;
94

    
95
        private javax.swing.JTextArea taTexto = null;
96

    
97
        private JToggleButton bIzquierda = null;
98

    
99
        private JToggleButton bCentro = null;
100

    
101
        private JToggleButton bDerecha = null;
102

    
103
        private Layout m_layout = null;
104

    
105
        private Rectangle2D rect = new Rectangle2D.Double();
106

    
107
        private FFrameText fframetext = null; // new FFrameText();
108

    
109
        private boolean isAcepted = false;
110

    
111
        private javax.swing.JButton bFuente = null;
112

    
113
        private Color textcolor = null;
114

    
115
        private Color frameColor = null;
116

    
117
        private Color titleColor = null;
118

    
119
        private JCheckBox chkSurroundingRectangle = null;
120

    
121
        private JTextField txtCellPadding = null;
122

    
123
        private JLabel jLabel = null;
124

    
125
        private JCheckBox chkFontSize = null;
126

    
127
        private JTextField txtFontSize = null;
128

    
129
        private JCheckBox chkTitle = null;
130

    
131
        private JTextField txtTitle = null;
132

    
133
        private JPanel jPanel = null;
134

    
135
        private JTextField txtTitleSize = null;
136

    
137
        private JLabel jLabel3 = null;
138

    
139
        private JLabel jLabel4;
140

    
141
        private JPanel jPanel1 = null;
142

    
143
        private JTextField txtFrameSize = null;
144

    
145
        private JLabel jLabel5 = null;
146

    
147
        private JLabel jLabel6 = null;
148

    
149
        private JLabel jLabel7 = null;
150

    
151
        private JPRotation pRotation = null;
152

    
153
        private ColorChooserPanel m_colorChooser;
154

    
155
        private JPanel jPanel21 = null;
156

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

    
159
        private ColorChooserPanel m_colorTitle;
160

    
161
        private AcceptCancelPanel accept;
162

    
163
        private int pos = FFrameText.LEFT;
164

    
165
        private FFrameText newFFrameText = null;
166

    
167
        private Font m_font;
168

    
169
        /**
170
         * This is the default constructor
171
         *
172
         * @param layout
173
         *            Referencia al Layout.
174
         * @param fframe
175
         *            Referencia al fframe de texto.
176
         */
177
        public FFrameTextDialog(Layout layout, FFrameText fframe) {
178
                super();
179
                fframetext = fframe;
180
                m_layout = layout;
181
                textcolor = fframe.getTextColor();
182
                frameColor = fframe.getFrameColor();
183
                titleColor = fframe.getTitleColor();
184
                initialize();
185
        }
186

    
187
        /**
188
         * This method initializes this
189
         */
190
        private void initialize() {
191
                this.setLayout(new BorderLayout());
192
                this.setSize(419, 444);
193
                this.add(getJContentPane(), java.awt.BorderLayout.CENTER);
194
                getPRotation().setRotation(fframetext.getRotation());
195
        }
196

    
197
        /**
198
         * Inserta el rect?ngulo a ocupar por el fframe de texto.
199
         *
200
         * @param r
201
         *            Rect?ngulo.
202
         */
203
        public void setRectangle(Rectangle2D r) {
204
                rect.setRect(r);
205
        }
206

    
207
        /**
208
         * This method initializes jContentPane
209
         *
210
         * @return javax.swing.JPanel
211
         */
212
        private javax.swing.JPanel getJContentPane() {
213
                if (jContentPane == null) {
214
                        jLabel = new JLabel();
215
                        jContentPane = new javax.swing.JPanel();
216
                        jContentPane.setLayout(null);
217
                        jContentPane.add(getJScrollPane(), null);
218
                        // jContentPane.add(getJComboBox(), null);
219
                        // jContentPane.add(getJLabel2(), null);
220
                        jContentPane.add(getBFuente(), null);
221
                        jContentPane.add(getColorFont(), null);
222
                        jLabel.setText(PluginServices.getText(this, "Milimetros"));
223
                        jLabel.setSize(110, 16);
224
                        jLabel.setLocation(244, 74);
225
                        jContentPane.add(getJPanel1(), null);
226
                        jContentPane.add(getJPanel(), null);
227
                        jContentPane.add(getChkFontSize(), null);
228
                        jContentPane.add(getTxtFontSize(), null);
229
                        jContentPane.add(getPRotation(), null);
230
                        jContentPane.add(getJPanel21(), null);
231
                        // jContentPane.add(getAcceptCancelPanel(), null);
232
                        jContentPane.add(getAcceptCancelPanel(), null);
233
                }
234

    
235
                return jContentPane;
236
        }
237

    
238
        /**
239
         * This method initializes jScrollPane
240
         *
241
         * @return javax.swing.JScrollPane
242
         */
243
        private javax.swing.JScrollPane getJScrollPane() {
244
                if (jScrollPane == null) {
245
                        jScrollPane = new javax.swing.JScrollPane();
246
                        jScrollPane.setViewportView(getTaTexto());
247
                        jScrollPane.setSize(261, 83);
248
                        jScrollPane
249
                                        .setVerticalScrollBarPolicy(javax.swing.JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
250
                        jScrollPane.setLocation(5, 5);
251
                }
252

    
253
                return jScrollPane;
254
        }
255

    
256
        /**
257
         * This method initializes taTexto
258
         *
259
         * @return javax.swing.JTextArea
260
         */
261
        private javax.swing.JTextArea getTaTexto() {
262
                if (taTexto == null) {
263
                        taTexto = new javax.swing.JTextArea();
264

    
265
                        for (int i = 0; i < fframetext.getText().size(); i++) {
266
                                if (!((String) fframetext.getText().get(i)).equals("")) { //$NON-NLS-1$
267
                                        taTexto.append((String) fframetext.getText().get(i));
268
                                }
269
                        }
270
                }
271

    
272
                return taTexto;
273
        }
274

    
275
        /**
276
         * This method initializes bIzquierda
277
         *
278
         * @return javax.swing.JButton
279
         */
280
        private JToggleButton getBIzquierda() {
281
                if (bIzquierda == null) {
282
                        bIzquierda = new JToggleButton();
283
                        bIzquierda.setPreferredSize(new java.awt.Dimension(28, 20));
284
                        if (fframetext.getPos() == FFrameText.LEFT) {
285
                                bIzquierda.setSelected(true);
286
                                pos=FFrameText.LEFT;
287
                        }
288

    
289
                        bIzquierda.setIcon(ileft);
290
                        bIzquierda.addActionListener(new java.awt.event.ActionListener() {
291

    
292
                                public void actionPerformed(java.awt.event.ActionEvent e) {
293
                                        pos = FFrameText.LEFT;
294
                                        // fframetext.setPos(FFrameText.LEFT);
295
                                        getBIzquierda().setSelected(true);
296
                                        getBCentro().setSelected(false);
297
                                        getBDerecha().setSelected(false);
298
                                }
299
                        });
300
                }
301

    
302
                return bIzquierda;
303
        }
304

    
305
        /**
306
         * This method initializes bCentro
307
         *
308
         * @return javax.swing.JButton
309
         */
310
        private JToggleButton getBCentro() {
311
                if (bCentro == null) {
312
                        bCentro = new JToggleButton();
313
                        bCentro.setPreferredSize(new java.awt.Dimension(28, 20));
314
                        if (fframetext.getPos() == FFrameText.CENTER) {
315
                                bCentro.setSelected(true);
316
                                pos=FFrameText.CENTER;
317
                        }
318

    
319
                        bCentro.setIcon(icenterV);
320
                        bCentro.addActionListener(new java.awt.event.ActionListener() {
321
                                public void actionPerformed(java.awt.event.ActionEvent e) {
322
                                        pos = FFrameText.CENTER;
323
                                        // fframetext.setPos(FFrameText.CENTER);
324
                                        getBIzquierda().setSelected(false);
325
                                        getBCentro().setSelected(true);
326
                                        getBDerecha().setSelected(false);
327
                                }
328
                        });
329
                }
330

    
331
                return bCentro;
332
        }
333

    
334
        /**
335
         * This method initializes bDerecha
336
         *
337
         * @return javax.swing.JButton
338
         */
339
        private JToggleButton getBDerecha() {
340
                if (bDerecha == null) {
341
                        bDerecha = new JToggleButton();
342
                        bDerecha.setPreferredSize(new java.awt.Dimension(28, 20));
343
                        if (fframetext.getPos() == FFrameText.RIGTH) {
344
                                bDerecha.setSelected(true);
345
                                pos=FFrameText.RIGTH;
346
                        }
347

    
348
                        bDerecha.setIcon(iright);
349
                        bDerecha.addActionListener(new java.awt.event.ActionListener() {
350
                                public void actionPerformed(java.awt.event.ActionEvent e) {
351
                                        pos = FFrameText.RIGTH;
352
                                        // fframetext.setPos(FFrameText.RIGTH);
353
                                        getBIzquierda().setSelected(false);
354
                                        getBCentro().setSelected(false);
355
                                        getBDerecha().setSelected(true);
356
                                }
357
                        });
358
                }
359

    
360
                return bDerecha;
361
        }
362

    
363
        private AcceptCancelPanel getAcceptCancelPanel() {
364
                if (accept == null) {
365
                        ActionListener okAction, cancelAction;
366
                        okAction = new java.awt.event.ActionListener() {
367
                                public void actionPerformed(java.awt.event.ActionEvent e) {
368
                                        newFFrameText = (FFrameText) fframetext
369
                                                        .cloneFFrame(m_layout);
370
                                        newFFrameText.setPos(pos);
371
                                        newFFrameText.setBoundBox(FLayoutUtilities.toSheetRect(
372
                                                        rect, m_layout.getLayoutControl().getAT()));
373
                                        newFFrameText.getText().clear();
374

    
375
                                        for (int i = 0; i < getTaTexto().getLineCount(); i++) {
376
                                                try {
377
                                                        String s = getTaTexto().getText(
378
                                                                        getTaTexto().getLineStartOffset(i),
379
                                                                        getTaTexto().getLineEndOffset(i)
380
                                                                                        - getTaTexto()
381
                                                                                                        .getLineStartOffset(i));
382

    
383
                                                        if (!s.equals("")) { //$NON-NLS-1$
384
                                                                newFFrameText.addText(s);
385
                                                        }
386
                                                } catch (Exception ex) {
387
                                                }
388
                                        }
389
                                        newFFrameText.setTextColor(textcolor);
390
                                        // fframetext.setSizeFixed(!getChkEscalaVista().isSelected());
391

    
392
                                        // jaume
393
                                        boolean b = getChkSurroundingRectangle().isSelected();
394
                                        newFFrameText.setSurrounded(getChkSurroundingRectangle()
395
                                                        .isSelected());
396

    
397
                                        if (b) {
398
                                                // Hay rect?ngulo
399
                                                newFFrameText
400
                                                                .setCellPadding(Double
401
                                                                                .parseDouble(getTxtCellPadding()
402
                                                                                                .getText()) / 100);
403
                                                double i;
404
                                                try {
405
                                                        i = Double.parseDouble(getTxtFrameSize().getText());
406
                                                } catch (Exception ex) {
407
                                                        i = 0;
408
                                                }
409
                                                if (i == 0)
410
                                                        i = 1;
411
                                                newFFrameText.setFrameBorderSize(i / 100);
412
                                                newFFrameText.setFrameColor(frameColor);
413
                                        }
414
                                        b = getChkFontSize().isSelected();
415
                                        newFFrameText.setFixedFontSize(b);
416

    
417
                                        if (b) {
418
                                                // El tama?o de la fuente es fijo
419
                                                int i;
420
                                                try {
421
                                                        i = Integer.parseInt(getTxtFontSize().getText());
422
                                                } catch (Exception ex) {
423
                                                        i = 12;
424
                                                }
425
                                                newFFrameText.setFontSize(i);
426
                                        }
427
                                        newFFrameText.setFont(m_font);
428
                                        b = getChkTitle().isSelected();
429
                                        newFFrameText.setHasTitle(b);
430
                                        if (b) {
431
                                                // Hay t?tulo
432
                                                newFFrameText.setTitle(getTxtTitle().getText());
433
                                                int i;
434
                                                try {
435
                                                        i = Integer.parseInt(getTxtTitleSize().getText());
436
                                                } catch (Exception ex) {
437
                                                        i = 12;
438
                                                }
439
                                                newFFrameText.setTitleSize(i);
440

    
441
                                                newFFrameText.setTitleColor(titleColor);
442
                                        }
443

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

    
468
        /*
469
         * (non-Javadoc)
470
         *
471
         * @see com.iver.mdiApp.ui.MDIManager.View#getViewInfo()
472
         */
473
        public WindowInfo getWindowInfo() {
474
                WindowInfo m_viewinfo = new WindowInfo(WindowInfo.MODALDIALOG);
475

    
476
                // vi.setResizable(false);
477
                m_viewinfo.setTitle(PluginServices.getText(this, "Propiedades_texto")); //$NON-NLS-1$
478

    
479
                return m_viewinfo;
480
        }
481

    
482
        /**
483
         * @see com.iver.cit.gvsig.gui.layout.fframes.dialogs.IFFrameDialog#getIsAcepted()
484
         */
485
        public boolean getIsAcepted() {
486
                return isAcepted;
487
        }
488

    
489
        /**
490
         * This method initializes bFuente
491
         *
492
         * @return javax.swing.JButton
493
         */
494
        private javax.swing.JButton getBFuente() {
495
                if (bFuente == null) {
496
                        bFuente = new javax.swing.JButton();
497
                        bFuente.setBounds(158, 98, 78, 24);
498
                        bFuente.setText(PluginServices.getText(this, "fuente")); //$NON-NLS-1$
499
                        m_font=fframetext.getFont();
500
                        bFuente.addActionListener(new java.awt.event.ActionListener() {
501
                                public void actionPerformed(java.awt.event.ActionEvent e) {
502
                                        Font font = FontChooser.showDialog(PluginServices.getText(
503
                                                        this, "__seleccion_de_fuente"), m_font);
504
                                        if (font != null)
505
                                                m_font=font; // fchoser=new
506
                                                                                                        // FontChooser();
507
                                                                                                        // //$NON-NLS-1$
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
                                                public void itemStateChanged(java.awt.event.ItemEvent e) {
537
                                                        getTxtCellPadding().setEnabled(
538
                                                                        getChkSurroundingRectangle().isSelected());
539
                                                        getTxtFrameSize().setEnabled(
540
                                                                        getChkSurroundingRectangle().isSelected());
541
                                                }
542
                                        });
543
                }
544
                return chkSurroundingRectangle;
545
        }
546

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

    
567
                }
568
                return txtCellPadding;
569
        }
570

    
571
        /**
572
         * This method initializes chkFontSize
573
         *
574
         * @return javax.swing.JCheckBox
575
         */
576
        private JCheckBox getChkFontSize() {
577
                if (chkFontSize == null) {
578
                        chkFontSize = new JCheckBox();
579
                        chkFontSize.setBounds(7, 160, 143, 19);
580
                        chkFontSize.setText(PluginServices.getText(this, "tamanyo_fuente"));
581
                        chkFontSize.setSelected(fframetext.isFontSizeFixed());
582
                        chkFontSize.addItemListener(new java.awt.event.ItemListener() {
583
                                public void itemStateChanged(java.awt.event.ItemEvent e) {
584
                                        getTxtFontSize().setEnabled(getChkFontSize().isSelected());
585
                                }
586
                        });
587
                }
588
                return chkFontSize;
589
        }
590

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

    
612
        /**
613
         * This method initializes chkTitle2
614
         *
615
         * @return javax.swing.JCheckBox
616
         */
617
        private JCheckBox getChkTitle() {
618
                if (chkTitle == null) {
619
                        chkTitle = new JCheckBox();
620
                        chkTitle.setText(PluginServices.getText(this, "usar_titulo"));
621
                        chkTitle.setSelected(fframetext.hasTitle());
622
                        chkTitle.setBounds(36, 17, 118, 19);
623
                        chkTitle.addChangeListener(new javax.swing.event.ChangeListener() {
624
                                public void stateChanged(javax.swing.event.ChangeEvent e) {
625
                                        getTxtTitle().setEnabled(chkTitle.isSelected());
626
                                        getTxtTitleSize().setEnabled(chkTitle.isSelected());
627
                                        jLabel3.setEnabled(chkTitle.isSelected());
628
                                }
629
                        });
630
                }
631
                return chkTitle;
632
        }
633

    
634
        /**
635
         * This method initializes txtTitle
636
         *
637
         * @return javax.swing.JTextField
638
         */
639
        private JTextField getTxtTitle() {
640
                if (txtTitle == null) {
641
                        txtTitle = new JTextField();
642
                        txtTitle.setEnabled(fframetext.hasTitle());
643
                        if (fframetext.hasTitle())
644
                                txtTitle.setText(fframetext.getTitle());
645
                        txtTitle.setBounds(35, 39, 254, 20);
646
                }
647
                return txtTitle;
648
        }
649

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

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

    
705
        /**
706
         * Asegura cutremente que no se meten valores que no sean. El funcionamiento
707
         * consiste en si el ?ltimo car?cter escrito no vale para formar un int
708
         * entonces se elimina.
709
         *
710
         * enteros.
711
         *
712
         * @param tf
713
         */
714
        private void ensureInteger(JTextField tf) {
715
                String s = tf.getText();
716
                try {
717
                        Integer.parseInt(s);
718
                } catch (Exception e) {
719
                        if (s.length() != 0)
720
                                tf.setText(s.substring(0, s.length() - 1));
721
                        else
722
                                tf.setText("");
723
                }
724
        }
725

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

    
768
        /**
769
         * This method initializes txtFrameSize
770
         *
771
         * @return javax.swing.JTextField
772
         */
773
        private JTextField getTxtFrameSize() {
774
                if (txtFrameSize == null) {
775
                        txtFrameSize = new JTextField();
776
                        txtFrameSize.setEnabled(fframetext.isSurrounded());
777
                        // if (txtFrameSize.isEnabled()){
778
                        double i = fframetext.getFrameBorderSize() * 100;
779
                        if (i == 0)
780
                                i = 1;
781
                        txtFrameSize.setText(i + "");
782
                        // }
783
                        txtFrameSize.setLocation(149, 47);
784
                        txtFrameSize.setSize(60, 20);
785
                }
786
                return txtFrameSize;
787
        }
788

    
789
        /**
790
         * This method initializes jButton1
791
         *
792
         * @return javax.swing.JButton
793
         */
794
        private ColorChooserPanel getColorFrame() {
795
                if (m_colorChooser == null) {
796
                        m_colorChooser = new ColorChooserPanel();
797
                        m_colorChooser.setAlpha(255);
798
                        m_colorChooser.setBounds(new java.awt.Rectangle(155, 15, 80, 25));
799
                        m_colorChooser
800
                                        .addActionListener(new java.awt.event.ActionListener() {
801
                                                public void actionPerformed(ActionEvent e) {
802
                                                        frameColor = m_colorChooser.getColor();
803
                                                }
804
                                        });
805
                }
806
                return m_colorChooser;
807
        }
808

    
809
        /**
810
         * This method initializes jButton1
811
         *
812
         * @return javax.swing.JButton
813
         */
814
        private ColorChooserPanel getColorFont() {
815
                if (m_colorFont == null) {
816
                        m_colorFont = new ColorChooserPanel();
817
                        m_colorFont.setAlpha(255);
818
                        m_colorFont.setLocation(new java.awt.Point(158, 129));
819
                        m_colorFont.setSize(new java.awt.Dimension(80, 25));
820
                        m_colorFont.addActionListener(new java.awt.event.ActionListener() {
821
                                public void actionPerformed(ActionEvent e) {
822
                                        textcolor = m_colorFont.getColor();
823
                                }
824
                        });
825
                }
826
                return m_colorFont;
827
        }
828

    
829
        /**
830
         * This method initializes jButton1
831
         *
832
         * @return javax.swing.JButton
833
         */
834
        private ColorChooserPanel getColorTitle() {
835
                if (m_colorTitle == null) {
836
                        m_colorTitle = new ColorChooserPanel();
837
                        m_colorTitle.setAlpha(255);
838
                        m_colorTitle.setBounds(new java.awt.Rectangle(155, 11, 80, 25));
839
                        m_colorTitle.addActionListener(new java.awt.event.ActionListener() {
840
                                public void actionPerformed(ActionEvent e) {
841
                                        titleColor = m_colorTitle.getColor();
842
                                }
843
                        });
844
                }
845
                return m_colorTitle;
846
        }
847

    
848
        /**
849
         * This method initializes pRotation
850
         *
851
         * @return javax.swing.JPanel
852
         */
853
        private JPRotation getPRotation() {
854
                if (pRotation == null) {
855
                        pRotation = new JPRotation();
856
                        pRotation.setBounds(281, 0, 125, 131);
857
                }
858
                return pRotation;
859
        }
860

    
861
        /**
862
         * This method initializes jPanel21
863
         *
864
         * @return javax.swing.JPanel
865
         */
866
        private JPanel getJPanel21() {
867
                if (jPanel21 == null) {
868
                        jPanel21 = new JPanel();
869
                        jPanel21.setBounds(new java.awt.Rectangle(6, 95, 126, 60));
870
                        jPanel21.setBorder(javax.swing.BorderFactory.createTitledBorder(
871
                                        null, PluginServices.getText(this, "alinear"),
872
                                        javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
873
                                        javax.swing.border.TitledBorder.DEFAULT_POSITION, null,
874
                                        null));
875
                        jPanel21.add(getBIzquierda(), null);
876
                        jPanel21.add(getBCentro(), null);
877
                        jPanel21.add(getBDerecha(), null);
878
                }
879
                return jPanel21;
880
        }
881

    
882
        public IFFrame getFFrame() {
883
                return newFFrameText;
884
        }
885

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