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 @ 717

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, 480);
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
                    fireActionEvent(new ActionEvent(FFrameTextDialog.this, 1, "accept"));
442
                }
443
            };
444
            cancelAction = new java.awt.event.ActionListener() {
445

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

    
463
    /*
464
     * (non-Javadoc)
465
     * 
466
     * @see com.iver.mdiApp.ui.MDIManager.View#getViewInfo()
467
     */
468
    public WindowInfo getWindowInfo() {
469
        WindowInfo m_viewinfo = new WindowInfo(WindowInfo.MODALDIALOG);
470
        m_viewinfo.setTitle(PluginServices.getText(this, "Propiedades_texto")); //$NON-NLS-1$
471

    
472
        return m_viewinfo;
473
    }
474

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

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

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

    
511
        return bFuente;
512
    }
513

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

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

    
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(155, 74);
561
            txtCellPadding.addKeyListener(new java.awt.event.KeyAdapter() {
562

    
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

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

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

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

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

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

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

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

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

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

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

    
734
    /**
735
     * This method initializes jPanel1
736
     * 
737
     * @return javax.swing.JPanel
738
     */
739
    private JPanel getJPanel1() {
740
        if (jPanel1 == null) {
741
            jPanel1 = new JPanel();
742
            jLabel5 = new JLabel();
743
            jLabel6 = new JLabel();
744
            jLabel7 = new JLabel();
745
            jPanel1.setLayout(null);
746
            jPanel1.setBounds(5, 185, 403, 115);
747
            jPanel1.add(getTxtCellPadding(), null);
748
            jPanel1.add(getChkSurroundingRectangle(), null);
749
            jPanel1.add(jLabel, null);
750
            jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(
751
                null, PluginServices.getText(this, "marco"),
752
                javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
753
                javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
754
            jLabel5.setText(PluginServices.getText(this, "Milimetros"));
755
            jLabel5.setLocation(244, 46);
756
            jLabel5.setSize(110, 16);
757
            jLabel5.setPreferredSize(new java.awt.Dimension(40, 16));
758
            jLabel6.setBounds(34, 47, 204, 20);
759
            jLabel6.setText(PluginServices.getText(this, "tamanyo_borde"));
760
            jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
761
            jLabel7.setBounds(34, 73, 202, 20);
762
            jLabel7.setText(PluginServices.getText(this, "margenes"));
763
            jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
764
            jPanel1.add(getTxtFrameSize(), null);
765
            jPanel1.add(jLabel6, null);
766
            jPanel1.add(jLabel7, null);
767
            jPanel1.add(jLabel5, 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(155, 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, 30));
805
            m_colorChooser
806
                .addActionListener(new java.awt.event.ActionListener() {
807

    
808
                    public void actionPerformed(ActionEvent e) {
809
                        frameColor = m_colorChooser.getColor();
810
                    }
811
                });
812
        }
813
        return m_colorChooser;
814
    }
815

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

    
829
                public void actionPerformed(ActionEvent e) {
830
                    textcolor = m_colorFont.getColor();
831
                }
832
            });
833
        }
834
        return m_colorFont;
835
    }
836

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

    
849
                public void actionPerformed(ActionEvent e) {
850
                    titleColor = m_colorTitle.getColor();
851
                }
852
            });
853
        }
854
        return m_colorTitle;
855
    }
856

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

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

    
890
    public IFFrame getFFrame() {
891
        return newFFrameText;
892
    }
893

    
894
    public Object getWindowProfile() {
895
        return WindowInfo.DIALOG_PROFILE;
896
    }
897

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