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.channel.markup.generic;
0032:
0033: import java.awt.*;
0034: import java.util.*;
0035:
0036: import de.ug2t.channel.markup.html.*;
0037: import de.ug2t.connector.*;
0038: import de.ug2t.kernel.*;
0039: import de.ug2t.unifiedGui.*;
0040: import de.ug2t.unifiedGui.interfaces.*;
0041: import de.ug2t.xmlScript.*;
0042:
0043: // Diese Klasse ist die Basis für alle einfachen MARKUP Elemente wie Textfeld,
0044: // Taste, ComboBox, aber auch Seite, Frame, ...
0045: // Diese Objekte können einzeln genutzt oder zu komplexen gruppiert werden
0046: public class MuGenericComponent extends UnComponent {
0047: protected ACoDataGetter pdm_templateGetter = null;
0048:
0049: private int pem_xPos = -1;
0050: private int pem_yPos = -1;
0051: private int pem_hi = -1;
0052: private int pem_wi = -1;
0053: private String pem_align = "WEST";
0054: private boolean pem_serveChannel = false;
0055: private MuGenericTemplate pem_templateFact = null;
0056: protected MuGenericTemplateKit pdm_kit = null;
0057: protected int pdm_tabIdx = -1;
0058: protected boolean pdm_hfill = false;
0059: protected boolean pdm_vfill = false;
0060:
0061: private boolean pem_needWrap = true;
0062: private boolean pem_needAppRepaintOnValueSet = false;
0063: private boolean pem_needAppRepaint = false;
0064: private boolean pem_differentialRepaint = false;
0065:
0066: private IUnContextMenu pem_menu = null;
0067: private ArrayList pem_channels = null;
0068:
0069: private KeStringTemplate pem_dlPos = null;
0070: private KeStringTemplate pem_dPos = null;
0071: private KeStringTemplate pem_chdPos = null;
0072: private KeStringTemplate pem_chdlPos = null;
0073: private boolean pem_toHidden = false;
0074:
0075: public MuGenericComponent(String xName, ACoDataGetter xTplGetter,
0076: Object xTplName, MuGenericApplication xAppl)
0077: throws Exception {
0078: super (xName);
0079:
0080: this .pcmf_setAppl(xAppl);
0081:
0082: this .pdm_kit = xAppl.pcmf_getTemplateKit();
0083: pdm_templateGetter = xTplGetter;
0084:
0085: if (xTplGetter != null) {
0086: this .pem_templateFact = MuGenericTemplate
0087: .pcmf_getMarkupTpl(xTplName.toString(),
0088: pdm_templateGetter);
0089:
0090: KeStringTemplate l_dlPos = this .pem_templateFact
0091: .pcmf_getMarkupString("DLPOSITION");
0092: if (l_dlPos != null)
0093: this .pem_dlPos = l_dlPos;
0094: else
0095: this .pem_dlPos = null;
0096:
0097: KeStringTemplate l_dPos = this .pem_templateFact
0098: .pcmf_getMarkupString("DPOSITION");
0099: if (l_dPos != null)
0100: this .pem_dPos = l_dPos;
0101: else
0102: this .pem_dPos = null;
0103:
0104: KeStringTemplate l_chdPos = this .pem_templateFact
0105: .pcmf_getMarkupString("CHDPOSITION");
0106: if (l_chdPos != null)
0107: this .pem_chdPos = l_chdPos;
0108: else
0109: this .pem_chdPos = null;
0110:
0111: KeStringTemplate l_chdlPos = this .pem_templateFact
0112: .pcmf_getMarkupString("CHDLPOSITION");
0113: if (l_chdlPos != null)
0114: this .pem_chdlPos = l_chdlPos;
0115: else
0116: this .pem_chdlPos = null;
0117:
0118: // @@
0119: }
0120: return;
0121: }
0122:
0123: public void pcmf_reConstructObject(String xName,
0124: ACoDataGetter xTplGetter, Object xTplName,
0125: MuGenericApplication xAppl) throws Exception {
0126: super .pcmf_reConstructObject(xName);
0127:
0128: if (xAppl == null)
0129: xAppl = (MuGenericApplication) KeRegisteredObject
0130: .pcmf_getObjByName(IUnApplication.MY_APPL);
0131:
0132: this .pdm_kit = xAppl.pcmf_getTemplateKit();
0133: pdm_templateGetter = xTplGetter;
0134:
0135: this .pcmf_setAppl(xAppl);
0136:
0137: if (xTplGetter != null) {
0138: this .pem_templateFact = MuGenericTemplate
0139: .pcmf_getMarkupTpl(xTplName.toString(),
0140: pdm_templateGetter);
0141: KeStringTemplate l_dlPos = this .pem_templateFact
0142: .pcmf_getMarkupString("DLPOSITION");
0143: if (l_dlPos != null)
0144: this .pem_dlPos = l_dlPos;
0145: else
0146: this .pem_dlPos = null;
0147:
0148: KeStringTemplate l_dPos = this .pem_templateFact
0149: .pcmf_getMarkupString("DPOSITION");
0150: if (l_dPos != null)
0151: this .pem_dPos = l_dPos;
0152: else
0153: this .pem_dPos = null;
0154:
0155: KeStringTemplate l_chdPos = this .pem_templateFact
0156: .pcmf_getMarkupString("CHDPOSITION");
0157: if (l_chdPos != null)
0158: this .pem_chdPos = l_chdPos;
0159: else
0160: this .pem_chdPos = null;
0161:
0162: KeStringTemplate l_chdlPos = this .pem_templateFact
0163: .pcmf_getMarkupString("CHDLPOSITION");
0164: if (l_chdlPos != null)
0165: this .pem_chdlPos = l_chdlPos;
0166: else
0167: this .pem_chdlPos = null;
0168:
0169: // @@
0170: }
0171:
0172: this .pcmf_setPropChanged(true);
0173:
0174: return;
0175: }
0176:
0177: public MuGenericTemplate pcmf_getHtmlTemplateObject() {
0178: return (this .pem_templateFact);
0179: };
0180:
0181: public void pcmf_setNewTemplate(Object xTplName, boolean xReload)
0182: throws Exception {
0183: if (xReload) {
0184: this .pdm_templateGetter.pcmf_reload();
0185: MuGenericTemplate.pcmf_clearCache();
0186: }
0187:
0188: this .pem_templateFact = new MuGenericTemplate(
0189: this .pdm_templateGetter.pcmf_getString(xTplName
0190: .toString()));
0191: }
0192:
0193: public void pcmf_setNewTemplateString(String xTpl) throws Exception {
0194: this .pem_templateFact = new MuGenericTemplate(xTpl);
0195: }
0196:
0197: public void pcmf_setMarkupString(String xSegment, String xTpl) {
0198: this .pem_templateFact.pcmf_setMarkupString(xSegment, xTpl);
0199: }
0200:
0201: public KeStringTemplate pcmf_getMarkupString(String xKey) {
0202: return (this .pem_templateFact.pcmf_getMarkupString(xKey));
0203: }
0204:
0205: protected KeStringTemplate pcmf_getDPosistion() {
0206: return (this .pem_dPos == null ? null : new KeStringTemplate(
0207: this .pem_dPos));
0208: }
0209:
0210: protected KeStringTemplate pcmf_getDlPosistion() {
0211: return (this .pem_dlPos == null ? this .pdm_kit.getDLPOSITION()
0212: : new KeStringTemplate(this .pem_dlPos));
0213: }
0214:
0215: protected KeStringTemplate pcmf_getCHDPosistion() {
0216: return (this .pem_chdPos == null ? null : new KeStringTemplate(
0217: this .pem_chdPos));
0218: }
0219:
0220: protected KeStringTemplate pcmf_getCHDLPosistion() {
0221: return (this .pem_chdlPos == null ? null : new KeStringTemplate(
0222: this .pem_chdlPos));
0223: }
0224:
0225: public void pcmf_evalRepaint() {
0226: if (this .pem_needAppRepaint)
0227: ((MuGenericApplication) this .pcmf_getAppl())
0228: .pcmf_getRenderer().pcmf_reqestFullRender();
0229: }
0230:
0231: public ArrayList pcmf_getHtmlStringKeys() {
0232: return (this .pem_templateFact.pcmf_getAllMarkupKeys());
0233: }
0234:
0235: public final String pcmf_evChannelandMenuOut() {
0236: StringBuffer l_ret = new StringBuffer();
0237:
0238: if (this .pem_serveChannel == true) {
0239: Iterator l_it = new ArrayList(this .pem_channels).iterator();
0240: Object l_sub = null;
0241:
0242: while (l_it.hasNext()) {
0243: l_sub = l_it.next();
0244: if (((KeTreeNode) l_sub).pcmf_isDisabled() == false)
0245: l_ret.append(((IUnEventChannel) l_sub)
0246: .pcmf_getUnComponent().pcmf_execView()
0247: .toString());
0248: }
0249: }
0250: if (this .pem_menu != null) {
0251: l_ret.append(this .pem_menu.pcmf_getUnComponent()
0252: .pcmf_execView().toString());
0253: }
0254: return (l_ret.toString());
0255: }
0256:
0257: public final KeStringTemplate pcmf_insertChannelandMenu(
0258: KeStringTemplate xString) {
0259: if (this .pem_serveChannel == true) {
0260: Iterator l_it = new ArrayList(this .pem_channels).iterator();
0261: Object l_sub = null;
0262: while (l_it.hasNext()) {
0263: l_sub = l_it.next();
0264: if (((KeTreeNode) l_sub).pcmf_isDisabled() == false) {
0265: switch (((IUnEventChannel) l_sub).pcmf_getType()) {
0266: case IUnEventChannel.EVENT_CLICK:
0267: xString = KeTools.pcmf_stringSubst(xString,
0268: "$CHANNEL", this .pdm_kit
0269: .getCHANNEL_CLK()
0270: .pcmf_stringAddVarEnd(
0271: "$CHANNEL"));
0272: break;
0273: case IUnEventChannel.EVENT_DBCLICK:
0274: xString = KeTools.pcmf_stringSubst(xString,
0275: "$CHANNEL", this .pdm_kit
0276: .getCHANNEL_DBCLK()
0277: .pcmf_stringAddVarEnd(
0278: "$CHANNEL"));
0279: break;
0280: case IUnEventChannel.EVENT_RCLICK:
0281: xString = KeTools.pcmf_stringSubst(xString,
0282: "$CHANNEL", this .pdm_kit
0283: .getCHANNEL_RCLK()
0284: .pcmf_stringAddVarEnd(
0285: "$CHANNEL"));
0286: break;
0287: case IUnEventChannel.EVENT_SCROLL:
0288: xString = KeTools.pcmf_stringSubst(xString,
0289: "$CHANNEL", this .pdm_kit
0290: .getCHANNEL_SCROLL()
0291: .pcmf_stringAddVarEnd(
0292: "$CHANNEL"));
0293: break;
0294: case IUnEventChannel.EVENT_DRAG:
0295: xString = KeTools.pcmf_stringSubst(xString,
0296: "$CHANNEL", this .pdm_kit
0297: .getCHANNEL_DRAG()
0298: .pcmf_stringAddVarEnd(
0299: "$CHANNEL"));
0300: break;
0301: case IUnEventChannel.EVENT_DROP:
0302: xString = KeTools.pcmf_stringSubst(xString,
0303: "$CHANNEL", this .pdm_kit
0304: .getCHANNEL_DROP()
0305: .pcmf_stringAddVarEnd(
0306: "$CHANNEL"));
0307: break;
0308: case IUnEventChannel.EVENT_GETF:
0309: xString = KeTools.pcmf_stringSubst(xString,
0310: "$CHANNEL", this .pdm_kit
0311: .getCHANNEL_GF()
0312: .pcmf_stringAddVarEnd(
0313: "$CHANNEL"));
0314: break;
0315: case IUnEventChannel.EVENT_LOSTF:
0316: xString = KeTools.pcmf_stringSubst(xString,
0317: "$CHANNEL", this .pdm_kit
0318: .getCHANNEL_LF()
0319: .pcmf_stringAddVarEnd(
0320: "$CHANNEL"));
0321: break;
0322: case IUnEventChannel.EVENT_MOUSEENTER:
0323: xString = KeTools.pcmf_stringSubst(xString,
0324: "$CHANNEL", this .pdm_kit
0325: .getCHANNEL_ME()
0326: .pcmf_stringAddVarEnd(
0327: "$CHANNEL"));
0328: break;
0329: case IUnEventChannel.EVENT_MOUSELEAVE:
0330: xString = KeTools.pcmf_stringSubst(xString,
0331: "$CHANNEL", this .pdm_kit
0332: .getCHANNEL_ML()
0333: .pcmf_stringAddVarEnd(
0334: "$CHANNEL"));
0335: break;
0336: case IUnEventChannel.EVENT_KEYACTION:
0337: xString = KeTools.pcmf_stringSubst(xString,
0338: "$CHANNEL", this .pdm_kit
0339: .getCHANNEL_KP()
0340: .pcmf_stringAddVarEnd(
0341: "$CHANNEL"));
0342: break;
0343: case IUnEventChannel.EVENT_MOVE:
0344: xString = KeTools.pcmf_stringSubst(xString,
0345: "$CHANNEL", this .pdm_kit
0346: .getCHANNEL_MOVE()
0347: .pcmf_stringAddVarEnd(
0348: "$CHANNEL"));
0349: break;
0350: case IUnEventChannel.EVENT_SELECT:
0351: xString = KeTools.pcmf_stringSubst(xString,
0352: "$CHANNEL", this .pdm_kit
0353: .getCHANNEL_SELECT()
0354: .pcmf_stringAddVarEnd(
0355: "$CHANNEL"));
0356: break;
0357: case IUnEventChannel.EVENT_POSITION:
0358: KeStringTemplate l_cpos = this .pdm_kit
0359: .getCHANNEL_POS();
0360: l_cpos.pcmf_stringSubst("$ID", this
0361: .pcmf_getObjName());
0362: xString = KeTools
0363: .pcmf_stringSubst(
0364: xString,
0365: "$CHANNEL",
0366: l_cpos
0367: .pcmf_stringAddVarEnd("$CHANNEL"));
0368: break;
0369: default:
0370: continue;
0371: }
0372: xString = KeTools.pcmf_stringSubst(xString,
0373: "$CHNAME", "\'"
0374: + ((IUnEventChannel) l_sub)
0375: .pcmf_getUnComponent()
0376: .pcmf_getObjName() + "\'");
0377: xString = KeTools.pcmf_stringSubst(xString,
0378: "$CHPNAME", "\'" + this .pcmf_getObjName()
0379: + "\'");
0380: }
0381: }
0382: }
0383: xString = pcmf_insertMenu(xString);
0384: xString = KeTools.pcmf_stringSubst(xString, "$CHANNEL", "");
0385:
0386: return (xString);
0387: };
0388:
0389: public final KeStringTemplate pcmf_insertToolTip(
0390: KeStringTemplate xString) {
0391: KeStringTemplate l_tip = null;
0392: String l_myTip = this .pcmf_getToolTip();
0393:
0394: if (l_myTip != null) {
0395: l_tip = KeTools.pcmf_stringSubst(this .pdm_kit.getTOOLTIP(),
0396: "$TOOLTIP", ScXmlScript
0397: .pcmf_filterSignsHTML(l_myTip));
0398: return (KeTools
0399: .pcmf_stringSubst(xString, "$TOOLTIP", l_tip));
0400: } else
0401: return (KeTools.pcmf_stringSubst(xString, "$TOOLTIP", ""));
0402: };
0403:
0404: public final KeStringTemplate pcmf_insertTabIndex(
0405: KeStringTemplate xString) {
0406: if (this .pdm_tabIdx != -1) {
0407: xString = KeTools.pcmf_stringSubst(xString, "$TBIDX",
0408: this .pdm_kit.getFOCUS());
0409: xString = KeTools.pcmf_stringSubst(xString, "$TBNR",
0410: Integer.toString(this .pdm_tabIdx));
0411:
0412: return (xString);
0413: } else
0414: return (KeTools.pcmf_stringSubst(xString, "$TBIDX", ""));
0415: };
0416:
0417: public final KeStringTemplate pcmf_insertMenu(
0418: KeStringTemplate xString) {
0419: if (this .pem_menu != null) {
0420: xString = KeTools.pcmf_stringSubst(xString, "$CHANNEL",
0421: this .pdm_kit.getCTXMENU());
0422: xString = KeTools.pcmf_stringSubst(xString, "$CTXNAME",
0423: "CTX" + this .pcmf_getObjName());
0424: }
0425:
0426: return (xString);
0427: }
0428:
0429: public final KeStringTemplate pcmf_insertBgImage(
0430: KeStringTemplate xString) {
0431: if (this instanceof IUnPanel) {
0432: IUnImage l_bg = ((IUnPanel) this ).pcmf_getBgImage();
0433: if (l_bg != null) {
0434: xString = KeTools.pcmf_stringSubst(xString, "$BGIMG",
0435: this .pdm_kit.getBGIMG());
0436: xString = KeTools.pcmf_stringSubst(xString, "$REF",
0437: l_bg.pcmf_getUnComponent().pcmf_getValue()
0438: .toString());
0439: } else
0440: xString = KeTools.pcmf_stringSubst(xString, "$BGIMG",
0441: "");
0442: }
0443: return (xString);
0444: }
0445:
0446: public final KeStringTemplate pcmf_insertColorandFontandBorder(
0447: KeStringTemplate xString) {
0448: KeStringTemplate l_ret = null;
0449:
0450: if (this .pcmf_getCssClass() != null) {
0451: KeStringTemplate l_tpl = this .pdm_kit.getCSS_CLASS();
0452: l_tpl.pcmf_stringSubst("$CLASS", this .pcmf_getCssClass());
0453:
0454: KeTools.pcmf_stringSubst(xString, "$CSS_CLASS", l_tpl
0455: .toString());
0456: } else
0457: l_ret = KeTools.pcmf_stringSubst(xString, "$CSS_CLASS", "");
0458:
0459: if (this .pcmf_getCurser() != null) {
0460: KeStringTemplate l_tpl = this .pdm_kit.getCURSOR();
0461: l_tpl.pcmf_stringSubst("$CURSOR", this .pcmf_getCurser());
0462:
0463: KeTools.pcmf_stringSubst(xString, "$CURSOR", l_tpl
0464: .toString());
0465: } else
0466: l_ret = KeTools.pcmf_stringSubst(xString, "$CURSOR", "");
0467:
0468: if (this .pdm_colorSet == false) {
0469: l_ret = KeTools.pcmf_stringSubst(xString, "$COLORS", "");
0470: } else {
0471: String l_bgcol = this .pcmf_getBgColor();
0472: String l_fgcol = this .pcmf_getFgColor();
0473:
0474: if (l_bgcol == null && l_fgcol == null) {
0475: l_ret = KeTools
0476: .pcmf_stringSubst(xString, "$COLORS", "");
0477: } else {
0478: l_ret = KeTools.pcmf_stringSubst(xString, "$COLORS",
0479: this .pdm_kit.getCOLORS());
0480:
0481: if (l_fgcol != null)
0482: l_ret = KeTools.pcmf_stringSubst(l_ret, "$FG_C",
0483: l_fgcol);
0484: else
0485: l_ret = KeTools.pcmf_stringSubst(l_ret, "$FG_C",
0486: "black");
0487:
0488: if (l_bgcol != null)
0489: l_ret = KeTools.pcmf_stringSubst(l_ret, "$BG_C",
0490: l_bgcol);
0491: else
0492: l_ret = KeTools.pcmf_stringSubst(l_ret, "$BG_C",
0493: this .pdm_kit.getDEF_BG());
0494: }
0495: }
0496: ;
0497:
0498: if (this .pdm_borderSet == true
0499: && this .pcmf_getBorder() != IUnComponent.NO_BORDER) {
0500: String l_style = "none";
0501: int l_boStyle = this .pcmf_getBorder();
0502:
0503: KeStringTemplate l_wdgBorder = this .pdm_kit.getBORDER();
0504: if (l_boStyle == IUnComponent.LINE_BORDER)
0505: l_style = "solid";
0506: else if (l_boStyle == IUnComponent.INSETS_BORDER)
0507: l_style = "inset";
0508: else if (l_boStyle == IUnComponent.OUTSETS_BORDER)
0509: l_style = "outset";
0510:
0511: l_wdgBorder = KeTools.pcmf_stringSubst(l_wdgBorder,
0512: "$BCOL", this .pcmf_getBorderColor());
0513: l_wdgBorder = KeTools.pcmf_stringSubst(l_wdgBorder,
0514: "$BWIDTH", Integer.toString(this
0515: .pcmf_getBorderWidth()));
0516: l_wdgBorder = KeTools.pcmf_stringSubst(l_wdgBorder,
0517: "$WDGBOR", l_style);
0518:
0519: l_ret = KeTools.pcmf_stringSubst(xString, "$WDGBORDER",
0520: l_wdgBorder.toString());
0521: } else
0522: l_ret = KeTools.pcmf_stringSubst(xString, "$WDGBORDER", "");
0523:
0524: UnFontDescriptor l_font = null;
0525: if (this .pdm_fontSet == false) {
0526: if (this .pcmf_getCssClass() == null)
0527: l_font = this .pcmf_getAppl().pcmf_getUnComponent()
0528: .pcmf_getFont();
0529: } else
0530: l_font = this .pcmf_getFont();
0531:
0532: if (l_font == null) {
0533: l_ret = KeTools.pcmf_stringSubst(l_ret, "$FONT", "");
0534: } else {
0535: l_ret = KeTools.pcmf_stringSubst(l_ret, "$FONT",
0536: this .pdm_kit.getFONT());
0537:
0538: l_ret.pcmf_beginTR();
0539:
0540: l_ret = KeTools.pcmf_stringSubst(l_ret, "$FNAME", l_font
0541: .pcmf_getFontName());
0542: l_ret = KeTools.pcmf_stringSubst(l_ret, "$FSIZE", Integer
0543: .toString(l_font.pcmf_getFontSize()));
0544:
0545: switch (l_font.pcmf_getFontStyle()) {
0546: case Font.ITALIC:
0547: l_ret = KeTools.pcmf_stringSubst(l_ret, "$FSTYLE",
0548: "italic");
0549: l_ret = KeTools.pcmf_stringSubst(l_ret, "$BOLD",
0550: "normal");
0551: break;
0552: case Font.BOLD:
0553: l_ret = KeTools
0554: .pcmf_stringSubst(l_ret, "$BOLD", "bold");
0555: l_ret = KeTools.pcmf_stringSubst(l_ret, "$FSTYLE",
0556: "normal");
0557: break;
0558: default:
0559: l_ret = KeTools.pcmf_stringSubst(l_ret, "$BOLD",
0560: "normal");
0561: l_ret = KeTools.pcmf_stringSubst(l_ret, "$FSTYLE",
0562: "normal");
0563: }
0564:
0565: l_ret.pcmf_endTR(true);
0566: }
0567: return (l_ret);
0568: };
0569:
0570: public final KeStringTemplate pcmf_insertPosition(
0571: KeStringTemplate xString) {
0572: KeStringTemplate l_ret = xString;
0573:
0574: Object l_po = this .pcmf_getParentNode();
0575:
0576: if (l_po instanceof MuGenericApplication) {
0577: if (this .pem_xPos < 0 || this .pem_yPos < 0
0578: || this .pem_wi < 0 || this .pem_hi < 0)
0579: l_ret = KeTools
0580: .pcmf_stringSubst(l_ret, "$POSITION", "");
0581: else {
0582: l_ret.pcmf_beginTR();
0583: l_ret = KeTools.pcmf_stringSubst(l_ret, "$POSITION",
0584: this .pdm_kit.getPOSITION());
0585: l_ret = KeTools.pcmf_stringSubst(l_ret, "$XPOS",
0586: Integer.toString(this .pem_xPos));
0587: l_ret = KeTools.pcmf_stringSubst(l_ret, "$YPOS",
0588: Integer.toString(this .pem_yPos));
0589: l_ret = KeTools.pcmf_stringSubst(l_ret, "$HI", Integer
0590: .toString(this .pem_hi));
0591: l_ret = KeTools.pcmf_stringSubst(l_ret, "$WI", Integer
0592: .toString(this .pem_wi));
0593: l_ret.pcmf_endTR(true);
0594: }
0595: } else if (l_po instanceof MuGenericComponent) {
0596: MuGenericComponent l_parent = (MuGenericComponent) l_po;
0597:
0598: if (this instanceof HtmlPageDecorator
0599: || l_parent.pcmf_isLayout() == false) {
0600: if ((this .pem_xPos < 0 || this .pem_yPos < 0
0601: || this .pem_wi < 0 || this .pem_hi < 0)) {
0602: if (this .pdm_fsize != null
0603: && this .pdm_fsize.pcmf_getType() == UnFixedSize.FIX_SIZE) {
0604: l_ret.pcmf_beginTR();
0605:
0606: l_ret = KeTools.pcmf_stringSubst(l_ret,
0607: "$POSITION", this .pdm_kit.getFSIZE());
0608: int l_w = this .pdm_fsize.pcmf_getW();
0609: int l_h = this .pdm_fsize.pcmf_getH();
0610: if (l_w >= 0)
0611: l_ret = KeTools
0612: .pcmf_stringSubst(l_ret, "$WI",
0613: Integer.toString(l_w)
0614: + "px");
0615: else if (l_w == -1)
0616: l_ret = KeTools.pcmf_stringSubst(l_ret,
0617: "$WI", "100%");
0618: else
0619: l_ret = KeTools.pcmf_stringSubst(l_ret,
0620: "$WI", "");
0621:
0622: if (l_h >= 0)
0623: l_ret = KeTools
0624: .pcmf_stringSubst(l_ret, "$HI",
0625: Integer.toString(l_h)
0626: + "px");
0627: else if (l_h == -1)
0628: l_ret = KeTools.pcmf_stringSubst(l_ret,
0629: "$HI", "100%");
0630: else
0631: l_ret = KeTools.pcmf_stringSubst(l_ret,
0632: "$HI", "");
0633:
0634: l_ret.pcmf_endTR(true);
0635: } else {
0636: KeStringTemplate l_dchpos = l_parent
0637: .pcmf_getCHDPosistion();
0638: if (l_dchpos != null) {
0639: l_ret.pcmf_beginTR();
0640:
0641: l_ret = KeTools.pcmf_stringSubst(l_ret,
0642: "$POSITION", l_dchpos);
0643: if (this .pdm_vfill == true
0644: && this .pdm_hfill == true) {
0645: l_ret = KeTools.pcmf_stringSubst(l_ret,
0646: "$VFILL", "height:100%");
0647: l_ret = KeTools.pcmf_stringSubst(l_ret,
0648: "$HFILL", "width:100%");
0649: } else if (this .pdm_hfill == true
0650: && this .pdm_vfill == false) {
0651: l_ret = KeTools.pcmf_stringSubst(l_ret,
0652: "$HFILL", "width:100%");
0653: l_ret = KeTools.pcmf_stringSubst(l_ret,
0654: "$VFILL", "");
0655: } else if (this .pdm_vfill == true
0656: && this .pdm_hfill == false) {
0657: l_ret = KeTools.pcmf_stringSubst(l_ret,
0658: "$VFILL", "height:100%");
0659: l_ret = KeTools.pcmf_stringSubst(l_ret,
0660: "$HFILL", "");
0661: } else {
0662: l_ret = KeTools.pcmf_stringSubst(l_ret,
0663: "$VFILL", "");
0664: l_ret = KeTools.pcmf_stringSubst(l_ret,
0665: "$HFILL", "");
0666: }
0667: l_ret.pcmf_endTR(true);
0668: } else {
0669: KeStringTemplate l_dpos = this
0670: .pcmf_getDPosistion();
0671: if (l_dpos != null) {
0672: l_ret.pcmf_beginTR();
0673:
0674: l_ret = KeTools.pcmf_stringSubst(l_ret,
0675: "$POSITION", l_dpos);
0676: if (this .pdm_vfill == true
0677: && this .pdm_hfill == true) {
0678: l_ret = KeTools.pcmf_stringSubst(
0679: l_ret, "$VFILL",
0680: "height:100%");
0681: l_ret = KeTools.pcmf_stringSubst(
0682: l_ret, "$HFILL",
0683: "width:100%");
0684: } else if (this .pdm_hfill == true
0685: && this .pdm_vfill == false) {
0686: l_ret = KeTools.pcmf_stringSubst(
0687: l_ret, "$HFILL",
0688: "width:100%");
0689: l_ret = KeTools.pcmf_stringSubst(
0690: l_ret, "$VFILL", "");
0691: } else if (this .pdm_vfill == true
0692: && this .pdm_hfill == false) {
0693: l_ret = KeTools.pcmf_stringSubst(
0694: l_ret, "$VFILL",
0695: "height:100%");
0696: l_ret = KeTools.pcmf_stringSubst(
0697: l_ret, "$HFILL", "");
0698: } else {
0699: l_ret = KeTools.pcmf_stringSubst(
0700: l_ret, "$VFILL", "");
0701: l_ret = KeTools.pcmf_stringSubst(
0702: l_ret, "$HFILL", "");
0703: }
0704: l_ret.pcmf_endTR(true);
0705: } else
0706: l_ret = KeTools.pcmf_stringSubst(l_ret,
0707: "$POSITION", "");
0708: }
0709: }
0710: } else {
0711: l_ret.pcmf_beginTR();
0712: l_ret = KeTools.pcmf_stringSubst(l_ret,
0713: "$POSITION", this .pdm_kit.getPOSITION());
0714: l_ret = KeTools.pcmf_stringSubst(l_ret, "$XPOS",
0715: Integer.toString(this .pem_xPos));
0716: l_ret = KeTools.pcmf_stringSubst(l_ret, "$YPOS",
0717: Integer.toString(this .pem_yPos));
0718: l_ret = KeTools.pcmf_stringSubst(l_ret, "$HI",
0719: Integer.toString(this .pem_hi));
0720: l_ret = KeTools.pcmf_stringSubst(l_ret, "$WI",
0721: Integer.toString(this .pem_wi));
0722: l_ret.pcmf_endTR(true);
0723: }
0724: } else if (l_parent.pcmf_isLayout() == true) {
0725: if (this .pdm_fsize != null
0726: && this .pdm_fsize.pcmf_getType() == UnFixedSize.FIX_SIZE) {
0727: l_ret.pcmf_beginTR();
0728:
0729: l_ret = KeTools.pcmf_stringSubst(l_ret,
0730: "$POSITION", this .pdm_kit.getFSIZE());
0731: int l_w = this .pdm_fsize.pcmf_getW();
0732: int l_h = this .pdm_fsize.pcmf_getH();
0733: if (l_w >= 0)
0734: l_ret = KeTools.pcmf_stringSubst(l_ret, "$WI",
0735: Integer.toString(l_w) + "px");
0736: else if (l_w == -1)
0737: l_ret = KeTools.pcmf_stringSubst(l_ret, "$WI",
0738: "100%");
0739: else
0740: l_ret = KeTools.pcmf_stringSubst(l_ret, "$WI",
0741: "");
0742:
0743: if (l_h >= 0)
0744: l_ret = KeTools.pcmf_stringSubst(l_ret, "$HI",
0745: Integer.toString(l_h) + "px");
0746: else if (l_h == -1)
0747: l_ret = KeTools.pcmf_stringSubst(l_ret, "$HI",
0748: "100%");
0749: else
0750: l_ret = KeTools.pcmf_stringSubst(l_ret, "$HI",
0751: "");
0752:
0753: l_ret.pcmf_endTR(true);
0754: } else if (this .pdm_hfill == true
0755: || this .pdm_vfill == true
0756: || this .pem_dlPos != null) {
0757: l_ret.pcmf_beginTR();
0758:
0759: KeStringTemplate dl_pos = null;
0760:
0761: dl_pos = l_parent.pcmf_getCHDLPosistion();
0762: if (dl_pos == null) {
0763: if (this .pem_dlPos != null)
0764: dl_pos = new KeStringTemplate(
0765: this .pem_dlPos);
0766: else
0767: dl_pos = this .pdm_kit.getDLPOSITION();
0768: }
0769:
0770: l_ret = KeTools.pcmf_stringSubst(l_ret,
0771: "$POSITION", dl_pos);
0772:
0773: if (this .pdm_vfill == true
0774: && this .pdm_hfill == true) {
0775: l_ret = KeTools.pcmf_stringSubst(l_ret,
0776: "$VFILL", "height:100%");
0777: l_ret = KeTools.pcmf_stringSubst(l_ret,
0778: "$HFILL", "width:100%");
0779: } else if (this .pdm_hfill == true
0780: && this .pdm_vfill == false) {
0781: l_ret = KeTools.pcmf_stringSubst(l_ret,
0782: "$HFILL", "width:100%");
0783: l_ret = KeTools.pcmf_stringSubst(l_ret,
0784: "$VFILL", "");
0785: } else if (this .pdm_vfill == true
0786: && this .pdm_hfill == false) {
0787: l_ret = KeTools.pcmf_stringSubst(l_ret,
0788: "$VFILL", "height:100%");
0789: l_ret = KeTools.pcmf_stringSubst(l_ret,
0790: "$HFILL", "");
0791: } else {
0792: l_ret = KeTools.pcmf_stringSubst(l_ret,
0793: "$VFILL", "");
0794: l_ret = KeTools.pcmf_stringSubst(l_ret,
0795: "$HFILL", "");
0796: }
0797:
0798: l_ret.pcmf_endTR(true);
0799: } else {
0800: KeStringTemplate l_dchlpos = l_parent
0801: .pcmf_getMarkupString("CHDLPOSITION");
0802: if (l_dchlpos != null) {
0803: l_ret.pcmf_beginTR();
0804:
0805: l_ret = KeTools.pcmf_stringSubst(l_ret,
0806: "$POSITION", l_dchlpos);
0807: if (this .pdm_vfill == true
0808: && this .pdm_hfill == true) {
0809: l_ret = KeTools.pcmf_stringSubst(l_ret,
0810: "$VFILL", "height:100%");
0811: l_ret = KeTools.pcmf_stringSubst(l_ret,
0812: "$HFILL", "width:100%");
0813: } else if (this .pdm_hfill == true
0814: && this .pdm_vfill == false) {
0815: l_ret = KeTools.pcmf_stringSubst(l_ret,
0816: "$HFILL", "width:100%");
0817: l_ret = KeTools.pcmf_stringSubst(l_ret,
0818: "$VFILL", "");
0819: } else if (this .pdm_vfill == true
0820: && this .pdm_hfill == false) {
0821: l_ret = KeTools.pcmf_stringSubst(l_ret,
0822: "$VFILL", "height:100%");
0823: l_ret = KeTools.pcmf_stringSubst(l_ret,
0824: "$HFILL", "");
0825: } else {
0826: l_ret = KeTools.pcmf_stringSubst(l_ret,
0827: "$VFILL", "");
0828: l_ret = KeTools.pcmf_stringSubst(l_ret,
0829: "$HFILL", "");
0830: }
0831:
0832: l_ret.pcmf_endTR(true);
0833:
0834: } else {
0835: KeStringTemplate l_dpos = this
0836: .pcmf_getDPosistion();
0837: if (l_dpos != null) {
0838: l_ret.pcmf_beginTR();
0839:
0840: l_ret = KeTools.pcmf_stringSubst(l_ret,
0841: "$POSITION", l_dpos);
0842: if (this .pdm_vfill == true
0843: && this .pdm_hfill == true) {
0844: l_ret = KeTools.pcmf_stringSubst(l_ret,
0845: "$VFILL", "height:100%");
0846: l_ret = KeTools.pcmf_stringSubst(l_ret,
0847: "$HFILL", "width:100%");
0848: } else if (this .pdm_hfill == true
0849: && this .pdm_vfill == false) {
0850: l_ret = KeTools.pcmf_stringSubst(l_ret,
0851: "$HFILL", "width:100%");
0852: l_ret = KeTools.pcmf_stringSubst(l_ret,
0853: "$VFILL", "");
0854: } else if (this .pdm_vfill == true
0855: && this .pdm_hfill == false) {
0856: l_ret = KeTools.pcmf_stringSubst(l_ret,
0857: "$VFILL", "height:100%");
0858: l_ret = KeTools.pcmf_stringSubst(l_ret,
0859: "$HFILL", "");
0860: } else {
0861: l_ret = KeTools.pcmf_stringSubst(l_ret,
0862: "$VFILL", "");
0863: l_ret = KeTools.pcmf_stringSubst(l_ret,
0864: "$HFILL", "");
0865: }
0866: l_ret.pcmf_endTR(true);
0867: } else
0868: l_ret = KeTools.pcmf_stringSubst(l_ret,
0869: "$POSITION", "");
0870: }
0871: }
0872: }
0873: } else {
0874: if (this .pdm_fsize != null
0875: && this .pdm_fsize.pcmf_getType() == UnFixedSize.FIX_SIZE) {
0876: l_ret.pcmf_beginTR();
0877:
0878: l_ret = KeTools.pcmf_stringSubst(l_ret, "$POSITION",
0879: this .pdm_kit.getFSIZE());
0880: int l_w = this .pdm_fsize.pcmf_getW();
0881: int l_h = this .pdm_fsize.pcmf_getH();
0882: if (l_w >= 0)
0883: l_ret = KeTools.pcmf_stringSubst(l_ret, "$WI",
0884: Integer.toString(l_w) + "px");
0885: else if (l_w == -1)
0886: l_ret = KeTools.pcmf_stringSubst(l_ret, "$WI",
0887: "100%");
0888: else
0889: l_ret = KeTools.pcmf_stringSubst(l_ret, "$WI", "");
0890:
0891: if (l_h >= 0)
0892: l_ret = KeTools.pcmf_stringSubst(l_ret, "$HI",
0893: Integer.toString(l_h) + "px");
0894: else if (l_h == -1)
0895: l_ret = KeTools.pcmf_stringSubst(l_ret, "$HI",
0896: "100%");
0897: else
0898: l_ret = KeTools.pcmf_stringSubst(l_ret, "$HI", "");
0899:
0900: l_ret.pcmf_endTR(true);
0901: } else
0902: l_ret = KeTools
0903: .pcmf_stringSubst(l_ret, "$POSITION", "");
0904: }
0905:
0906: return (l_ret);
0907: }
0908:
0909: public void pcmf_setPosition(int xPos, int yPos, int xWi, int xHi,
0910: String xAlign) {
0911: if (xPos == this .pem_xPos
0912: && yPos == this .pem_yPos
0913: && xWi == this .pem_wi
0914: && xHi == this .pem_hi
0915: && (xAlign == this .pem_align || this .pem_align
0916: .equals(xAlign)))
0917: return;
0918:
0919: this .pcmf_setPropChanged(true);
0920:
0921: this .pem_xPos = xPos;
0922: this .pem_yPos = yPos;
0923: this .pem_hi = xHi;
0924: this .pem_wi = xWi;
0925:
0926: if (xAlign == null)
0927: this .pem_align = "WEST";
0928: else
0929: this .pem_align = xAlign;
0930:
0931: return;
0932: }
0933:
0934: public int pcmf_getXPos() {
0935: return (this .pem_xPos);
0936: };
0937:
0938: public String pcmf_getAlign() {
0939: return (this .pem_align);
0940: };
0941:
0942: public String pcmf_getAlignHTML() {
0943: if (this .pem_align.equalsIgnoreCase("WEST"))
0944: return ("valign=\"middle\" align=\"left\" ");
0945: else if (this .pem_align.equalsIgnoreCase("EAST"))
0946: return ("valign=\"middle\" align=\"right\" ");
0947: else if (this .pem_align.equalsIgnoreCase("NORTH"))
0948: return ("valign=\"top\" align=\"center\" ");
0949: else if (this .pem_align.equalsIgnoreCase("SOUTH"))
0950: return ("valign=\"bottom\" align=\"center\" ");
0951: else if (this .pem_align.equalsIgnoreCase("CENTER"))
0952: return ("valign=\"middle\" align=\"center\" ");
0953: else if (this .pem_align.equalsIgnoreCase("NORTHWEST"))
0954: return ("valign=\"top\" align=\"left\"");
0955: else if (this .pem_align.equalsIgnoreCase("NORTHEAST"))
0956: return ("valign=\"top\" align=\"right\" ");
0957: else if (this .pem_align.equalsIgnoreCase("SOUTHWEST"))
0958: return ("valign=\"bottom\" align=\"left\" ");
0959: else if (this .pem_align.equalsIgnoreCase("SOUTHEAST"))
0960: return ("valign=\"bottom\" align=\"right\" ");
0961:
0962: return ("valign=\"middle\" align=\"center\" ");
0963: };
0964:
0965: public int pcmf_getYPos() {
0966: return (this .pem_yPos);
0967: };
0968:
0969: public int pcmf_getHi() {
0970: return (this .pem_hi);
0971: };
0972:
0973: public int pcmf_getWi() {
0974: return (this .pem_wi);
0975: };
0976:
0977: public KeTreeElement pcmf_addElement(String xName,
0978: KeTreeElement xNode) {
0979: if (xNode instanceof IUnEventChannel) {
0980: this .pem_serveChannel = true;
0981: if (this .pem_channels == null)
0982: this .pem_channels = new ArrayList();
0983:
0984: this .pem_channels.add(xNode);
0985: } else if (xNode instanceof IUnContextMenu) {
0986: if (this .pem_menu != null)
0987: KeLog.pcmf_log("ug2t",
0988: "widget has a context menu, set new one",
0989: xNode, KeLog.MESSAGE);
0990:
0991: this .pem_menu = (IUnContextMenu) xNode;
0992: }
0993:
0994: return super .pcmf_addElement(xName, xNode);
0995: }
0996:
0997: public KeTreeNode pcmf_addNode(String xName, KeTreeNode xNode) {
0998: if (xNode instanceof IUnEventChannel) {
0999: this .pem_serveChannel = true;
1000: if (this .pem_channels == null)
1001: this .pem_channels = new ArrayList();
1002:
1003: this .pem_channels.add(xNode);
1004: } else if (xNode instanceof IUnContextMenu) {
1005: if (this .pem_menu != null)
1006: KeLog.pcmf_log("ug2t",
1007: "widget has a context menu, set new one",
1008: xNode, KeLog.MESSAGE);
1009:
1010: this .pem_menu = (IUnContextMenu) xNode;
1011: }
1012:
1013: return super .pcmf_addNode(xName, xNode);
1014: }
1015:
1016: public KeTreeElement pcmf_removeElement(KeTreeElement xNode) {
1017: KeTreeElement l_rem = super .pcmf_removeElement(xNode);
1018:
1019: if (xNode == this .pem_menu)
1020: this .pem_menu = null;
1021: else if (l_rem instanceof IUnEventChannel)
1022: this .pem_channels.remove(l_rem);
1023:
1024: if (this .pem_channels != null && this .pem_channels.size() == 0)
1025: this .pem_serveChannel = false;
1026:
1027: return (l_rem);
1028: }
1029:
1030: public KeTreeElement pcmf_removeElement(String xName) {
1031: KeTreeElement l_rem = super .pcmf_removeElement(xName);
1032:
1033: if (l_rem == this .pem_menu)
1034: this .pem_menu = null;
1035: else if (l_rem instanceof IUnEventChannel)
1036: this .pem_channels.remove(l_rem);
1037:
1038: if (this .pem_channels != null && this .pem_channels.size() == 0)
1039: this .pem_serveChannel = false;
1040:
1041: return (l_rem);
1042: }
1043:
1044: public KeTreeNode pcmf_removeNode(KeTreeNode xNode) {
1045: KeTreeNode l_rem = super .pcmf_removeNode(xNode);
1046:
1047: if (xNode == this .pem_menu)
1048: this .pem_menu = null;
1049: else if (l_rem instanceof IUnEventChannel)
1050: this .pem_channels.remove(l_rem);
1051:
1052: if (this .pem_channels != null && this .pem_channels.size() == 0)
1053: this .pem_serveChannel = false;
1054:
1055: return (l_rem);
1056: }
1057:
1058: public KeTreeNode pcmf_removeNode(String xName) {
1059: KeTreeNode l_rem = super .pcmf_removeNode(xName);
1060:
1061: if (l_rem == this .pem_menu)
1062: this .pem_menu = null;
1063: else if (l_rem instanceof IUnEventChannel)
1064: this .pem_channels.remove(l_rem);
1065:
1066: if (this .pem_channels != null && this .pem_channels.size() == 0)
1067: this .pem_serveChannel = false;
1068:
1069: return (l_rem);
1070: }
1071:
1072: // Fokus muss immer gesetzt werden nachdem die aktive Seite unverändertbleibt
1073: // Fokus innerhalb eines iFrames setzen ist nicht möglich
1074: public void pcmf_requestFocus() {
1075: IUnApplication l_appl = this .pcmf_getAppl();
1076: if (l_appl == null)
1077: return;
1078:
1079: MuGenericPage l_page = (MuGenericPage) l_appl.pcmf_getActive();
1080: if (l_page != null)
1081: ((MuGenericPage) l_page).pcmf_assignFocus(this );
1082:
1083: super .pcmf_requestFocus();
1084: }
1085:
1086: public void pcmf_setTabIdx(int xTabIdx) {
1087: if (this .pdm_tabIdx == xTabIdx)
1088: return;
1089:
1090: this .pcmf_setPropChanged(true);
1091:
1092: this .pdm_tabIdx = xTabIdx;
1093: };
1094:
1095: public void pcmf_removeTabIdx() {
1096: this .pcmf_setPropChanged(true);
1097: this .pdm_tabIdx = -1;
1098: }
1099:
1100: public boolean pcmf_isLayout() {
1101: return (false);
1102: };
1103:
1104: public void pcmf_repaint() {
1105: this .pcmf_setPropChanged(true);
1106:
1107: super .pcmf_repaint();
1108: }
1109:
1110: public void pcmf_setFill(boolean xHFill, boolean xVFill) {
1111: this .pdm_hfill = xHFill;
1112: this .pdm_vfill = xVFill;
1113: }
1114:
1115: public MuGenericScrollController pcmf_getScrollCrt() {
1116: return (null);
1117: }
1118:
1119: public MuGenericTemplateKit pcmf_getKit() {
1120: return (this .pdm_kit);
1121: }
1122:
1123: // @@
1124:
1125: public void pcmf_setPropChanged(boolean xPc) {
1126: // @@
1127:
1128: super .pcmf_setPropChanged(xPc);
1129: }
1130:
1131: protected void pdmf_setPropChangedNoRepaint(boolean xPc) {
1132: // @@
1133:
1134: super .pdmf_setPropChanged(xPc);
1135: }
1136:
1137: public void pcmf_refreshValue(Object xObj) {
1138: // @@
1139:
1140: this .pcmf_setValue(xObj);
1141:
1142: return;
1143: };
1144:
1145: public void pcmf_setNeedRepaintOnValueSet(boolean xRp) {
1146: this .pem_needAppRepaintOnValueSet = xRp;
1147: }
1148:
1149: public boolean pcmf_getNeedRepaintOnValueSet() {
1150: return (this .pem_needAppRepaintOnValueSet);
1151: }
1152:
1153: public void pcmf_setNeedRepaint(boolean xRp) {
1154: this .pem_needAppRepaint = xRp;
1155: }
1156:
1157: public boolean pcmf_getNeedRepaint() {
1158: return (this .pem_needAppRepaint);
1159: }
1160:
1161: public void pcmf_setDifferentialRepaint(boolean xRp) {
1162: this .pem_differentialRepaint = xRp;
1163: }
1164:
1165: public boolean pcmf_getDifferentialRepaint() {
1166: return (this .pem_differentialRepaint);
1167: }
1168:
1169: public void pcmf_setWidgetValue(Object xObj) {
1170: this .pcmf_setValue(xObj);
1171: try {
1172: if (this .pcmf_getPropChanged() && this .pcmf_isSubmit())
1173: this .pcmf_dispatchEvent();
1174: } catch (Exception e) {
1175: KeLog.pcmf_log("ug2t",
1176: "Error dispatching event from setValue", this ,
1177: KeLog.ERROR);
1178: }
1179: }
1180:
1181: public void pcmf_toggleHideState() {
1182: super .pcmf_toggleHideState();
1183: this .pem_checkParentRepaint();
1184:
1185: return;
1186: };
1187:
1188: public boolean pcmf_testToHidden() {
1189: boolean l_ret = this .pem_toHidden;
1190: this .pem_toHidden = false;
1191: return (l_ret);
1192: }
1193:
1194: public void pcmf_hide() {
1195: this .pem_toHidden = true;
1196: super .pcmf_hide();
1197: this .pem_checkParentRepaint();
1198:
1199: return;
1200: };
1201:
1202: public void pcmf_unhide() {
1203: super .pcmf_unhide();
1204: this .pem_checkParentRepaint();
1205:
1206: return;
1207: };
1208:
1209: public boolean pcmf_getVFill() {
1210: return (this .pdm_vfill);
1211: }
1212:
1213: public boolean pcmf_getHFill() {
1214: return (this .pdm_hfill);
1215: }
1216:
1217: private void pem_checkParentRepaint() {
1218: if (this .pem_needWrap == false) {
1219: Iterator l_it = this .pcmf_getParentsList().iterator();
1220: while (l_it.hasNext()) {
1221: Object l_obj = l_it.next();
1222: if (l_obj instanceof UnComponent)
1223: ((UnComponent) l_obj).pcmf_repaint();
1224: }
1225: }
1226: }
1227:
1228: public boolean pcmf_serveChannel() {
1229: return (this .pem_serveChannel);
1230: }
1231:
1232: public boolean pcmf_hasCtxMenu() {
1233: return (this .pem_menu != null);
1234: }
1235:
1236: public Object pcmf_execView() {
1237: try {
1238: if (this .pcmf_isHidden() && !this .pcmf_getRenderIfHidden()) {
1239: this .pcmf_setPropChanged(false);
1240: Iterator l_it = this .pcmf_getDeepSubNodeIt();
1241: while (l_it.hasNext())
1242: ((KeTreeElement) l_it.next())
1243: .pcmf_setPropChanged(false);
1244:
1245: return (((MuGenericApplication) this .pcmf_getAppl())
1246: .pcmf_getRenderer().pcmf_wrapMarkup("", this ));
1247: }
1248:
1249: return (((MuGenericApplication) this .pcmf_getAppl())
1250: .pcmf_getRenderer().pcmf_wrapMarkup(pdm_NodeView
1251: .pcmf_output(this ).toString()
1252: + pcmf_evChannelandMenuOut(), this ));
1253: } catch (Exception e) {
1254: KeLog.pcmf_logException("ug2t", this , e);
1255: return ("ERROR");
1256: }
1257: };
1258: }
|