KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > gumby > widgets > Td


1 package org.sapia.gumby.widgets;
2
3 import java.awt.Component JavaDoc;
4 import java.awt.GridBagConstraints JavaDoc;
5 import java.awt.Insets JavaDoc;
6
7 import org.sapia.util.xml.confix.ConfigurationException;
8 import org.sapia.util.xml.confix.ObjectCreationCallback;
9 import org.sapia.util.xml.confix.ObjectHandlerIF;
10
11 /**
12  * @author Yanick Duchesne
13  *
14  * <dl>
15  * <dt><b>Copyright: </b>
16  * <dd>Copyright &#169; 2002-2005 <a HREF="http://www.sapia-oss.org">Sapia Open
17  * Source Software </a>. All Rights Reserved.</dd>
18  * </dt>
19  * <dt><b>License: </b>
20  * <dd>Read the license.txt file of the jar or visit the <a
21  * HREF="http://www.sapia-oss.org/license.html">license page </a> at the Sapia
22  * OSS web site</dd>
23  * </dt>
24  * </dl>
25  */

26 public class Td implements ObjectCreationCallback, ObjectHandlerIF {
27
28   public static final String JavaDoc CENTER = "center";
29   public static final String JavaDoc LEFT = "left";
30   public static final String JavaDoc RIGHT = "right";
31
32   private static final int CENTER_INT = 0;
33   private static final int LEFT_INT = 1;
34   private static final int RIGHT_INT = 2;
35
36   public static final String JavaDoc TOP = "top";
37   public static final String JavaDoc MIDDLE = "middle";
38   public static final String JavaDoc BOTTOM = "bottom";
39
40   private static final int TOP_INT = 0;
41   private static final int MIDDLE_INT = 1;
42   private static final int BOTTOM_INT = 2;
43
44   private static int[][] ALIGN_MATRIX = new int[3][3];
45
46   private int _valign = MIDDLE_INT;
47   private int _align = CENTER_INT;
48
49   private Component JavaDoc _comp;
50
51   static {
52     // top
53
ALIGN_MATRIX[TOP_INT][LEFT_INT] = GridBagConstraints.NORTHWEST;
54     ALIGN_MATRIX[TOP_INT][CENTER_INT] = GridBagConstraints.NORTH;
55     ALIGN_MATRIX[TOP_INT][RIGHT_INT] = GridBagConstraints.NORTHEAST;
56     // middle
57
ALIGN_MATRIX[MIDDLE_INT][LEFT_INT] = GridBagConstraints.WEST;
58     ALIGN_MATRIX[MIDDLE_INT][CENTER_INT] = GridBagConstraints.CENTER;
59     ALIGN_MATRIX[MIDDLE_INT][RIGHT_INT] = GridBagConstraints.EAST;
60     // bottom
61
ALIGN_MATRIX[BOTTOM_INT][LEFT_INT] = GridBagConstraints.SOUTHWEST;
62     ALIGN_MATRIX[BOTTOM_INT][CENTER_INT] = GridBagConstraints.SOUTH;
63     ALIGN_MATRIX[BOTTOM_INT][RIGHT_INT] = GridBagConstraints.SOUTHEAST;
64   }
65
66   private GridBagConstraints JavaDoc _cons = new GridBagConstraints JavaDoc();
67
68   public Td() {
69   }
70
71   public void setColspan(int colspan) {
72     _cons.gridwidth = colspan;
73   }
74
75   public void setCellpadding(int padding) {
76     setPad(padding);
77   }
78
79   public void setPad(int padding) {
80     _cons.ipadx = padding;
81     _cons.ipady = padding;
82   }
83
84   public void setPadx(int padding) {
85     _cons.ipadx = padding;
86   }
87
88   public void setPady(int padding) {
89     _cons.ipady = padding;
90   }
91
92   public void setWeight(double weight) {
93     _cons.weightx = weight;
94   }
95
96   public void setAlign(String JavaDoc align) {
97     if(align.equals(LEFT)) {
98       _align = LEFT_INT;
99     } else if(align.equals(RIGHT)) {
100       _align = RIGHT_INT;
101     } else {
102       _align = CENTER_INT;
103     }
104   }
105
106   public void setValign(String JavaDoc valign) {
107     if(valign.equals(TOP)) {
108       _valign = TOP_INT;
109     } else if(valign.equals(BOTTOM)) {
110       _valign = BOTTOM_INT;
111     } else {
112       _valign = MIDDLE_INT;
113     }
114   }
115
116   public void setComponent(Component JavaDoc comp) {
117     _comp = comp;
118   }
119
120   public Component JavaDoc getComponent() {
121     return _comp;
122   }
123
124   /**
125    * @see org.sapia.util.xml.confix.ObjectCreationCallback#onCreate()
126    */

127   public Object JavaDoc onCreate() throws ConfigurationException {
128     _cons.anchor = ALIGN_MATRIX[_valign][_align];
129     return this;
130   }
131
132   public GridBagConstraints JavaDoc getConstraints() {
133     return _cons;
134   }
135
136   /**
137    * @see org.sapia.util.xml.confix.ObjectHandlerIF#handleObject(java.lang.String,
138    * java.lang.Object)
139    */

140   public void handleObject(String JavaDoc name, Object JavaDoc obj)
141       throws ConfigurationException {
142     if(obj instanceof Component JavaDoc) {
143       setComponent((Component JavaDoc) obj);
144     } else if(obj instanceof Insets JavaDoc) {
145       _cons.insets = (Insets JavaDoc) obj;
146     } else {
147       throw new ConfigurationException("Expected instance of "
148           + Component JavaDoc.class.getName() + "; got: " + obj.getClass().getName());
149     }
150   }
151
152 }
153
Popular Tags