001: // @@
002: // @@
003: /*
004: * Wi.Ser Framework
005: *
006: * LGPL Version: 1.8.1, 20-September-2007
007: * Copyright (C) 2005-2006 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.channel.ho.server.generic;
032:
033: import de.ug2t.kernel.*;
034: import de.ug2t.unifiedGui.*;
035: import de.ug2t.unifiedGui.interfaces.*;
036: import de.ug2t.unifiedGui.listener.*;
037: import de.ug2t.xmlScript.*;
038:
039: public final class HoSrvGenericPage extends AHoSrvGenericContainer
040: implements IUnPage, IUnGuiEventListener {
041: // Hält alle Werte der Seite um diese nach Art MARKUP zum Server zu übertragen
042: boolean pem_noLayout = false;
043: UnComponent pem_stdFocus = null;
044: private IUnImage pem_icon = null;
045: private boolean pem_ownMenu = false;
046: private boolean pem_submitReshapes = false;
047: private boolean pem_maximized = false;
048:
049: class HoMdiPageMaximizedListener implements IUnGuiEventListener {
050: public void pcmf_execListener(UnComponent xParam)
051: throws Exception {
052: if (IUnPage.PAGE_MAXIMIZED.equals(xParam.pcmf_getValue()))
053: HoSrvGenericPage.this .pem_maximized = true;
054: else if (IUnPage.PAGE_WINDOWED.equals(xParam
055: .pcmf_getValue()))
056: HoSrvGenericPage.this .pem_maximized = false;
057:
058: return;
059: }
060: }
061:
062: public HoSrvGenericPage(String xName, boolean xNoLayout,
063: IUnApplication xAppl, String xClass) throws Exception {
064: super (xName);
065: this .pcmf_setAppl(xAppl);
066: this .pem_noLayout = xNoLayout;
067: this .pcmf_setAutoEcho(false);
068:
069: if (xClass == null)
070: pdm_clientClass = "de.ug2t.channel.ho.client.swing.HoSwingPage";
071: else
072: pdm_clientClass = xClass;
073:
074: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
075: "");
076:
077: if (this .pdm_session.pcmf_isInTransaction()) {
078: ScXmlScript.pcmf_createPBody(l_remCall);
079: } else {
080: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
081: ScXmlScript.pcmf_addProc(l_remCall, null);
082: }
083: ;
084: ScXmlScript.pcmf_addDecl(l_remCall, this .pcmf_getRemName(),
085: this .pdm_clientClass, "global");
086: ScXmlScript.pcmf_addDeclPar(l_remCall, xName, "false",
087: "java.lang.String");
088: ScXmlScript.pcmf_addDeclPar(l_remCall, xNoLayout ? "true"
089: : "false", "false", "boolean");
090: ScXmlScript.pcmf_addDeclPar(l_remCall, ((KeTreeNode) xAppl)
091: .pcmf_getRemName(), "true",
092: "de.ug2t.unifiedGui.interfaces.IUnApplication");
093: ScXmlScript.pcmf_endAll(l_remCall);
094:
095: this .pdm_session.pcmf_call(l_remCall.toString(), this );
096:
097: this .pcmf_addListener(new UnInternalPageClosedListener());
098: this .pcmf_addListener(new UnInternalPageActivatedListener());
099: this .pcmf_addListener(new HoMdiPageMaximizedListener());
100:
101: // Debug
102: // this.pcmf_setGenerateReshapeEvents(true);
103: // this.pcmf_addListener(new UnPrintValueListener());
104:
105: return;
106: };
107:
108: public void pcmf_setGrid(int xCells, int yCells, boolean xDebug) {
109: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
110: "");
111:
112: if (this .pdm_session.pcmf_isInTransaction()) {
113: ScXmlScript.pcmf_createPBody(l_remCall);
114: } else {
115: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
116: ScXmlScript.pcmf_addProc(l_remCall, null);
117: }
118: ;
119: ScXmlScript.pcmf_addCall(l_remCall, null, this
120: .pcmf_getRemName(), "pcmf_setGrid");
121: ScXmlScript.pcmf_addCallPar(l_remCall,
122: Integer.toString(xCells), "false", "int");
123: ScXmlScript.pcmf_addCallPar(l_remCall,
124: Integer.toString(yCells), "false", "int");
125: ScXmlScript.pcmf_addCallPar(l_remCall, xDebug ? "true"
126: : "false", "false", "boolean");
127: ScXmlScript.pcmf_endAll(l_remCall);
128:
129: this .pdm_session.pcmf_call(l_remCall.toString(), this );
130:
131: return;
132: };
133:
134: public Object pcmf_setSubmitValue(String xKey, String xValue) {
135: return (null);
136: };
137:
138: public void pcmf_clearSubmitValues() {
139: return;
140: };
141:
142: public AHoSrvGenericComponent pcmf_buildRefObj() throws Exception {
143: AHoSrvGenericComponent l_obj = new HoSrvGenericPage(this
144: .pcmf_getName(), this .pem_noLayout,
145: this .pcmf_getAppl(), this .pdm_clientClass);
146: l_obj.pcmf_setGlobal(true);
147: l_obj.pcmf_setAutoEcho(this .pcmf_doAutoEcho());
148: this .pcmf_setGlobal(true);
149: l_obj.pcmf_setRefFrom(this );
150: this .pcmf_addRef(l_obj);
151:
152: return l_obj;
153: };
154:
155: public void pcmf_setIcon(IUnImage xIcon) {
156: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
157: "");
158:
159: if (this .pdm_session.pcmf_isInTransaction()) {
160: ScXmlScript.pcmf_createPBody(l_remCall);
161: } else {
162: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
163: ScXmlScript.pcmf_addProc(l_remCall, null);
164: }
165: ;
166: ScXmlScript.pcmf_addCall(l_remCall, null, this
167: .pcmf_getRemName(), "pcmf_setIcon");
168: ScXmlScript.pcmf_addCallPar(l_remCall, xIcon
169: .pcmf_getUnComponent().pcmf_getRemName(), "true",
170: "de.ug2t.unifiedGui.interfaces.IUnImage");
171: ScXmlScript.pcmf_endAll(l_remCall);
172:
173: this .pdm_session.pcmf_call(l_remCall.toString(), this );
174:
175: if (this .pem_icon != null)
176: this .pem_icon.pcmf_detach();
177:
178: this .pem_icon = xIcon;
179: this .pem_icon.pcmf_attach();
180: };
181:
182: public IUnImage pcmf_getIcon() {
183: return (this .pem_icon);
184: };
185:
186: public void pcmf_setDefaultFocusWdg(UnComponent xWdg) {
187: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
188: "");
189:
190: if (this .pdm_session.pcmf_isInTransaction()) {
191: ScXmlScript.pcmf_createPBody(l_remCall);
192: } else {
193: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
194: ScXmlScript.pcmf_addProc(l_remCall, null);
195: }
196: ;
197: ScXmlScript.pcmf_addCall(l_remCall, null, this
198: .pcmf_getRemName(), "pcmf_setDefaultFocusWdg");
199: ScXmlScript.pcmf_addCallPar(l_remCall, xWdg.pcmf_getRemName(),
200: "true", "de.ug2t.unifiedGui.UnComponent");
201: ScXmlScript.pcmf_endAll(l_remCall);
202:
203: this .pdm_session.pcmf_call(l_remCall.toString(), this );
204:
205: this .pem_stdFocus = xWdg;
206: };
207:
208: public void pcmf_setDefaultFocus() {
209: if (this .pem_stdFocus != null)
210: this .pem_stdFocus.pcmf_requestFocus();
211: };
212:
213: public void pcmf_delete() throws Exception {
214: if (this .pdm_deleted == true)
215: return;
216:
217: if (this .pem_icon != null) {
218: this .pem_icon.pcmf_detach();
219: this .pem_icon.pcmf_getUnComponent().pcmf_delete();
220: }
221:
222: super .pcmf_delete();
223: }
224:
225: public void pcmf_execListener(UnComponent xParam) throws Exception {
226: if (this .pcmf_getParentNode() == null)
227: this .pcmf_getAppl().pcmf_addPage(this .pcmf_getName(),
228: (IUnPage) this );
229:
230: this .pcmf_getAppl().pcmf_setActive(this .pcmf_getName());
231: }
232:
233: public void pcmf_maximize(boolean xMax) {
234: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
235: "");
236:
237: if (this .pdm_session.pcmf_isInTransaction()) {
238: ScXmlScript.pcmf_createPBody(l_remCall);
239: } else {
240: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
241: ScXmlScript.pcmf_addProc(l_remCall, null);
242: }
243: ;
244: ScXmlScript.pcmf_addCall(l_remCall, null, this
245: .pcmf_getRemName(), "pcmf_maximize");
246: ScXmlScript.pcmf_addCallPar(l_remCall, xMax ? "true" : "false",
247: "false", "boolean");
248: ScXmlScript.pcmf_endAll(l_remCall);
249:
250: this .pdm_session.pcmf_call(l_remCall.toString(), this );
251:
252: this .pem_maximized = xMax;
253:
254: return;
255: }
256:
257: public boolean pcmf_isMaximized() {
258: return (this .pem_maximized);
259: }
260:
261: public void pcmf_ownsMenu(boolean xOwns) {
262: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
263: "");
264:
265: if (this .pdm_session.pcmf_isInTransaction()) {
266: ScXmlScript.pcmf_createPBody(l_remCall);
267: } else {
268: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
269: ScXmlScript.pcmf_addProc(l_remCall, null);
270: }
271: ;
272: ScXmlScript.pcmf_addCall(l_remCall, null, this
273: .pcmf_getRemName(), "pcmf_ownsMenu");
274: ScXmlScript.pcmf_addCallPar(l_remCall,
275: xOwns ? "true" : "false", "false", "boolean");
276: ScXmlScript.pcmf_endAll(l_remCall);
277:
278: this .pdm_session.pcmf_call(l_remCall.toString(), this );
279:
280: this .pem_ownMenu = xOwns;
281:
282: return;
283: }
284:
285: public boolean pcmf_getOwnsMenu() {
286: return (this .pem_ownMenu);
287: };
288:
289: public void pcmf_setGenerateReshapeEvents(boolean xReshapes) {
290: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
291: "");
292:
293: if (this .pdm_session.pcmf_isInTransaction()) {
294: ScXmlScript.pcmf_createPBody(l_remCall);
295: } else {
296: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
297: ScXmlScript.pcmf_addProc(l_remCall, null);
298: }
299: ;
300: ScXmlScript.pcmf_addCall(l_remCall, null, this
301: .pcmf_getRemName(), "pcmf_setGenerateReshapeEvents");
302: ScXmlScript.pcmf_addCallPar(l_remCall, xReshapes ? "true"
303: : "false", "false", "boolean");
304: ScXmlScript.pcmf_endAll(l_remCall);
305:
306: this .pdm_session.pcmf_call(l_remCall.toString(), this );
307:
308: this .pem_submitReshapes = xReshapes;
309:
310: return;
311: }
312:
313: public boolean pcmf_getGenerateReshapeEvents() {
314: return (this .pem_submitReshapes);
315: }
316:
317: private String pem_extCss = null;
318:
319: public void pcmf_setExternalCss(String xCss) {
320: this .pem_extCss = xCss;
321: }
322:
323: public String pcmf_getExternalCss() {
324: return (this .pem_extCss);
325: }
326:
327: public boolean pcmf_isCssSupported() {
328: return (false);
329: }
330:
331: public String pcmf_getTitle() {
332: return (super .pcmf_getName());
333: }
334:
335: public void pcmf_setTitle(String xTitle) {
336: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
337: "");
338:
339: if (this .pdm_session.pcmf_isInTransaction()) {
340: ScXmlScript.pcmf_createPBody(l_remCall);
341: } else {
342: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
343: ScXmlScript.pcmf_addProc(l_remCall, null);
344: }
345: ;
346: ScXmlScript.pcmf_addCall(l_remCall, null, this
347: .pcmf_getRemName(), "pcmf_setTitle");
348: ScXmlScript.pcmf_addCallPar(l_remCall, xTitle, "false",
349: "java.lang.String");
350: ScXmlScript.pcmf_endAll(l_remCall);
351:
352: this .pdm_session.pcmf_call(l_remCall.toString(), this );
353: this .pcmf_setName(xTitle);
354:
355: return;
356: }
357:
358: public void pcmf_setInnerPosition(int xPos, int yPos, int xWidth,
359: int xHeigth) {
360: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
361: "");
362:
363: if (this .pdm_session.pcmf_isInTransaction()) {
364: ScXmlScript.pcmf_createPBody(l_remCall);
365: } else {
366: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
367: ScXmlScript.pcmf_addProc(l_remCall, null);
368: }
369: ;
370: ScXmlScript.pcmf_addCall(l_remCall, null, this
371: .pcmf_getRemName(), "pcmf_setInnerPosition");
372: ScXmlScript.pcmf_addCallPar(l_remCall, Integer.toString(xPos),
373: "false", "int");
374: ScXmlScript.pcmf_addCallPar(l_remCall, Integer.toString(yPos),
375: "false", "int");
376: ScXmlScript.pcmf_addCallPar(l_remCall,
377: Integer.toString(xWidth), "false", "int");
378: ScXmlScript.pcmf_addCallPar(l_remCall, Integer
379: .toString(xHeigth), "false", "int");
380: ScXmlScript.pcmf_endAll(l_remCall);
381:
382: this.pdm_session.pcmf_call(l_remCall.toString(), this);
383:
384: return;
385: };
386:
387: }
|