KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > it > businesslogic > ireport > gui > sheet > FontSheetProperty


1 /*
2  * Copyright (C) 2005 - 2006 JasperSoft Corporation. All rights reserved.
3  * http://www.jaspersoft.com.
4  *
5  * Unless you have purchased a commercial license agreement from JasperSoft,
6  * the following license terms apply:
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as published by
10  * the Free Software Foundation.
11  *
12  * This program is distributed WITHOUT ANY WARRANTY; and without the
13  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14  * See the 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, see http://www.gnu.org/licenses/gpl.txt
18  * or write to:
19  *
20  * Free Software Foundation, Inc.,
21  * 59 Temple Place - Suite 330,
22  * Boston, MA USA 02111-1307
23  *
24  *
25  *
26  *
27  * FontSheetProperty.java
28  *
29  * Created on 16 febbraio 2005, 19.13
30  *
31  */

32
33 package it.businesslogic.ireport.gui.sheet;
34
35 import it.businesslogic.ireport.IReportFont;
36 import java.util.*;
37 import javax.swing.*;
38
39 public class FontSheetProperty extends SheetProperty {
40     
41     private FontSheetPropertyComponent editor = null;
42     
43     public FontSheetProperty(String JavaDoc key, String JavaDoc name) {
44         super( key, name, SheetProperty.STRING, "");
45     }
46     
47     public JComponent getEditor()
48     {
49         if (editor != null) return editor;
50         editor = new FontSheetPropertyComponent();
51         editor.addActionListener( this );
52         return editor;
53     }
54     
55     public Object JavaDoc getEditorValue(JComponent component)
56     {
57         return editor.getIreportFont();
58     }
59     
60     public void actionPerformed(java.awt.event.ActionEvent JavaDoc event)
61     {
62         super.actionPerformed(event);
63         updateLabel();
64     }
65     
66     
67     public void setEditorValue(JComponent component, Object JavaDoc value)
68     {
69         try {
70             getEditor(); // In this way we are sure that editor is not null.
71
editor.setIreportFont((it.businesslogic.ireport.IReportFont)value);
72         } catch (Exception JavaDoc ex) {}
73     }
74     
75     public void setFontMode( int mode)
76     {
77         try {
78             getEditor(); // In this way we are sure that editor is not null.
79
editor.setFontMode( mode );
80         } catch (Exception JavaDoc ex) {}
81     }
82     
83     
84     /**
85      * The font propery is ever not null. We should check in in the IReportFont there is something
86      * of set or not...
87      */

88     public void updateLabel()
89     {
90         try {
91                 if (getLabelComponent() != null)
92                 {
93                     boolean allNullValue = true;
94                     
95                     IReportFont ifont = (IReportFont)getValue();
96                     
97                     if (ifont != null)
98                     {
99                         Iterator i_keys = ifont.getBeanProperties().keySet().iterator();
100
101                         while (i_keys.hasNext())
102                         {
103                             Object JavaDoc key = i_keys.next();
104                             if (ifont.getBeanProperties().get(key) != null)
105                             {
106                                 allNullValue = false;
107                                 break;
108                             }
109                         }
110                     }
111                     
112                     java.awt.Font JavaDoc f = getLabelComponent().getFont();
113                     java.awt.Font JavaDoc f2 = new java.awt.Font JavaDoc( f.getName(), (allNullValue || this.isReadOnly() || !isShowResetButton()) ? 0 : java.awt.Font.BOLD, f.getSize());
114                     getLabelComponent().setFont(f2);
115                     if (this.isReadOnly())
116                     {
117                         getLabelComponent().setEnabled( false );
118                     }
119                     else
120                     {
121                          getLabelComponent().setEnabled( true );
122                     }
123                     
124                     
125                     getLabelComponent().updateUI();
126                 }
127             } catch (Exception JavaDoc ex)
128             {
129
130             }
131         }
132
133 }
134
Popular Tags