0001: // @@
0002: // @@
0003: /*
0004: * Wi.Ser Framework
0005: *
0006: * Version: 1.8.1, 20-September-2007
0007: * Copyright (C) 2005 Dirk von der Weiden <dvdw@imail.de>
0008: *
0009: * This library is free software; you can redistribute it and/or
0010: * modify it under the terms of the GNU Lesser General Public
0011: * License as published by the Free Software Foundation; either
0012: * version 2 of the License, or (at your option) any later version.
0013: *
0014: * This library is distributed in the hope that it will be useful,
0015: * but WITHOUT ANY WARRANTY; without even the implied warranty of
0016: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0017: * Lesser General Public License for more details.
0018: *
0019: * You should have received a copy of the GNU Lesser General Public
0020: * License along with this library located in LGPL.txt in the
0021: * license directory; if not, write to the
0022: * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
0023: * Boston, MA 02111-1307, USA.
0024: *
0025: * If this agreement does not cover your requirements, please contact us
0026: * via email to get detailed information about the commercial license
0027: * or our service offerings!
0028: *
0029: */
0030: // @@
0031: package de.ug2t.unifiedGui.views;
0032:
0033: import java.awt.*;
0034: import java.io.*;
0035:
0036: import javax.swing.*;
0037:
0038: import de.ug2t.channel.ho.client.swing.*;
0039: import de.ug2t.channel.ho.session.*;
0040: import de.ug2t.channel.markup.generic.*;
0041: import de.ug2t.kernel.*;
0042: import de.ug2t.unifiedGui.*;
0043: import de.ug2t.unifiedGui.interfaces.*;
0044: import de.ug2t.unifiedGui.transformer.*;
0045: import de.ug2t.xmlScript.*;
0046:
0047: /**
0048: * @author dvonderweiden
0049: *
0050: * date: 05.09.2003 project: WiSer-Framework
0051: *
0052: * <p>
0053: * Basisklasse aller views
0054: * </p>
0055: */
0056: public class UnIconValueView extends KeRegisteredObject implements
0057: IKeTemplateView, IUnIconView, IKeAttachable, IUnLazyComponent {
0058: private IUnImage pem_stdIcon = null;
0059: private IUnImage pem_openIcon = null;
0060: private IUnImage pem_closeIcon = null;
0061: private UnFontDescriptor pem_font = null;
0062: private String pem_tpl = null;
0063: private IUnTransformer pem_transformer = null;
0064: private String pem_bg = null;
0065: private String pem_fg = null;
0066: private String pem_css = null;
0067: private transient IHoSession pem_session = null;
0068: private int pem_refcount = 0;
0069:
0070: // @@
0071:
0072: /**
0073: *
0074: */
0075: public UnIconValueView(IUnImage xStdIco, IUnImage xOpIco,
0076: IUnImage xCoIco, UnFontDescriptor xFont, String xTpl,
0077: IUnTransformer xTrans) {
0078: this .pem_stdIcon = xStdIco;
0079:
0080: if (xOpIco == null)
0081: this .pem_openIcon = this .pem_stdIcon;
0082: else
0083: this .pem_openIcon = xOpIco;
0084:
0085: if (xCoIco == null)
0086: this .pem_closeIcon = this .pem_stdIcon;
0087: else
0088: this .pem_closeIcon = xCoIco;
0089:
0090: this .pem_font = xFont;
0091: this .pem_tpl = xTpl;
0092: this .pem_transformer = xTrans;
0093:
0094: pem_session = (IHoSession) KeRegisteredObject
0095: .pcmf_getObjByName(IHoSession.SESSION_NAME);
0096: if (pem_session != null && !pem_session.pcmf_isClientSide()) {
0097: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
0098: "");
0099: // Deklaration
0100: if (pem_session.pcmf_isInTransaction()) {
0101: ScXmlScript.pcmf_createPBody(l_remCall);
0102: } else {
0103: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
0104: ScXmlScript.pcmf_addProc(l_remCall, null);
0105: }
0106: ;
0107: ScXmlScript.pcmf_addDecl(l_remCall, this .pcmf_getRemName(),
0108: "de.ug2t.unifiedGui.views.UnIconValueView",
0109: "global");
0110:
0111: if (this .pem_stdIcon != null)
0112: ScXmlScript.pcmf_addDeclPar(l_remCall, this .pem_stdIcon
0113: .pcmf_getUnComponent().pcmf_getRemName(),
0114: "true",
0115: "de.ug2t.unifiedGui.interfaces.IUnImage");
0116: else
0117: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0118: "de.ug2t.unifiedGui.interfaces.IUnImage");
0119:
0120: if (this .pem_openIcon != null)
0121: ScXmlScript.pcmf_addDeclPar(l_remCall,
0122: this .pem_openIcon.pcmf_getUnComponent()
0123: .pcmf_getRemName(), "true",
0124: "de.ug2t.unifiedGui.interfaces.IUnImage");
0125: else
0126: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0127: "de.ug2t.unifiedGui.interfaces.IUnImage");
0128:
0129: if (this .pem_closeIcon != null)
0130: ScXmlScript.pcmf_addDeclPar(l_remCall,
0131: this .pem_closeIcon.pcmf_getUnComponent()
0132: .pcmf_getRemName(), "true",
0133: "de.ug2t.unifiedGui.interfaces.IUnImage");
0134: else
0135: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0136: "de.ug2t.unifiedGui.interfaces.IUnImage");
0137:
0138: if (this .pem_font != null)
0139: ScXmlScript.pcmf_addDeclPar(l_remCall, this .pem_font
0140: .pcmf_getRemName(), "true",
0141: "de.ug2t.unifiedGui.UnFontDescriptor");
0142: else
0143: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0144: "de.ug2t.unifiedGui.UnFontDescriptor");
0145:
0146: if (this .pem_tpl != null)
0147: ScXmlScript.pcmf_addDeclPar(l_remCall, this .pem_tpl,
0148: "false", "java.lang.String");
0149: else
0150: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "false",
0151: "java.lang.String");
0152:
0153: if (this .pem_transformer != null)
0154: ScXmlScript
0155: .pcmf_addCallPar(l_remCall, KeRegisteredObject
0156: .pcmf_getObjName(xTrans), "true",
0157: "de.ug2t.unifiedGui.transformer.IUnTransformer");
0158: else
0159: ScXmlScript
0160: .pcmf_addCallPar(l_remCall, "null", "true",
0161: "de.ug2t.unifiedGui.transformer.IUnTransformer");
0162:
0163: ScXmlScript.pcmf_endAll(l_remCall);
0164: pem_session.pcmf_call(l_remCall.toString(), this );
0165: }
0166: ;
0167:
0168: if (xStdIco != null)
0169: xStdIco.pcmf_attach();
0170:
0171: if (xCoIco != null)
0172: xCoIco.pcmf_attach();
0173:
0174: if (xOpIco != null)
0175: xOpIco.pcmf_attach();
0176:
0177: if (xFont != null)
0178: xFont.pcmf_attach();
0179:
0180: if (xTrans != null && xTrans instanceof IKeAttachable)
0181: ((IKeAttachable) xTrans).pcmf_attach();
0182:
0183: return;
0184: }
0185:
0186: public UnIconValueView(IUnImage xStdIco, IUnImage xOpIco,
0187: IUnImage xCoIco, UnFontDescriptor xFont, String xTpl) {
0188: this .pem_stdIcon = xStdIco;
0189:
0190: if (xOpIco == null)
0191: this .pem_openIcon = this .pem_stdIcon;
0192: else
0193: this .pem_openIcon = xOpIco;
0194:
0195: if (xCoIco == null)
0196: this .pem_closeIcon = this .pem_stdIcon;
0197: else
0198: this .pem_closeIcon = xCoIco;
0199:
0200: this .pem_font = xFont;
0201: this .pem_tpl = xTpl;
0202:
0203: pem_session = (IHoSession) KeRegisteredObject
0204: .pcmf_getObjByName(IHoSession.SESSION_NAME);
0205: if (pem_session != null && !pem_session.pcmf_isClientSide()) {
0206: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
0207: "");
0208: // Deklaration
0209: if (pem_session.pcmf_isInTransaction()) {
0210: ScXmlScript.pcmf_createPBody(l_remCall);
0211: } else {
0212: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
0213: ScXmlScript.pcmf_addProc(l_remCall, null);
0214: }
0215: ;
0216: ScXmlScript.pcmf_addDecl(l_remCall, this .pcmf_getRemName(),
0217: "de.ug2t.unifiedGui.views.UnIconValueView",
0218: "global");
0219:
0220: if (this .pem_stdIcon != null)
0221: ScXmlScript.pcmf_addDeclPar(l_remCall, this .pem_stdIcon
0222: .pcmf_getUnComponent().pcmf_getRemName(),
0223: "true",
0224: "de.ug2t.unifiedGui.interfaces.IUnImage");
0225: else
0226: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0227: "de.ug2t.unifiedGui.interfaces.IUnImage");
0228:
0229: if (this .pem_openIcon != null)
0230: ScXmlScript.pcmf_addDeclPar(l_remCall,
0231: this .pem_openIcon.pcmf_getUnComponent()
0232: .pcmf_getRemName(), "true",
0233: "de.ug2t.unifiedGui.interfaces.IUnImage");
0234: else
0235: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0236: "de.ug2t.unifiedGui.interfaces.IUnImage");
0237:
0238: if (this .pem_closeIcon != null)
0239: ScXmlScript.pcmf_addDeclPar(l_remCall,
0240: this .pem_closeIcon.pcmf_getUnComponent()
0241: .pcmf_getRemName(), "true",
0242: "de.ug2t.unifiedGui.interfaces.IUnImage");
0243: else
0244: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0245: "de.ug2t.unifiedGui.interfaces.IUnImage");
0246: if (this .pem_font != null)
0247: ScXmlScript.pcmf_addDeclPar(l_remCall, this .pem_font
0248: .pcmf_getRemName(), "true",
0249: "de.ug2t.unifiedGui.UnFontDescriptor");
0250: else
0251: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0252: "de.ug2t.unifiedGui.UnFontDescriptor");
0253:
0254: if (this .pem_tpl != null)
0255: ScXmlScript.pcmf_addDeclPar(l_remCall, this .pem_tpl,
0256: "false", "java.lang.String");
0257: else
0258: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "false",
0259: "java.lang.String");
0260:
0261: ScXmlScript.pcmf_endAll(l_remCall);
0262: pem_session.pcmf_call(l_remCall.toString(), this );
0263: }
0264: ;
0265:
0266: if (xStdIco != null)
0267: xStdIco.pcmf_attach();
0268:
0269: if (xCoIco != null)
0270: xCoIco.pcmf_attach();
0271:
0272: if (xOpIco != null)
0273: xOpIco.pcmf_attach();
0274:
0275: if (xFont != null)
0276: xFont.pcmf_attach();
0277:
0278: return;
0279: }
0280:
0281: public UnIconValueView(IUnImage xStdIco, IUnImage xOpIco,
0282: IUnImage xCoIco, UnFontDescriptor xFont) {
0283: this .pem_stdIcon = xStdIco;
0284:
0285: if (xOpIco == null)
0286: this .pem_openIcon = this .pem_stdIcon;
0287: else
0288: this .pem_openIcon = xOpIco;
0289:
0290: if (xCoIco == null)
0291: this .pem_closeIcon = this .pem_stdIcon;
0292: else
0293: this .pem_closeIcon = xCoIco;
0294:
0295: this .pem_font = xFont;
0296:
0297: pem_session = (IHoSession) KeRegisteredObject
0298: .pcmf_getObjByName(IHoSession.SESSION_NAME);
0299: if (pem_session != null && !pem_session.pcmf_isClientSide()) {
0300: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
0301: "");
0302: // Deklaration
0303: if (pem_session.pcmf_isInTransaction()) {
0304: ScXmlScript.pcmf_createPBody(l_remCall);
0305: } else {
0306: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
0307: ScXmlScript.pcmf_addProc(l_remCall, null);
0308: }
0309: ;
0310: ScXmlScript.pcmf_addDecl(l_remCall, this .pcmf_getRemName(),
0311: "de.ug2t.unifiedGui.views.UnIconValueView",
0312: "global");
0313:
0314: if (this .pem_stdIcon != null)
0315: ScXmlScript.pcmf_addDeclPar(l_remCall, this .pem_stdIcon
0316: .pcmf_getUnComponent().pcmf_getRemName(),
0317: "true",
0318: "de.ug2t.unifiedGui.interfaces.IUnImage");
0319: else
0320: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0321: "de.ug2t.unifiedGui.interfaces.IUnImage");
0322:
0323: if (this .pem_openIcon != null)
0324: ScXmlScript.pcmf_addDeclPar(l_remCall,
0325: this .pem_openIcon.pcmf_getUnComponent()
0326: .pcmf_getRemName(), "true",
0327: "de.ug2t.unifiedGui.interfaces.IUnImage");
0328: else
0329: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0330: "de.ug2t.unifiedGui.interfaces.IUnImage");
0331:
0332: if (this .pem_closeIcon != null)
0333: ScXmlScript.pcmf_addDeclPar(l_remCall,
0334: this .pem_closeIcon.pcmf_getUnComponent()
0335: .pcmf_getRemName(), "true",
0336: "de.ug2t.unifiedGui.interfaces.IUnImage");
0337: else
0338: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0339: "de.ug2t.unifiedGui.interfaces.IUnImage");
0340:
0341: if (this .pem_font != null)
0342: ScXmlScript.pcmf_addDeclPar(l_remCall, this .pem_font
0343: .pcmf_getRemName(), "true",
0344: "de.ug2t.unifiedGui.UnFontDescriptor");
0345:
0346: ScXmlScript.pcmf_endAll(l_remCall);
0347: pem_session.pcmf_call(l_remCall.toString(), this );
0348: }
0349: ;
0350:
0351: if (xStdIco != null)
0352: xStdIco.pcmf_attach();
0353:
0354: if (xCoIco != null)
0355: xCoIco.pcmf_attach();
0356:
0357: if (xOpIco != null)
0358: xOpIco.pcmf_attach();
0359:
0360: if (xFont != null)
0361: xFont.pcmf_attach();
0362:
0363: return;
0364: }
0365:
0366: public UnIconValueView(IUnImage xStdIco, IUnImage xOpIco,
0367: IUnImage xCoIco) {
0368: this .pem_stdIcon = xStdIco;
0369:
0370: if (xOpIco == null)
0371: this .pem_openIcon = this .pem_stdIcon;
0372: else
0373: this .pem_openIcon = xOpIco;
0374:
0375: if (xCoIco == null)
0376: this .pem_closeIcon = this .pem_stdIcon;
0377: else
0378: this .pem_closeIcon = xCoIco;
0379:
0380: pem_session = (IHoSession) KeRegisteredObject
0381: .pcmf_getObjByName(IHoSession.SESSION_NAME);
0382: if (pem_session != null && !pem_session.pcmf_isClientSide()) {
0383: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
0384: "");
0385: // Deklaration
0386: if (pem_session.pcmf_isInTransaction()) {
0387: ScXmlScript.pcmf_createPBody(l_remCall);
0388: } else {
0389: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
0390: ScXmlScript.pcmf_addProc(l_remCall, null);
0391: }
0392: ;
0393: ScXmlScript.pcmf_addDecl(l_remCall, this .pcmf_getRemName(),
0394: "de.ug2t.unifiedGui.views.UnIconValueView",
0395: "global");
0396:
0397: if (this .pem_stdIcon != null)
0398: ScXmlScript.pcmf_addDeclPar(l_remCall, this .pem_stdIcon
0399: .pcmf_getUnComponent().pcmf_getRemName(),
0400: "true",
0401: "de.ug2t.unifiedGui.interfaces.IUnImage");
0402: else
0403: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0404: "de.ug2t.unifiedGui.interfaces.IUnImage");
0405:
0406: if (this .pem_openIcon != null)
0407: ScXmlScript.pcmf_addDeclPar(l_remCall,
0408: this .pem_openIcon.pcmf_getUnComponent()
0409: .pcmf_getRemName(), "true",
0410: "de.ug2t.unifiedGui.interfaces.IUnImage");
0411: else
0412: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0413: "de.ug2t.unifiedGui.interfaces.IUnImage");
0414:
0415: if (this .pem_closeIcon != null)
0416: ScXmlScript.pcmf_addDeclPar(l_remCall,
0417: this .pem_closeIcon.pcmf_getUnComponent()
0418: .pcmf_getRemName(), "true",
0419: "de.ug2t.unifiedGui.interfaces.IUnImage");
0420: else
0421: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0422: "de.ug2t.unifiedGui.interfaces.IUnImage");
0423:
0424: ScXmlScript.pcmf_endAll(l_remCall);
0425:
0426: pem_session.pcmf_call(l_remCall.toString(), this );
0427: }
0428: ;
0429:
0430: if (xStdIco != null)
0431: xStdIco.pcmf_attach();
0432:
0433: if (xCoIco != null)
0434: xCoIco.pcmf_attach();
0435:
0436: if (xOpIco != null)
0437: xOpIco.pcmf_attach();
0438:
0439: return;
0440: }
0441:
0442: public UnIconValueView(IUnImage xStdIco) {
0443: this .pem_stdIcon = xStdIco;
0444: this .pem_closeIcon = xStdIco;
0445: this .pem_openIcon = xStdIco;
0446:
0447: pem_session = (IHoSession) KeRegisteredObject
0448: .pcmf_getObjByName(IHoSession.SESSION_NAME);
0449: if (pem_session != null && !pem_session.pcmf_isClientSide()) {
0450: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
0451: "");
0452: // Deklaration
0453: if (pem_session.pcmf_isInTransaction()) {
0454: ScXmlScript.pcmf_createPBody(l_remCall);
0455: } else {
0456: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
0457: ScXmlScript.pcmf_addProc(l_remCall, null);
0458: }
0459: ;
0460: ScXmlScript.pcmf_addDecl(l_remCall, this .pcmf_getRemName(),
0461: "de.ug2t.unifiedGui.views.UnIconValueView",
0462: "global");
0463:
0464: if (this .pem_stdIcon != null) {
0465: ScXmlScript.pcmf_addDeclPar(l_remCall, this .pem_stdIcon
0466: .pcmf_getUnComponent().pcmf_getRemName(),
0467: "true",
0468: "de.ug2t.unifiedGui.interfaces.IUnImage");
0469: ScXmlScript.pcmf_addDeclPar(l_remCall,
0470: this .pem_openIcon.pcmf_getUnComponent()
0471: .pcmf_getRemName(), "true",
0472: "de.ug2t.unifiedGui.interfaces.IUnImage");
0473: ScXmlScript.pcmf_addDeclPar(l_remCall,
0474: this .pem_closeIcon.pcmf_getUnComponent()
0475: .pcmf_getRemName(), "true",
0476: "de.ug2t.unifiedGui.interfaces.IUnImage");
0477: } else {
0478: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0479: "de.ug2t.unifiedGui.interfaces.IUnImage");
0480: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0481: "de.ug2t.unifiedGui.interfaces.IUnImage");
0482: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0483: "de.ug2t.unifiedGui.interfaces.IUnImage");
0484: }
0485: ScXmlScript.pcmf_endAll(l_remCall);
0486:
0487: pem_session.pcmf_call(l_remCall.toString(), this );
0488: }
0489: ;
0490:
0491: if (xStdIco != null) {
0492: this .pem_stdIcon.pcmf_attach();
0493: this .pem_closeIcon.pcmf_attach();
0494: this .pem_openIcon.pcmf_attach();
0495: }
0496:
0497: return;
0498: };
0499:
0500: public UnIconValueView() {
0501: this .pem_stdIcon = null;
0502: this .pem_closeIcon = null;
0503: this .pem_openIcon = null;
0504:
0505: pem_session = (IHoSession) KeRegisteredObject
0506: .pcmf_getObjByName(IHoSession.SESSION_NAME);
0507: if (pem_session != null && !pem_session.pcmf_isClientSide()) {
0508: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
0509: "");
0510: // Deklaration
0511: if (pem_session.pcmf_isInTransaction()) {
0512: ScXmlScript.pcmf_createPBody(l_remCall);
0513: } else {
0514: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
0515: ScXmlScript.pcmf_addProc(l_remCall, null);
0516: }
0517: ;
0518: ScXmlScript.pcmf_addDecl(l_remCall, this .pcmf_getRemName(),
0519: "de.ug2t.unifiedGui.views.UnIconValueView",
0520: "global");
0521: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0522: "de.ug2t.unifiedGui.interfaces.IUnImage");
0523: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0524: "de.ug2t.unifiedGui.interfaces.IUnImage");
0525: ScXmlScript.pcmf_addDeclPar(l_remCall, "null", "true",
0526: "de.ug2t.unifiedGui.interfaces.IUnImage");
0527: ScXmlScript.pcmf_endAll(l_remCall);
0528:
0529: pem_session.pcmf_call(l_remCall.toString(), this );
0530: }
0531: ;
0532:
0533: return;
0534: };
0535:
0536: /**
0537: * <p>
0538: * Does...
0539: * </p>
0540: * <p>
0541: *
0542: * @return a Type with
0543: * </p>
0544: * <p>
0545: * @param
0546: * </p>
0547: */
0548: public Object pcmf_output(KeTreeElement xTreeEl) {
0549: if (xTreeEl instanceof KeTreeNode) {
0550: KeTreeNode l_node = (KeTreeNode) xTreeEl;
0551: if (l_node.pcmf_isHidden())
0552: return (this .pem_closeIcon instanceof MuGenericComponent ? this .pem_closeIcon
0553: .pcmf_getUnComponent().pcmf_execView()
0554: : this .pem_closeIcon);
0555: else
0556: return (this .pem_openIcon instanceof MuGenericComponent ? this .pem_openIcon
0557: .pcmf_getUnComponent().pcmf_execView()
0558: : this .pem_openIcon);
0559: }
0560: ;
0561:
0562: return (xTreeEl.toString());
0563: }
0564:
0565: /**
0566: * <p>
0567: * Does...
0568: * </p>
0569: * <p>
0570: *
0571: * @return a Type with
0572: * </p>
0573: * <p>
0574: * @param
0575: * </p>
0576: */
0577: public Object pcmf_execView(KeTreeElement xTreeEl) {
0578: return (this .pcmf_output(xTreeEl));
0579: }
0580:
0581: public void pcmf_setIcon(IUnImage xIcon) {
0582: if (this .pem_stdIcon != null)
0583: this .pem_stdIcon.pcmf_detach();
0584:
0585: if (this .pem_closeIcon != null)
0586: this .pem_closeIcon.pcmf_detach();
0587:
0588: if (this .pem_openIcon != null)
0589: this .pem_openIcon.pcmf_detach();
0590:
0591: this .pem_stdIcon = xIcon;
0592: this .pem_closeIcon = xIcon;
0593: this .pem_openIcon = xIcon;
0594:
0595: if (pem_session != null && !pem_session.pcmf_isClientSide()) {
0596: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
0597: "");
0598: // Deklaration
0599: if (pem_session.pcmf_isInTransaction()) {
0600: ScXmlScript.pcmf_createPBody(l_remCall);
0601: } else {
0602: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
0603: ScXmlScript.pcmf_addProc(l_remCall, null);
0604: }
0605: ;
0606: ScXmlScript.pcmf_addCall(l_remCall, null, this
0607: .pcmf_getRemName(), "pcmf_setIcon");
0608: ScXmlScript.pcmf_addCallPar(l_remCall, xIcon
0609: .pcmf_getUnComponent().pcmf_getRemName(), "true",
0610: "de.ug2t.unifiedGui.interfaces.IUnImage");
0611: ScXmlScript.pcmf_endAll(l_remCall);
0612:
0613: pem_session.pcmf_call(l_remCall.toString(), this );
0614: }
0615: ;
0616:
0617: this .pem_stdIcon.pcmf_attach();
0618: this .pem_closeIcon.pcmf_attach();
0619: this .pem_openIcon.pcmf_attach();
0620:
0621: return;
0622: }
0623:
0624: public void pcmf_setFont(UnFontDescriptor xFont) {
0625: if (this .pem_font != null)
0626: this .pem_font.pcmf_detach();
0627:
0628: this .pem_font = xFont;
0629:
0630: if (pem_session != null && !pem_session.pcmf_isClientSide()) {
0631: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
0632: "");
0633: // Deklaration
0634: if (pem_session.pcmf_isInTransaction()) {
0635: ScXmlScript.pcmf_createPBody(l_remCall);
0636: } else {
0637: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
0638: ScXmlScript.pcmf_addProc(l_remCall, null);
0639: }
0640: ;
0641: ScXmlScript.pcmf_addCall(l_remCall, null, this
0642: .pcmf_getRemName(), "pcmf_setFont");
0643: ScXmlScript.pcmf_addCallPar(l_remCall, xFont
0644: .pcmf_getRemName(), "true",
0645: "de.ug2t.unifiedGui.UnFontDescriptor");
0646: ScXmlScript.pcmf_endAll(l_remCall);
0647:
0648: pem_session.pcmf_call(l_remCall.toString(), this );
0649: }
0650: ;
0651:
0652: if (xFont != null)
0653: xFont.pcmf_attach();
0654:
0655: return;
0656: }
0657:
0658: public void pcmf_setTransformer(IUnTransformer xTrans) {
0659: if (this .pem_transformer != null
0660: && this .pem_transformer instanceof IKeAttachable)
0661: ((IKeAttachable) this .pem_transformer).pcmf_detach();
0662:
0663: this .pem_transformer = xTrans;
0664:
0665: if (pem_session != null && !pem_session.pcmf_isClientSide()) {
0666: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
0667: "");
0668: // Deklaration
0669: if (pem_session.pcmf_isInTransaction()) {
0670: ScXmlScript.pcmf_createPBody(l_remCall);
0671: } else {
0672: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
0673: ScXmlScript.pcmf_addProc(l_remCall, null);
0674: }
0675: ;
0676: ScXmlScript.pcmf_addCall(l_remCall, null, this
0677: .pcmf_getRemName(), "pcmf_setTransformer");
0678: ScXmlScript.pcmf_addCallPar(l_remCall, KeRegisteredObject
0679: .pcmf_getObjName(xTrans), "true",
0680: "de.ug2t.unifiedGui.transformer.IUnTransformer");
0681: ScXmlScript.pcmf_endAll(l_remCall);
0682:
0683: pem_session.pcmf_call(l_remCall.toString(), this );
0684: }
0685: ;
0686:
0687: if (xTrans != null)
0688: ((IKeAttachable) xTrans).pcmf_attach();
0689: }
0690:
0691: public void pcmf_setTpl(String xTpl) {
0692: this .pem_tpl = xTpl;
0693:
0694: if (pem_session != null && !pem_session.pcmf_isClientSide()) {
0695: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
0696: "");
0697: // Deklaration
0698: if (pem_session.pcmf_isInTransaction()) {
0699: ScXmlScript.pcmf_createPBody(l_remCall);
0700: } else {
0701: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
0702: ScXmlScript.pcmf_addProc(l_remCall, null);
0703: }
0704: ;
0705: ScXmlScript.pcmf_addCall(l_remCall, null, this
0706: .pcmf_getRemName(), "pcmf_setTpl");
0707: ScXmlScript.pcmf_addCallPar(l_remCall, xTpl, "false",
0708: "java.lang.String");
0709: ScXmlScript.pcmf_endAll(l_remCall);
0710:
0711: pem_session.pcmf_call(l_remCall.toString(), this );
0712: }
0713: ;
0714:
0715: return;
0716: }
0717:
0718: public void pcmf_setBg(String xBg) {
0719: this .pem_bg = xBg;
0720:
0721: if (pem_session != null && !pem_session.pcmf_isClientSide()) {
0722: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
0723: "");
0724: // Deklaration
0725: if (pem_session.pcmf_isInTransaction()) {
0726: ScXmlScript.pcmf_createPBody(l_remCall);
0727: } else {
0728: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
0729: ScXmlScript.pcmf_addProc(l_remCall, null);
0730: }
0731: ;
0732: ScXmlScript.pcmf_addCall(l_remCall, null, this
0733: .pcmf_getRemName(), "pcmf_setBg");
0734: ScXmlScript.pcmf_addCallPar(l_remCall, xBg, "false",
0735: "java.lang.String");
0736: ScXmlScript.pcmf_endAll(l_remCall);
0737:
0738: pem_session.pcmf_call(l_remCall.toString(), this );
0739: }
0740: ;
0741:
0742: return;
0743: }
0744:
0745: public void pcmf_setCss(String xCss) {
0746: this .pem_css = xCss;
0747:
0748: if (pem_session != null && !pem_session.pcmf_isClientSide()) {
0749: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
0750: "");
0751: // Deklaration
0752: if (pem_session.pcmf_isInTransaction()) {
0753: ScXmlScript.pcmf_createPBody(l_remCall);
0754: } else {
0755: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
0756: ScXmlScript.pcmf_addProc(l_remCall, null);
0757: }
0758: ;
0759: ScXmlScript.pcmf_addCall(l_remCall, null, this
0760: .pcmf_getRemName(), "pcmf_setCss");
0761: ScXmlScript.pcmf_addCallPar(l_remCall, xCss, "false",
0762: "java.lang.String");
0763: ScXmlScript.pcmf_endAll(l_remCall);
0764:
0765: pem_session.pcmf_call(l_remCall.toString(), this );
0766: }
0767: ;
0768:
0769: return;
0770: }
0771:
0772: public String pcmf_getCss() {
0773: return (this .pem_css);
0774: }
0775:
0776: public String pcmf_getBg() {
0777: return (this .pem_bg);
0778: }
0779:
0780: public void pcmf_setFg(String xFg) {
0781: this .pem_fg = xFg;
0782:
0783: if (pem_session != null && !pem_session.pcmf_isClientSide()) {
0784: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
0785: "");
0786: // Deklaration
0787: if (pem_session.pcmf_isInTransaction()) {
0788: ScXmlScript.pcmf_createPBody(l_remCall);
0789: } else {
0790: ScXmlScript.pcmf_createxScriptString(l_remCall, null);
0791: ScXmlScript.pcmf_addProc(l_remCall, null);
0792: }
0793: ;
0794: ScXmlScript.pcmf_addCall(l_remCall, null, this
0795: .pcmf_getRemName(), "pcmf_setFg");
0796: ScXmlScript.pcmf_addCallPar(l_remCall, xFg, "false",
0797: "java.lang.String");
0798: ScXmlScript.pcmf_endAll(l_remCall);
0799:
0800: pem_session.pcmf_call(l_remCall.toString(), this );
0801: }
0802: ;
0803:
0804: return;
0805: }
0806:
0807: public String pcmf_getFg() {
0808: return (this .pem_fg);
0809: }
0810:
0811: /**
0812: * <p>
0813: * Does...
0814: * </p>
0815: * <p>
0816: *
0817: * @return a Type with
0818: * </p>
0819: * <p>
0820: * @param
0821: * </p>
0822: */
0823: public IUnImage pcmf_getCloseIcon() {
0824: return pem_closeIcon;
0825: }
0826:
0827: /**
0828: * <p>
0829: * Does...
0830: * </p>
0831: * <p>
0832: *
0833: * @return a Type with
0834: * </p>
0835: * <p>
0836: * @param
0837: * </p>
0838: */
0839: public IUnImage pcmf_getOpenIcon() {
0840: return pem_openIcon;
0841: }
0842:
0843: /**
0844: * <p>
0845: * Does...
0846: * </p>
0847: * <p>
0848: *
0849: * @return a Type with
0850: * </p>
0851: * <p>
0852: * @param
0853: * </p>
0854: */
0855: public IUnImage pcmf_getStdIcon() {
0856: return pem_stdIcon;
0857: }
0858:
0859: public IUnImage pcmf_getIcon() {
0860: return pem_stdIcon;
0861: }
0862:
0863: public UnFontDescriptor pcmf_getFontDesc() {
0864: return (this .pem_font);
0865: }
0866:
0867: public String pcmf_getTpl() {
0868: return (this .pem_tpl);
0869: };
0870:
0871: public IUnTransformer pcmf_getTransformer() {
0872: return (this .pem_transformer);
0873: };
0874:
0875: public void pcmf_activateCache(boolean xAc) {
0876: throw (new UnsupportedOperationException());
0877: }
0878:
0879: public void pcmf_clearCache() {
0880: throw (new UnsupportedOperationException());
0881: }
0882:
0883: public boolean pcmf_supportsCaching() {
0884: return (false);
0885: }
0886:
0887: public void pcmf_delete() throws Exception {
0888: synchronized (this ) {
0889: if (this .pdm_deleted == true || this .pem_refcount > 0)
0890: return;
0891:
0892: String l_remName = this .pcmf_getRemName();
0893: super .pcmf_delete();
0894:
0895: if (pem_session != null
0896: && pem_session.pcmf_isClientSide() == false) {
0897: if (l_remName != null) {
0898: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
0899: "");
0900:
0901: if (this .pem_session.pcmf_isInTransaction()) {
0902: ScXmlScript.pcmf_createPBody(l_remCall);
0903: } else {
0904: ScXmlScript.pcmf_createxScriptString(l_remCall,
0905: null);
0906: ScXmlScript.pcmf_addProc(l_remCall, null);
0907: }
0908: ;
0909:
0910: ScXmlScript.pcmf_addCall(l_remCall, null,
0911: l_remName, "pcmf_delete");
0912: ScXmlScript.pcmf_endAll(l_remCall);
0913:
0914: this .pem_session.pcmf_call(l_remCall.toString(),
0915: this );
0916: }
0917: }
0918:
0919: if (this .pem_closeIcon != null) {
0920: this .pem_closeIcon.pcmf_detach();
0921: this .pem_closeIcon.pcmf_getUnComponent().pcmf_delete();
0922: }
0923:
0924: if (this .pem_stdIcon != null) {
0925: this .pem_stdIcon.pcmf_detach();
0926: this .pem_stdIcon.pcmf_getUnComponent().pcmf_delete();
0927: }
0928:
0929: if (this .pem_openIcon != null) {
0930: this .pem_openIcon.pcmf_detach();
0931: this .pem_openIcon.pcmf_getUnComponent().pcmf_delete();
0932: }
0933:
0934: if (this .pem_font != null) {
0935: this .pem_font.pcmf_detach();
0936: this .pem_font.pcmf_delete();
0937: }
0938:
0939: if (this .pem_transformer != null
0940: && this .pem_transformer instanceof IKeAttachable) {
0941: ((IKeAttachable) this .pem_transformer).pcmf_detach();
0942: ((KeRegisteredObject) this .pem_transformer)
0943: .pcmf_delete();
0944: }
0945: }
0946: }
0947:
0948: /**
0949: * <p>
0950: * Internal use for garbage collection, do not call manually
0951: * </p>
0952: * <p>
0953: *
0954: * </p>
0955: * <p>
0956: * </p>
0957: */
0958: public final void pcmf_attach() {
0959: synchronized (this ) {
0960: if (this .pdm_deleted)
0961: KeLog
0962: .pcmf_log(
0963: "ug2t",
0964: "attach a deleted ressource, error in synchronisation",
0965: this , KeLog.FATAL);
0966:
0967: this .pem_refcount++;
0968: }
0969: }
0970:
0971: /**
0972: * <p>
0973: * Internal use for garbage collection, do not call manually
0974: * </p>
0975: * <p>
0976: *
0977: * </p>
0978: * <p>
0979: * </p>
0980: */
0981: public final void pcmf_detach() {
0982: synchronized (this ) {
0983: if (this .pem_refcount > 0)
0984: this .pem_refcount--;
0985: }
0986: }
0987:
0988: /**
0989: * <p>
0990: * Internal use for garbage collection, do not call manually (forces detach)
0991: * </p>
0992: * <p>
0993: *
0994: * </p>
0995: * <p>
0996: * </p>
0997: */
0998: public void pcmf_forceDetach() {
0999: synchronized (this ) {
1000: if (pem_session != null
1001: && pem_session.pcmf_isClientSide() == false) {
1002: String l_remName = this .pcmf_getRemName();
1003: if (l_remName != null) {
1004: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
1005: "");
1006:
1007: if (this .pem_session.pcmf_isInTransaction()) {
1008: ScXmlScript.pcmf_createPBody(l_remCall);
1009: } else {
1010: ScXmlScript.pcmf_createxScriptString(l_remCall,
1011: null);
1012: ScXmlScript.pcmf_addProc(l_remCall, null);
1013: }
1014: ;
1015:
1016: ScXmlScript.pcmf_addCall(l_remCall, null,
1017: l_remName, "pcmf_forceDetach");
1018: ScXmlScript.pcmf_endAll(l_remCall);
1019:
1020: this .pem_session.pcmf_call(l_remCall.toString(),
1021: this );
1022: }
1023: }
1024:
1025: this .pem_refcount = 0;
1026: }
1027: }
1028:
1029: /**
1030: * <p>
1031: * Attaches a view for preventing it from beeing deleted when not in use
1032: * </p>
1033: * <p>
1034: *
1035: * </p>
1036: * <p>
1037: * </p>
1038: */
1039: public void pcmf_attachView() {
1040: synchronized (this ) {
1041: if (this .pdm_deleted)
1042: KeLog
1043: .pcmf_log(
1044: "ug2t",
1045: "attach a deleted ressource, error in synchronisation",
1046: this , KeLog.FATAL);
1047: else {
1048: if (pem_session != null
1049: && pem_session.pcmf_isClientSide() == false) {
1050: String l_remName = this .pcmf_getRemName();
1051: if (l_remName != null) {
1052: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
1053: "");
1054:
1055: if (this .pem_session.pcmf_isInTransaction()) {
1056: ScXmlScript.pcmf_createPBody(l_remCall);
1057: } else {
1058: ScXmlScript.pcmf_createxScriptString(
1059: l_remCall, null);
1060: ScXmlScript.pcmf_addProc(l_remCall, null);
1061: }
1062: ;
1063:
1064: ScXmlScript.pcmf_addCall(l_remCall, null,
1065: l_remName, "pcmf_attachView");
1066: ScXmlScript.pcmf_endAll(l_remCall);
1067:
1068: this .pem_session.pcmf_call(
1069: l_remCall.toString(), this );
1070: }
1071: }
1072: }
1073:
1074: this .pem_refcount++;
1075: }
1076: }
1077:
1078: /**
1079: * <p>
1080: * Releases a view for beeing deleted when not in use
1081: * </p>
1082: * <p>
1083: *
1084: * </p>
1085: * <p>
1086: * </p>
1087: */
1088: public void pcmf_detachView() {
1089: if (pem_session != null
1090: && pem_session.pcmf_isClientSide() == false) {
1091: String l_remName = this .pcmf_getRemName();
1092: if (l_remName != null) {
1093: KeStringTemplateWrapper l_remCall = new KeStringTemplateWrapper(
1094: "");
1095:
1096: if (this .pem_session.pcmf_isInTransaction()) {
1097: ScXmlScript.pcmf_createPBody(l_remCall);
1098: } else {
1099: ScXmlScript.pcmf_createxScriptString(l_remCall,
1100: null);
1101: ScXmlScript.pcmf_addProc(l_remCall, null);
1102: }
1103: ;
1104:
1105: ScXmlScript.pcmf_addCall(l_remCall, null, l_remName,
1106: "pcmf_detachView");
1107: ScXmlScript.pcmf_endAll(l_remCall);
1108:
1109: this .pem_session.pcmf_call(l_remCall.toString(), this );
1110: }
1111: }
1112:
1113: synchronized (this ) {
1114: if (this .pem_refcount > 0)
1115: this .pem_refcount--;
1116: }
1117: }
1118:
1119: /**
1120: * <p>
1121: * Attaches a view for preventing it from beeing deleted when not in use - delegate to fit
1122: * interface
1123: * </p>
1124: * <p>
1125: *
1126: * </p>
1127: * <p>
1128: * </p>
1129: */
1130: public void pcmf_attachExtern() {
1131: this .pcmf_attachView();
1132: }
1133:
1134: /**
1135: * <p>
1136: * Releases a view for beeing deleted when not in use - delegate to fit
1137: * interface
1138: * </p>
1139: * <p>
1140: *
1141: * </p>
1142: * <p>
1143: * </p>
1144: */
1145: public void pcmf_detachExtern() {
1146: this .pcmf_detachView();
1147: }
1148:
1149: public void pcmf_applyStdView(Component xTarget) {
1150: UnFontDescriptor l_font = this .pcmf_getFontDesc();
1151: if (l_font != null)
1152: xTarget.setFont(new Font(l_font.pcmf_getFontName(), l_font
1153: .pcmf_getFontStyle(), l_font.pcmf_getFontSize()));
1154: String l_bg = this .pcmf_getBg();
1155: if (l_bg != null)
1156: xTarget.setBackground(HoSwingComponent
1157: .pcmf_createColor(l_bg));
1158: String l_fg = this .pcmf_getFg();
1159: if (l_fg != null)
1160: xTarget.setForeground(HoSwingComponent
1161: .pcmf_createColor(l_fg));
1162: }
1163:
1164: public void pcmf_applyStdView(JLabel xTarget) {
1165: if (this .pcmf_getStdIcon() != null)
1166: xTarget.setIcon(((JLabel) ((HoSwingImage) this
1167: .pcmf_getStdIcon()).pcmf_getRealSwingObj())
1168: .getIcon());
1169:
1170: this .pcmf_applyStdView((Component) xTarget);
1171: }
1172:
1173: public void pcmf_applyStdView(AbstractButton xTarget) {
1174: if (this .pcmf_getStdIcon() != null)
1175: xTarget.setIcon(((JLabel) ((HoSwingImage) this
1176: .pcmf_getStdIcon()).pcmf_getRealSwingObj())
1177: .getIcon());
1178:
1179: this .pcmf_applyStdView((Component) xTarget);
1180: }
1181:
1182: public void pcmf_restStdView(UnComponent xTarget) {
1183: if (this .pem_css != null)
1184: xTarget.pcmf_setCssClass(null);
1185: if (this .pem_font != null)
1186: xTarget.pcmf_setFont(null);
1187: if (this .pem_bg != null)
1188: xTarget.pcmf_setBgColor("transparent");
1189: if (this .pem_fg != null)
1190: xTarget.pcmf_setFgColor("black");
1191: if (this .pem_tpl != null)
1192: xTarget.pcmf_setTpl(null);
1193: if (this .pem_transformer != null)
1194: xTarget.pcmf_setStringTransformer(null);
1195: }
1196:
1197: public void pcmf_applyStdView(UnComponent xTarget) {
1198: if (this.pem_css != null)
1199: xTarget.pcmf_setCssClass(this.pem_css);
1200: if (this.pem_font != null)
1201: xTarget.pcmf_setFont(this.pem_font);
1202: if (this.pem_bg != null)
1203: xTarget.pcmf_setBgColor(this.pem_bg);
1204: if (this.pem_fg != null)
1205: xTarget.pcmf_setFgColor(this.pem_fg);
1206: if (this.pem_tpl != null)
1207: xTarget.pcmf_setTpl(this.pem_tpl);
1208: if (this.pem_transformer != null)
1209: xTarget.pcmf_setStringTransformer(this.pem_transformer);
1210: }
1211: }
|