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: import de.ug2t.unifiedGui.*;
035:
036: /**
037: * @author Dirk
038: *
039: * date: 25.01.2004 project: WiSer-Framework
040: *
041: * <p>
042: * IUnPage is the common interface to gui pages. A gui page is one of probably
043: * several pages of an application. Each page is an container which consists of
044: * different widgets. In MDI mode an application can show more than one page at
045: * one time. In SDI mode only one page is showed by an application window at one
046: * time.
047: * </p>
048: */
049: public interface IUnPage extends IUnIconView, IUnContainer,
050: IUnLayouted, IUnComponent, IUnGuiEventListener, IUnPanel {
051: public static final String PAGE_CLOSED = "CLOSED";
052: public static final String PAGE_CLOSING = "CLOSING";
053: public static final String PAGE_ACTIVATED = "ACTIVATED";
054: public static final String PAGE_ICONIFIED = "ICONIFIED";
055: public static final String PAGE_DEICONIFIED = "DEICONIFIED";
056: public static final String PAGE_DEACTIVATED = "DEACTIVATED";
057: public static final String PAGE_OPENED = "OPENED";
058: public static final String PAGE_RESIZED = "RESIZED";
059: public static final String PAGE_MOVED = "MOVED";
060: public static final String PAGE_MAXIMIZED = "MAXIMIZED";
061: public static final String PAGE_WINDOWED = "WINDOWED";
062:
063: /**
064: * @author Dirk
065: *
066: * date: 29.05.2007 project: WiSer-Framework
067: *
068: * <p>
069: * Factory is a convenience class to create components of the surrounding
070: * interface's type without taking care for the WidgetServer MultiChannel API.
071: * It's use is similar to a constructor.
072: * </p>
073: */
074: public static class Factory {
075: /**
076: * Creates a standard version of this component as described in the factory.
077: * If you create masses of components for e.g. within a renderer use
078: * <i> create(IUnApplication xAppl)</i> for performance
079: * reasons.
080: *
081: * @param xTitle
082: * Title of the page
083: * @return new component
084: */
085: public static IUnPage create(String xTitle) {
086: IUnApplication l_appl = (IUnApplication) KeRegisteredObject
087: .pcmf_getObjByName(IUnApplication.MY_APPL);
088: return (l_appl.pcmf_getComponentFactory()
089: .pcmf_createGuiPage(l_appl.pcmf_getApplType(),
090: xTitle, false, l_appl));
091: }
092:
093: /**
094: * Creates a special version of this component as described in the factory
095: * configuration under the descriptor xFactoryDesc. If you create masses of
096: * components for e.g. within a renderer use <i>
097: * create(IUnApplication xAppl, String xFactoryDesc)</i> for performance
098: * reasons.
099: *
100: * @param xTitle
101: * Title of the page
102: * @param xFactoryDesc
103: * descriptor
104: * @return new component
105: */
106: public static IUnPage create(String xTitle, String xFactoryDesc) {
107: IUnApplication l_appl = (IUnApplication) KeRegisteredObject
108: .pcmf_getObjByName(IUnApplication.MY_APPL);
109: return (l_appl.pcmf_getComponentFactory()
110: .pcmf_createGuiPagePlugin(
111: l_appl.pcmf_getApplType(), xTitle, false,
112: l_appl, xFactoryDesc));
113: }
114:
115: /**
116: * Creates a standard version of this component as described in the factory
117: * within the given application-context. If you create masses of components
118: * for e.g. within a renderer use this method for performance reasons.
119: *
120: * @param xTitle
121: * Title of the page
122: * @param xAppl
123: * application in which context the component is created
124: * @return new component
125: */
126: public static IUnPage create(String xTitle, IUnApplication xAppl) {
127: return (xAppl.pcmf_getComponentFactory()
128: .pcmf_createGuiPage(xAppl.pcmf_getApplType(),
129: xTitle, false, xAppl));
130: }
131:
132: /**
133: * Creates a special version of this component as described in the factory
134: * configuration under the descriptor xFactoryDesc. If you create masses of
135: * components for e.g. within a renderer use this function for performance
136: * reasons.
137: *
138: * @param xTitle
139: * Title of the page
140: * @param xFactoryDesc
141: * descriptor
142: * @param xAppl
143: * application in which context the component is created
144: * @return new component
145: */
146: public static IUnPage create(String xTitle,
147: IUnApplication xAppl, String xFactoryDesc) {
148: return (xAppl.pcmf_getComponentFactory()
149: .pcmf_createGuiPagePlugin(xAppl.pcmf_getApplType(),
150: xTitle, false, xAppl, xFactoryDesc));
151: }
152: }
153:
154: /**
155: * <p>
156: * Sets the position of a child-widget. This function is only for internal
157: * use, please use 'pcmf_setGuiObjPosition'
158: * </p>
159: * <p>
160: *
161: * </p>
162: * <p>
163: *
164: * @param xName
165: * child object name to reposition
166: * @param xPos
167: * position in x-direction
168: * @param yPos
169: * position in y-direction
170: * @param xWidth
171: * width of the object
172: * @param xHeight
173: * height of the object
174: * @param xAlign
175: * alignment of the object as integer. Values of Java-Swing
176: * GridBagLayout are valid
177: * </p>
178: */
179: public UnComponent pcmf_setPosition(String xName, int xPos,
180: int yPos, int xWidth, int xHeight, int xAlign);
181:
182: /**
183: * <p>
184: * If the page is displayed within an MDI Client this method sets the inner
185: * position of the page
186: * </p>
187: * <p>
188: *
189: * </p>
190: * <p>
191: *
192: * @param xPos
193: * position in x-direction
194: * @param yPos
195: * position in y-direction
196: * @param xWidth
197: * width of the object
198: * @param xHeight
199: * height of the object
200: * </p>
201: */
202: public void pcmf_setInnerPosition(int xPos, int yPos, int xWidth,
203: int xHeigth);
204:
205: /**
206: * <p>
207: * Sets the position of a child-widget. This function is only for internal
208: * use, please use 'pcmf_setGuiObjPosition'
209: * </p>
210: * <p>
211: *
212: * </p>
213: * <p>
214: *
215: * @param xObj
216: * child object to reposition
217: * @param xPos
218: * position in x-direction
219: * @param yPos
220: * position in y-direction
221: * @param xWidth
222: * width of the object
223: * @param xHeight
224: * height of the object
225: * @param xAlign
226: * alignment of the object as integer. Values of Java-Swing
227: * GridBagLayout are valid
228: * </p>
229: */
230: public UnComponent pcmf_setPosition(UnComponent xObj, int xPos,
231: int yPos, int xWidth, int xHeight, int xAlign);
232:
233: /**
234: * <p>
235: * After activating a page the focus is set to the widget which is defined
236: * with this function
237: * </p>
238: * <p>
239: *
240: * </p>
241: * <p>
242: *
243: * @param xWdg
244: * widget which requests the focus after the page has been activated
245: * </p>
246: */
247: public void pcmf_setDefaultFocusWdg(UnComponent xWdg);
248:
249: /**
250: * <p>
251: * If a page is used within a mdi environment it may be reshaped. Because the
252: * corresponding events lead to massive network traffic, they can be enabled
253: * and disabled separately.
254: * </p>
255: * <p>
256: *
257: * </p>
258: * <p>
259: *
260: * @param xReshapes
261: * true or false
262: * </p>
263: */
264: public void pcmf_setGenerateReshapeEvents(boolean xReshapes);
265:
266: /**
267: * <p>
268: * Returns whether reshape events are generated or not
269: * </p>
270: * <p>
271: *
272: * </p>
273: * <p>
274: *
275: * @param xReshapes
276: * true or false
277: * </p>
278: */
279: public boolean pcmf_getGenerateReshapeEvents();
280:
281: /**
282: * <p>
283: * If a page owns its menu the menu is rendererd on top of the page in an MDI
284: * interface. If a page does not own the menu the menu is rendered on top of
285: * the desktoppane if the page is active.
286: * </p>
287: * <p>
288: *
289: * </p>
290: * <p>
291: *
292: * @param xOwns
293: * true or false
294: * </p>
295: */
296: public void pcmf_ownsMenu(boolean xOwns);
297:
298: /**
299: * <p>
300: * Return whether the page owns the menu or not
301: * </p>
302: * <p>
303: *
304: * @return owns
305: *
306: * </p>
307: * <p>
308: * </p>
309: */
310: public boolean pcmf_getOwnsMenu();
311:
312: /**
313: * <p>
314: * Sets an external CSS stylesheet reference
315: * </p>
316: * <p>
317: *
318: * </p>
319: * <p>
320: * </p>
321: */
322: public void pcmf_setExternalCss(String xCss);
323:
324: /**
325: * <p>
326: * Gets the external CSS stylesheet reference
327: * </p>
328: * <p>
329: *
330: * </p>
331: * <p>
332: * </p>
333: */
334: public String pcmf_getExternalCss();
335:
336: /**
337: * <p>
338: * Return whether css is supported or not
339: * </p>
340: * <p>
341: *
342: * @return css supported
343: *
344: * </p>
345: * <p>
346: * </p>
347: */
348: public boolean pcmf_isCssSupported();
349:
350: /**
351: * <p>
352: * Sets an MDI window to full screen mode and back
353: * </p>
354: * <p>
355: *
356: * </p>
357: * <p>
358: *
359: * @param xMax
360: * true or false
361: * </p>
362: */
363:
364: public boolean pcmf_isMaximized();
365:
366: /**
367: * <p>
368: * Return whether a MDI window is maximized or not.
369: * </p>
370: * <p>
371: *
372: * @return css supported
373: *
374: * </p>
375: * <p>
376: * </p>
377: */
378: public void pcmf_maximize(boolean xMax);
379:
380: /**
381: * <p>
382: * Sets the title of the page. This can only be done while the dialog is not
383: * connected to a component tree
384: * </p>
385: * <p>
386: *
387: * @param xTitle
388: * title of the page
389: * </p>
390: */
391: public void pcmf_setTitle(String xTitle);
392:
393: /**
394: * <p>
395: * Gets the title of the page.
396: * </p>
397: * <p>
398: *
399: * @return Title
400: * </p>
401: */
402: public String pcmf_getTitle();
403: }
|