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 java.util.*;
034:
035: import de.ug2t.kernel.*;
036:
037: /**
038: * @author Dirk
039: *
040: * date: 15.03.2004 project: WiSer-Framework
041: *
042: * <p>
043: * IUnRadioPanel is the common interface to radio-buttons. One Widget of this
044: * type contains one or more radio-buttons in a group
045: * </p>
046: */
047: public interface IUnRadioPanel extends IUnContainer, IUnLayouted,
048: IUnComponent, IUnInputComponent, IUnPanel {
049: /**
050: * @author Dirk
051: *
052: * date: 29.05.2007 project: WiSer-Framework
053: *
054: * <p>
055: * Factory is a convenience class to create components of the surrounding
056: * interface's type without taking care for the WidgetServer MultiChannel API.
057: * It's use is similar to a constructor.
058: * </p>
059: */
060: public static class Factory {
061: /**
062: * Creates a standard version of this component as described in the factory.
063: * If you create masses of components for e.g. within a renderer use
064: * <i> create(IUnApplication xAppl)</i> for performance
065: * reasons.
066: *
067: * @param xFirstLabel
068: * label of the forst button in the panel
069: * @return new component
070: */
071: public static IUnRadioPanel create(String xFirstLabel) {
072: IUnApplication l_appl = (IUnApplication) KeRegisteredObject
073: .pcmf_getObjByName(IUnApplication.MY_APPL);
074: return (l_appl.pcmf_getComponentFactory()
075: .pcmf_createRadioButtons(l_appl.pcmf_getApplType(),
076: "", IUnRadioButton.NOTCHECKED, xFirstLabel,
077: false, l_appl));
078: }
079:
080: /**
081: * Creates a special version of this component as described in the factory
082: * configuration under the descriptor xFactoryDesc. If you create masses of
083: * components for e.g. within a renderer use <i>
084: * create(IUnApplication xAppl, String xFactoryDesc)</i> for performance
085: * reasons.
086: *
087: * @param xFirstLabel
088: * label of the forst button in the panel
089: * @param xFactoryDesc
090: * descriptor
091: * @return new component
092: */
093: public static IUnRadioPanel create(String xFirstLabel,
094: String xFactoryDesc) {
095: IUnApplication l_appl = (IUnApplication) KeRegisteredObject
096: .pcmf_getObjByName(IUnApplication.MY_APPL);
097: return (l_appl.pcmf_getComponentFactory()
098: .pcmf_createRadioButtonsPlugin(l_appl
099: .pcmf_getApplType(), "",
100: IUnRadioButton.NOTCHECKED, xFirstLabel,
101: false, l_appl, xFactoryDesc));
102: }
103:
104: /**
105: * Creates a standard version of this component as described in the factory
106: * within the given application-context. If you create masses of components
107: * for e.g. within a renderer use this method for performance reasons.
108: *
109: * @param xFirstLabel
110: * label of the forst button in the panel
111: * @param xAppl
112: * application in which context the component is created
113: * @return new component
114: */
115: public static IUnRadioPanel create(String xFirstLabel,
116: IUnApplication xAppl) {
117: return (xAppl.pcmf_getComponentFactory()
118: .pcmf_createRadioButtons(xAppl.pcmf_getApplType(),
119: "", IUnRadioButton.NOTCHECKED, xFirstLabel,
120: false, xAppl));
121: }
122:
123: /**
124: * Creates a special version of this component as described in the factory
125: * configuration under the descriptor xFactoryDesc. If you create masses of
126: * components for e.g. within a renderer use this function for performance
127: * reasons.
128: *
129: * @param xFirstLabel
130: * label of the forst button in the panel
131: * @param xFactoryDesc
132: * descriptor
133: * @param xAppl
134: * application in which context the component is created
135: * @return new component
136: */
137: public static IUnRadioPanel create(String xFirstLabel,
138: IUnApplication xAppl, String xFactoryDesc) {
139: return (xAppl.pcmf_getComponentFactory()
140: .pcmf_createRadioButtonsPlugin(xAppl
141: .pcmf_getApplType(), "",
142: IUnRadioButton.NOTCHECKED, xFirstLabel,
143: false, xAppl, xFactoryDesc));
144: }
145: }
146:
147: /**
148: * <p>
149: * Adds a value/string combination to the list. The string is represented on
150: * the screen. In case of selection of one value the radio-buttons's internal
151: * value is beeing set to the corresponding value
152: * </p>
153: * <p>
154: *
155: * @return a reference to a node which represents a single radio-button
156: * </p>
157: * <p>
158: * @param xValue
159: * internal value
160: * @param xString
161: * string value
162: * </p>
163: */
164: public KeTreeNode pcmf_addValue(String xValue, String xString);
165:
166: /**
167: * <p>
168: * Removes a special value from the list. The corresponding screen-item is
169: * removed also
170: * </p>
171: * <p>
172: *
173: * </p>
174: * <p>
175: *
176: * @param xValue
177: * value to remove
178: * </p>
179: */
180: public void pcmf_removeValue(String xValue);
181:
182: /**
183: * <p>
184: * Removes all values from the radio-buttons object
185: * </p>
186: * <p>
187: *
188: * </p>
189: * <p>
190: * </p>
191: */
192: public void pcmf_removeAllValues();
193:
194: /**
195: * <p>
196: * Gets all items collected in a HashMap. The values are stored within the
197: * map's key values while the screen-items are stored within the map's values
198: * </p>
199: * <p>
200: *
201: * @return a Type with
202: * </p>
203: * <p>
204: * </p>
205: */
206: public HashMap pcmf_getValues();
207: };
|