Statistics
| Revision:

root / branches / v2_0_0_prep / applications / appgvSIG / src / org / gvsig / app / project / documents / layout / fframes / gui / dialogs / FFrameTextDialog.java @ 29596

History | View | Annotate | Download (23.8 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 org.gvsig.app.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.andami.PluginServices;
62
import org.gvsig.andami.ui.mdiManager.WindowInfo;
63
import org.gvsig.app.gui.panels.ColorChooserPanel;
64
import org.gvsig.app.gui.utils.FontChooser;
65
import org.gvsig.app.project.documents.layout.FLayoutUtilities;
66
import org.gvsig.app.project.documents.layout.fframes.FFrameText;
67
import org.gvsig.app.project.documents.layout.fframes.IFFrame;
68
import org.gvsig.app.project.documents.layout.fframes.gui.JPRotation;
69
import org.gvsig.app.project.documents.layout.gui.Layout;
70
import org.gvsig.gui.beans.AcceptCancelPanel;
71

    
72

    
73
/**
74
 * Dialogo para a�adir texto al Layout.
75
 *
76
 * @author Vicente Caballero Navarro
77
 */
78
public class FFrameTextDialog extends JPanel implements IFFrameDialog {
79
        public static final ImageIcon ileft = PluginServices.getIconTheme()
80
                .get("text-left-icon");
81

    
82
        public static final ImageIcon icenterV = PluginServices.getIconTheme()
83
                        .get("text-center-v-icon");
84

    
85
        public static final ImageIcon iright = PluginServices.getIconTheme()
86
                        .get("text-right-icon");
87

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

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

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

    
96
        private JToggleButton bIzquierda = null;
97

    
98
        private JToggleButton bCentro = null;
99

    
100
        private JToggleButton bDerecha = null;
101

    
102
        private Layout m_layout = null;
103

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

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

    
108
        private boolean isAcepted = false;
109

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

    
112
        private Color textcolor = null;
113

    
114
        private Color frameColor = null;
115

    
116
        private Color titleColor = null;
117

    
118
        private JCheckBox chkSurroundingRectangle = null;
119

    
120
        private JTextField txtCellPadding = null;
121

    
122
        private JLabel jLabel = null;
123

    
124
        private JCheckBox chkFontSize = null;
125

    
126
        private JTextField txtFontSize = null;
127

    
128
        private JCheckBox chkTitle = null;
129

    
130
        private JTextField txtTitle = null;
131

    
132
        private JPanel jPanel = null;
133

    
134
        private JTextField txtTitleSize = null;
135

    
136
        private JLabel jLabel3 = null;
137

    
138
        private JLabel jLabel4;
139

    
140
        private JPanel jPanel1 = null;
141

    
142
        private JTextField txtFrameSize = null;
143

    
144
        private JLabel jLabel5 = null;
145

    
146
        private JLabel jLabel6 = null;
147

    
148
        private JLabel jLabel7 = null;
149

    
150
        private JPRotation pRotation = null;
151

    
152
        private ColorChooserPanel m_colorChooser;
153

    
154
        private JPanel jPanel21 = null;
155

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

    
158
        private ColorChooserPanel m_colorTitle;
159

    
160
        private AcceptCancelPanel accept;
161

    
162
        private int pos = FFrameText.LEFT;
163

    
164
        private FFrameText newFFrameText = null;
165

    
166
        private Font m_font;
167

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

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

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

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

    
234
                return jContentPane;
235
        }
236

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

    
252
                return jScrollPane;
253
        }
254

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

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

    
271
                return taTexto;
272
        }
273

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

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

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

    
301
                return bIzquierda;
302
        }
303

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

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

    
330
                return bCentro;
331
        }
332

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

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

    
359
                return bDerecha;
360
        }
361

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

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

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

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

    
396
                                        if (b) {
397
                                                // Hay rect�ngulo
398
                                                newFFrameText
399
                                                                .setCellPadding(Double
400
                                                                                .parseDouble(getTxtCellPadding()
401
                                                                                                .getText()) / 100);
402
                                                double i;
403
                                                try {
404
                                                        i = Double.parseDouble(getTxtFrameSize().getText());
405
                                                } catch (Exception ex) {
406
                                                        i = 0;
407
                                                }
408
                                                if (i == 0) {
409
                                                        i = 1;
410
                                                }
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

    
513
                return bFuente;
514
        }
515

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

    
522
        /**
523
         * This method initializes chbSurroundingRectangle
524
         *
525
         * @return javax.swing.JCheckBox
526
         * @author jaume
527
         */
528
        private JCheckBox getChkSurroundingRectangle() {
529
                if (chkSurroundingRectangle == null) {
530
                        chkSurroundingRectangle = new JCheckBox();
531
                        chkSurroundingRectangle.setText(PluginServices.getText(this,
532
                                        "usar_marco"));
533
                        chkSurroundingRectangle.setSelected(fframetext.isSurrounded());
534
                        chkSurroundingRectangle.setBounds(34, 20, 122, 19);
535
                        chkSurroundingRectangle
536
                                        .addItemListener(new java.awt.event.ItemListener() {
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
                                public void keyReleased(java.awt.event.KeyEvent e) {
564
                                        ensureInteger(txtCellPadding);
565
                                }
566
                        });
567

    
568
                }
569
                return txtCellPadding;
570
        }
571

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

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

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

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

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

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

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

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

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

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

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

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

    
854
        /**
855
         * This method initializes pRotation
856
         *
857
         * @return javax.swing.JPanel
858
         */
859
        private JPRotation getPRotation() {
860
                if (pRotation == null) {
861
                        pRotation = new JPRotation();
862
                        pRotation.setBounds(281, 0, 125, 131);
863
                }
864
                return pRotation;
865
        }
866

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

    
888
        public IFFrame getFFrame() {
889
                return newFFrameText;
890
        }
891

    
892
        public Object getWindowProfile() {
893
                return WindowInfo.DIALOG_PROFILE;
894
        }
895

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