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: 23.06.2004
039: *
040: * <p>
041: * Purpose: This is the common interface to the splitPane widget. A splitpane
042: * separates the screen into two parts divided by a movable slider.
043: * </p>
044: */
045: public interface IUnSplitPane extends IUnComponent {
046: public static final int HSPLIT = 1;
047: public static final int VSPLIT = 2;
048: public static final String FNAME = "FIRST";
049: public static final String SNAME = "SECOND";
050:
051: /**
052: * @author Dirk
053: *
054: * date: 29.05.2007 project: WiSer-Framework
055: *
056: * <p>
057: * Factory is a convenience class to create components of the surrounding interface's type without
058: * taking care for the WidgetServer MultiChannel API. It's use is similar to a
059: * constructor.
060: * </p>
061: */
062: public static class Factory {
063: /**
064: * Creates a standard version of this component as described in the factory.
065: * If you create masses of components for e.g. within a renderer use
066: * <i> create(IUnApplication xAppl)</i> for performance
067: * reasons.
068: *
069: * @return new component
070: */
071: public static IUnSplitPane create() {
072: IUnApplication l_appl = (IUnApplication) KeRegisteredObject
073: .pcmf_getObjByName(IUnApplication.MY_APPL);
074: return (l_appl.pcmf_getComponentFactory()
075: .pcmf_createSplitPane(l_appl.pcmf_getApplType(),
076: "", l_appl));
077: }
078:
079: /**
080: * Creates a special version of this component as described in the factory
081: * configuration under the descriptor xFactoryDesc. If you create masses of
082: * components for e.g. within a renderer use <i>
083: * create(IUnApplication xAppl, String xFactoryDesc)</i> for performance
084: * reasons.
085: *
086: * @param xFactoryDesc
087: * descriptor
088: * @return new component
089: */
090: public static IUnSplitPane create(String xFactoryDesc) {
091: IUnApplication l_appl = (IUnApplication) KeRegisteredObject
092: .pcmf_getObjByName(IUnApplication.MY_APPL);
093: return (l_appl.pcmf_getComponentFactory()
094: .pcmf_createSplitPanePlugin(l_appl
095: .pcmf_getApplType(), "", l_appl,
096: xFactoryDesc));
097: }
098:
099: /**
100: * Creates a standard version of this component as described in the factory
101: * within the given application-context. If you create masses of components
102: * for e.g. within a renderer use this method for performance reasons.
103: *
104: * @param xAppl
105: * application in which context the component is created
106: * @return new component
107: */
108: public static IUnSplitPane create(IUnApplication xAppl) {
109: return (xAppl.pcmf_getComponentFactory()
110: .pcmf_createSplitPane(xAppl.pcmf_getApplType(), "",
111: xAppl));
112: }
113:
114: /**
115: * Creates a special version of this component as described in the factory
116: * configuration under the descriptor xFactoryDesc. If you create masses of
117: * components for e.g. within a renderer use this function for performance
118: * reasons.
119: *
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 IUnSplitPane create(IUnApplication xAppl,
127: String xFactoryDesc) {
128: return (xAppl.pcmf_getComponentFactory()
129: .pcmf_createSplitPanePlugin(xAppl
130: .pcmf_getApplType(), "", xAppl,
131: xFactoryDesc));
132: }
133: }
134:
135: /**
136: * <p>
137: * Adds the first/upper form to the splitPane
138: * </p>
139: * <p>
140: *
141: * </p>
142: * <p>
143: *
144: * @param xForm
145: * reference to a form
146: * </p>
147: */
148: public void pcmf_addFirst(IUnForm xForm);
149:
150: /**
151: * <p>
152: * Adds the second/bottom form to the splitPane
153: * </p>
154: * <p>
155: *
156: * </p>
157: * <p>
158: *
159: * @param xForm
160: * reference to a form
161: * </p>
162: */
163: public void pcmf_addSecond(IUnForm xForm);
164:
165: /**
166: * <p>
167: * Removes the second/bottom form to the splitPane
168: * </p>
169: * <p>
170: *
171: * </p>
172: * <p>
173: * </p>
174: */
175: public void pcmf_removeFirst();
176:
177: /**
178: * <p>
179: * Removes the second/bottom form to the splitPane
180: * </p>
181: * <p>
182: *
183: * </p>
184: * <p>
185: * </p>
186: */
187: public void pcmf_removeSecond();
188:
189: /**
190: * <p>
191: * Sets the width in percent for the first/upper form
192: * </p>
193: * <p>
194: *
195: * </p>
196: * <p>
197: *
198: * @param xPercent
199: * percentage of the first form
200: * </p>
201: */
202: public void pcmf_setSplitPercent(int xPercent);
203:
204: /**
205: * <p>
206: * Sets the width in percent for slider
207: * </p>
208: * <p>
209: *
210: * </p>
211: * <p>
212: *
213: * @param xPercent
214: * percentage of the slider
215: * </p>
216: */
217: public void pcmf_setSliderPercent(int xPercent);
218:
219: /**
220: * <p>
221: * Gets the width in percent for slider
222: * </p>
223: * <p>
224: *
225: * @return percentage
226: * </p>
227: * <p>
228: * </p>
229: */
230: public int pcmf_getSliderPercent();
231:
232: /**
233: * <p>
234: * Sets whether the pane splits vertical or horizontal
235: * </p>
236: * <p>
237: *
238: * </p>
239: * <p>
240: *
241: * @param xSplit
242: * HSPLIT - horizontal VSPLIT - vertical
243: * </p>
244: */
245: public void pcmf_setSplitMode(int xSplit);
246:
247: /**
248: * <p>
249: * Gets the width in percent for the first/upper form
250: * </p>
251: * <p>
252: *
253: * @return percentage
254: * </p>
255: * <p>
256: * </p>
257: */
258: public int pcmf_getSplitPercent();
259:
260: /**
261: * <p>
262: * Gets whether the pane splits vertical or horizontal
263: * </p>
264: * <p>
265: *
266: * @return split mode HSPLIT - horizontal VSPLIT - vertical
267: * </p>
268: * <p>
269: * </p>
270: */
271: public int pcmf_getSplitMode();
272:
273: /**
274: * <p>
275: * Gets the slider size in pixel
276: * </p>
277: * <p>
278: *
279: * @return slider size in pixel
280: * </p>
281: * <p>
282: * </p>
283: */
284: public int pcmf_getSliderAbs();
285:
286: /**
287: * <p>
288: * Sets the slider size in pixel
289: * </p>
290: * <p>
291: * </p>
292: * <p>
293: * </p>
294: */
295: public void pcmf_setSliderAbs(int xPixel);
296: }
|