001: // @@
002: // @@
003: /*
004: * Wi.Ser Framework
005: *
006: * Version: 1.8.1, 20-September-2007
007: * Copyright (C) 2005 Dirk von der Weiden <dvdw@imail.de>
008: *
009: * This library is free software; you can redistribute it and/or
010: * modify it under the terms of the GNU Lesser General Public
011: * License as published by the Free Software Foundation; either
012: * version 2 of the License, or (at your option) any later version.
013: *
014: * This library is distributed in the hope that it will be useful,
015: * but WITHOUT ANY WARRANTY; without even the implied warranty of
016: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
017: * Lesser General Public License for more details.
018: *
019: * You should have received a copy of the GNU Lesser General Public
020: * License along with this library located in LGPL.txt in the
021: * license directory; if not, write to the
022: * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
023: * Boston, MA 02111-1307, USA.
024: *
025: * If this agreement does not cover your requirements, please contact us
026: * via email to get detailed information about the commercial license
027: * or our service offerings!
028: *
029: */
030: // @@
031: package de.ug2t.unifiedGui.interfaces;
032:
033: import de.ug2t.kernel.*;
034:
035: /**
036: * @author Dirk
037: *
038: * date: 15.03.2004 project: WiSer-Framework
039: *
040: * <p>
041: * IUnLabel is the common interface to a label
042: * </p>
043: */
044: public interface IUnLabel extends IUnIconView, IUnComponent {
045: /**
046: * @author Dirk
047: *
048: * date: 29.05.2007 project: WiSer-Framework
049: *
050: * <p>
051: * Factory is a convenience class to create components of the surrounding
052: * interface's type without taking care for the WidgetServer MultiChannel API.
053: * It's use is similar to a constructor.
054: * </p>
055: */
056: public static class Factory {
057: /**
058: * Creates a standard version of this component as described in the factory.
059: * If you create masses of components for e.g. within a renderer use
060: * <i> create(IUnApplication xAppl)</i> for performance
061: * reasons.
062: *
063: * @param xLabel
064: * the label to display
065: * @return new component
066: */
067: public static IUnLabel create(String xLabel) {
068: IUnApplication l_appl = (IUnApplication) KeRegisteredObject
069: .pcmf_getObjByName(IUnApplication.MY_APPL);
070: return (l_appl.pcmf_getComponentFactory().pcmf_createText(
071: l_appl.pcmf_getApplType(), "", xLabel, l_appl));
072: }
073:
074: /**
075: * Creates a special version of this component as described in the factory
076: * configuration under the descriptor xFactoryDesc. If you create masses of
077: * components for e.g. within a renderer use <i>
078: * create(IUnApplication xAppl, String xFactoryDesc)</i> for performance
079: * reasons.
080: *
081: * @param xLabel
082: * the label to display
083: * @param xFactoryDesc
084: * descriptor
085: * @return new component
086: */
087: public static IUnLabel create(String xLabel, String xFactoryDesc) {
088: IUnApplication l_appl = (IUnApplication) KeRegisteredObject
089: .pcmf_getObjByName(IUnApplication.MY_APPL);
090: return (l_appl.pcmf_getComponentFactory()
091: .pcmf_createTextPlugin(l_appl.pcmf_getApplType(),
092: "", xLabel, l_appl, xFactoryDesc));
093: }
094:
095: /**
096: * Creates a standard version of this component as described in the factory
097: * within the given application-context. If you create masses of components
098: * for e.g. within a renderer use this method for performance reasons.
099: *
100: * @param xLabel
101: * the label to display
102: * @param xAppl
103: * application in which context the component is created
104: * @return new component
105: */
106: public static IUnLabel create(String xLabel,
107: IUnApplication xAppl) {
108: return (xAppl.pcmf_getComponentFactory().pcmf_createText(
109: xAppl.pcmf_getApplType(), "", xLabel, xAppl));
110: }
111:
112: /**
113: * Creates a special version of this component as described in the factory
114: * configuration under the descriptor xFactoryDesc. If you create masses of
115: * components for e.g. within a renderer use this function for performance
116: * reasons.
117: *
118: * @param xLabel
119: * the label to display
120: * @param xFactoryDesc
121: * descriptor
122: * @param xAppl
123: * application in which context the component is created
124: * @return new component
125: */
126: public static IUnLabel create(String xLabel,
127: IUnApplication xAppl, String xFactoryDesc) {
128: return (xAppl.pcmf_getComponentFactory()
129: .pcmf_createTextPlugin(xAppl.pcmf_getApplType(),
130: "", xLabel, xAppl, xFactoryDesc));
131: }
132: }
133:
134: /**
135: * <p>
136: * Sets whether the text is forced to be inlined or not Inline is true by
137: * default. But when a fixed size is applied the framework renders the label
138: * as a block. This function overrules that behaviour.
139: * </p>
140: * <p>
141: *
142: * </p>
143: * <p>
144: *
145: * @param xInline
146: * inline flag
147: * </p>
148: */
149: public void pcmf_forceInline(boolean xInline);
150:
151: /**
152: * <p>
153: * Gets whether the text is forced to be inlined or not
154: * </p>
155: * <p>
156: *
157: * </p>
158: * <p>
159: *
160: * @return inline flag
161: * </p>
162: */
163: public boolean pcmf_isInlineForced();
164:
165: /**
166: * <p>
167: * Sets whether the text is dynamic. This means it is automatically rerendered
168: * whenever its value object's content changes. Default is true;
169: * </p>
170: * <p>
171: *
172: * </p>
173: * <p>
174: *
175: * @param xDyn
176: * dynamic flag
177: * </p>
178: */
179: public void pcmf_setDynamic(boolean xDyn);
180:
181: /**
182: * <p>
183: * Gets whether the text is dynamic. This means it is automatically rerendered
184: * whenever its value object's content changes. Default is true;
185: * </p>
186: * <p>
187: *
188: * </p>
189: * <p>
190: *
191: * @return dynamic flag
192: * </p>
193: */
194: public boolean pcmf_isDynamic();
195:
196: /**
197: * <p>
198: * Sets the text alignment to EAST or WEST
199: * </p>
200: * <p>
201: *
202: * </p>
203: * <p>
204: *
205: * @param xAlign
206: * Alignment can be ALIGN_EAST, ALIGN_CENTER or ALIGN_WEST
207: * </p>
208: */
209: public void pcmf_setTextAlign(int xAlign);
210:
211: /**
212: * <p>
213: * Gets the text alignment mode
214: * </p>
215: * <p>
216: *
217: * @return ALIGN_EAST, ALIGN_CENTER or ALIGN_WEST
218: * </p>
219: * <p>
220: * </p>
221: */
222: public int pcmf_getTextAlign();
223: }
|