0001: /*
0002: * Copyright 2005 Joe Walker
0003: *
0004: * Licensed under the Apache License, Version 2.0 (the "License");
0005: * you may not use this file except in compliance with the License.
0006: * You may obtain a copy of the License at
0007: *
0008: * http://www.apache.org/licenses/LICENSE-2.0
0009: *
0010: * Unless required by applicable law or agreed to in writing, software
0011: * distributed under the License is distributed on an "AS IS" BASIS,
0012: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0013: * See the License for the specific language governing permissions and
0014: * limitations under the License.
0015: */
0016: package jsx3.gui;
0017:
0018: import org.directwebremoting.ScriptBuffer;
0019: import org.directwebremoting.proxy.ScriptProxy;
0020: import org.directwebremoting.proxy.io.Context;
0021:
0022: /**
0023: * A GUI control that implements a single radio button.
0024:
0025: Several radio buttons may be organized into a group ("radio group") with the groupName property.
0026: No more than one radio button of the set of radio buttons sharing a single groupName value may be
0027: selected at one time.
0028: * @author Joe Walker [joe at getahead dot org]
0029: * @author DRAPGEN - Dwr Reverse Ajax Proxy GENerator
0030: */
0031: public class RadioButton extends jsx3.gui.Block {
0032: /**
0033: * All reverse ajax proxies need context to work from
0034: * @param scriptProxy The place we are writing scripts to
0035: * @param context The script that got us to where we are now
0036: */
0037: public RadioButton(Context context, String extension,
0038: ScriptProxy scriptProxy) {
0039: super (context, extension, scriptProxy);
0040: }
0041:
0042: /**
0043: * The instance initializer.
0044: * @param strName a unique name distinguishing this object from all other JSX GUI objects in the JSX application.
0045: * @param vntLeft the left offset of this object from the parent container as a number (in pixels) or a string css value.
0046: * @param vntTop the top offset of this object from the parent container as a number (in pixels) or a string css value.
0047: * @param vntWidth the width of this object as a number (in pixels) or a string css value.
0048: * @param vntHeight the height of this object as a number (in pixels) or a string css value.
0049: * @param strText the text/HTML markup to display with the radio button.
0050: * @param strValue the value of the radio button (equivalent to the <code>value</code> property on a standard HTML radio button).
0051: * @param strGroupName the group name of the radio button (equivalent to the <code>name</code> property on a standard HTML radio button).
0052: * @param intSelected the default selection state of the radio button. <code>SELECTED</code> or
0053: <code>UNSELECTED</code>. <code>null</code> is equivalent to <code>SELECTED</code>.
0054: */
0055: public RadioButton(String strName, int vntLeft, int vntTop,
0056: int vntWidth, String vntHeight, String strText,
0057: String strValue, String strGroupName, int intSelected) {
0058: super ((Context) null, (String) null, (ScriptProxy) null);
0059: ScriptBuffer script = new ScriptBuffer();
0060: script.appendCall("new RadioButton", strName, vntLeft, vntTop,
0061: vntWidth, vntHeight, strText, strValue, strGroupName,
0062: intSelected);
0063: setInitScript(script);
0064: }
0065:
0066: /**
0067: * The instance initializer.
0068: * @param strName a unique name distinguishing this object from all other JSX GUI objects in the JSX application.
0069: * @param vntLeft the left offset of this object from the parent container as a number (in pixels) or a string css value.
0070: * @param vntTop the top offset of this object from the parent container as a number (in pixels) or a string css value.
0071: * @param vntWidth the width of this object as a number (in pixels) or a string css value.
0072: * @param vntHeight the height of this object as a number (in pixels) or a string css value.
0073: * @param strText the text/HTML markup to display with the radio button.
0074: * @param strValue the value of the radio button (equivalent to the <code>value</code> property on a standard HTML radio button).
0075: * @param strGroupName the group name of the radio button (equivalent to the <code>name</code> property on a standard HTML radio button).
0076: * @param intSelected the default selection state of the radio button. <code>SELECTED</code> or
0077: <code>UNSELECTED</code>. <code>null</code> is equivalent to <code>SELECTED</code>.
0078: */
0079: public RadioButton(String strName, String vntLeft, String vntTop,
0080: int vntWidth, String vntHeight, String strText,
0081: String strValue, String strGroupName, int intSelected) {
0082: super ((Context) null, (String) null, (ScriptProxy) null);
0083: ScriptBuffer script = new ScriptBuffer();
0084: script.appendCall("new RadioButton", strName, vntLeft, vntTop,
0085: vntWidth, vntHeight, strText, strValue, strGroupName,
0086: intSelected);
0087: setInitScript(script);
0088: }
0089:
0090: /**
0091: * The instance initializer.
0092: * @param strName a unique name distinguishing this object from all other JSX GUI objects in the JSX application.
0093: * @param vntLeft the left offset of this object from the parent container as a number (in pixels) or a string css value.
0094: * @param vntTop the top offset of this object from the parent container as a number (in pixels) or a string css value.
0095: * @param vntWidth the width of this object as a number (in pixels) or a string css value.
0096: * @param vntHeight the height of this object as a number (in pixels) or a string css value.
0097: * @param strText the text/HTML markup to display with the radio button.
0098: * @param strValue the value of the radio button (equivalent to the <code>value</code> property on a standard HTML radio button).
0099: * @param strGroupName the group name of the radio button (equivalent to the <code>name</code> property on a standard HTML radio button).
0100: * @param intSelected the default selection state of the radio button. <code>SELECTED</code> or
0101: <code>UNSELECTED</code>. <code>null</code> is equivalent to <code>SELECTED</code>.
0102: */
0103: public RadioButton(String strName, int vntLeft, String vntTop,
0104: int vntWidth, int vntHeight, String strText,
0105: String strValue, String strGroupName, int intSelected) {
0106: super ((Context) null, (String) null, (ScriptProxy) null);
0107: ScriptBuffer script = new ScriptBuffer();
0108: script.appendCall("new RadioButton", strName, vntLeft, vntTop,
0109: vntWidth, vntHeight, strText, strValue, strGroupName,
0110: intSelected);
0111: setInitScript(script);
0112: }
0113:
0114: /**
0115: * The instance initializer.
0116: * @param strName a unique name distinguishing this object from all other JSX GUI objects in the JSX application.
0117: * @param vntLeft the left offset of this object from the parent container as a number (in pixels) or a string css value.
0118: * @param vntTop the top offset of this object from the parent container as a number (in pixels) or a string css value.
0119: * @param vntWidth the width of this object as a number (in pixels) or a string css value.
0120: * @param vntHeight the height of this object as a number (in pixels) or a string css value.
0121: * @param strText the text/HTML markup to display with the radio button.
0122: * @param strValue the value of the radio button (equivalent to the <code>value</code> property on a standard HTML radio button).
0123: * @param strGroupName the group name of the radio button (equivalent to the <code>name</code> property on a standard HTML radio button).
0124: * @param intSelected the default selection state of the radio button. <code>SELECTED</code> or
0125: <code>UNSELECTED</code>. <code>null</code> is equivalent to <code>SELECTED</code>.
0126: */
0127: public RadioButton(String strName, String vntLeft, String vntTop,
0128: String vntWidth, int vntHeight, String strText,
0129: String strValue, String strGroupName, int intSelected) {
0130: super ((Context) null, (String) null, (ScriptProxy) null);
0131: ScriptBuffer script = new ScriptBuffer();
0132: script.appendCall("new RadioButton", strName, vntLeft, vntTop,
0133: vntWidth, vntHeight, strText, strValue, strGroupName,
0134: intSelected);
0135: setInitScript(script);
0136: }
0137:
0138: /**
0139: * The instance initializer.
0140: * @param strName a unique name distinguishing this object from all other JSX GUI objects in the JSX application.
0141: * @param vntLeft the left offset of this object from the parent container as a number (in pixels) or a string css value.
0142: * @param vntTop the top offset of this object from the parent container as a number (in pixels) or a string css value.
0143: * @param vntWidth the width of this object as a number (in pixels) or a string css value.
0144: * @param vntHeight the height of this object as a number (in pixels) or a string css value.
0145: * @param strText the text/HTML markup to display with the radio button.
0146: * @param strValue the value of the radio button (equivalent to the <code>value</code> property on a standard HTML radio button).
0147: * @param strGroupName the group name of the radio button (equivalent to the <code>name</code> property on a standard HTML radio button).
0148: * @param intSelected the default selection state of the radio button. <code>SELECTED</code> or
0149: <code>UNSELECTED</code>. <code>null</code> is equivalent to <code>SELECTED</code>.
0150: */
0151: public RadioButton(String strName, String vntLeft, int vntTop,
0152: String vntWidth, String vntHeight, String strText,
0153: String strValue, String strGroupName, int intSelected) {
0154: super ((Context) null, (String) null, (ScriptProxy) null);
0155: ScriptBuffer script = new ScriptBuffer();
0156: script.appendCall("new RadioButton", strName, vntLeft, vntTop,
0157: vntWidth, vntHeight, strText, strValue, strGroupName,
0158: intSelected);
0159: setInitScript(script);
0160: }
0161:
0162: /**
0163: * The instance initializer.
0164: * @param strName a unique name distinguishing this object from all other JSX GUI objects in the JSX application.
0165: * @param vntLeft the left offset of this object from the parent container as a number (in pixels) or a string css value.
0166: * @param vntTop the top offset of this object from the parent container as a number (in pixels) or a string css value.
0167: * @param vntWidth the width of this object as a number (in pixels) or a string css value.
0168: * @param vntHeight the height of this object as a number (in pixels) or a string css value.
0169: * @param strText the text/HTML markup to display with the radio button.
0170: * @param strValue the value of the radio button (equivalent to the <code>value</code> property on a standard HTML radio button).
0171: * @param strGroupName the group name of the radio button (equivalent to the <code>name</code> property on a standard HTML radio button).
0172: * @param intSelected the default selection state of the radio button. <code>SELECTED</code> or
0173: <code>UNSELECTED</code>. <code>null</code> is equivalent to <code>SELECTED</code>.
0174: */
0175: public RadioButton(String strName, int vntLeft, String vntTop,
0176: String vntWidth, String vntHeight, String strText,
0177: String strValue, String strGroupName, int intSelected) {
0178: super ((Context) null, (String) null, (ScriptProxy) null);
0179: ScriptBuffer script = new ScriptBuffer();
0180: script.appendCall("new RadioButton", strName, vntLeft, vntTop,
0181: vntWidth, vntHeight, strText, strValue, strGroupName,
0182: intSelected);
0183: setInitScript(script);
0184: }
0185:
0186: /**
0187: * The instance initializer.
0188: * @param strName a unique name distinguishing this object from all other JSX GUI objects in the JSX application.
0189: * @param vntLeft the left offset of this object from the parent container as a number (in pixels) or a string css value.
0190: * @param vntTop the top offset of this object from the parent container as a number (in pixels) or a string css value.
0191: * @param vntWidth the width of this object as a number (in pixels) or a string css value.
0192: * @param vntHeight the height of this object as a number (in pixels) or a string css value.
0193: * @param strText the text/HTML markup to display with the radio button.
0194: * @param strValue the value of the radio button (equivalent to the <code>value</code> property on a standard HTML radio button).
0195: * @param strGroupName the group name of the radio button (equivalent to the <code>name</code> property on a standard HTML radio button).
0196: * @param intSelected the default selection state of the radio button. <code>SELECTED</code> or
0197: <code>UNSELECTED</code>. <code>null</code> is equivalent to <code>SELECTED</code>.
0198: */
0199: public RadioButton(String strName, int vntLeft, int vntTop,
0200: String vntWidth, String vntHeight, String strText,
0201: String strValue, String strGroupName, int intSelected) {
0202: super ((Context) null, (String) null, (ScriptProxy) null);
0203: ScriptBuffer script = new ScriptBuffer();
0204: script.appendCall("new RadioButton", strName, vntLeft, vntTop,
0205: vntWidth, vntHeight, strText, strValue, strGroupName,
0206: intSelected);
0207: setInitScript(script);
0208: }
0209:
0210: /**
0211: * The instance initializer.
0212: * @param strName a unique name distinguishing this object from all other JSX GUI objects in the JSX application.
0213: * @param vntLeft the left offset of this object from the parent container as a number (in pixels) or a string css value.
0214: * @param vntTop the top offset of this object from the parent container as a number (in pixels) or a string css value.
0215: * @param vntWidth the width of this object as a number (in pixels) or a string css value.
0216: * @param vntHeight the height of this object as a number (in pixels) or a string css value.
0217: * @param strText the text/HTML markup to display with the radio button.
0218: * @param strValue the value of the radio button (equivalent to the <code>value</code> property on a standard HTML radio button).
0219: * @param strGroupName the group name of the radio button (equivalent to the <code>name</code> property on a standard HTML radio button).
0220: * @param intSelected the default selection state of the radio button. <code>SELECTED</code> or
0221: <code>UNSELECTED</code>. <code>null</code> is equivalent to <code>SELECTED</code>.
0222: */
0223: public RadioButton(String strName, String vntLeft, String vntTop,
0224: int vntWidth, int vntHeight, String strText,
0225: String strValue, String strGroupName, int intSelected) {
0226: super ((Context) null, (String) null, (ScriptProxy) null);
0227: ScriptBuffer script = new ScriptBuffer();
0228: script.appendCall("new RadioButton", strName, vntLeft, vntTop,
0229: vntWidth, vntHeight, strText, strValue, strGroupName,
0230: intSelected);
0231: setInitScript(script);
0232: }
0233:
0234: /**
0235: * The instance initializer.
0236: * @param strName a unique name distinguishing this object from all other JSX GUI objects in the JSX application.
0237: * @param vntLeft the left offset of this object from the parent container as a number (in pixels) or a string css value.
0238: * @param vntTop the top offset of this object from the parent container as a number (in pixels) or a string css value.
0239: * @param vntWidth the width of this object as a number (in pixels) or a string css value.
0240: * @param vntHeight the height of this object as a number (in pixels) or a string css value.
0241: * @param strText the text/HTML markup to display with the radio button.
0242: * @param strValue the value of the radio button (equivalent to the <code>value</code> property on a standard HTML radio button).
0243: * @param strGroupName the group name of the radio button (equivalent to the <code>name</code> property on a standard HTML radio button).
0244: * @param intSelected the default selection state of the radio button. <code>SELECTED</code> or
0245: <code>UNSELECTED</code>. <code>null</code> is equivalent to <code>SELECTED</code>.
0246: */
0247: public RadioButton(String strName, int vntLeft, int vntTop,
0248: String vntWidth, int vntHeight, String strText,
0249: String strValue, String strGroupName, int intSelected) {
0250: super ((Context) null, (String) null, (ScriptProxy) null);
0251: ScriptBuffer script = new ScriptBuffer();
0252: script.appendCall("new RadioButton", strName, vntLeft, vntTop,
0253: vntWidth, vntHeight, strText, strValue, strGroupName,
0254: intSelected);
0255: setInitScript(script);
0256: }
0257:
0258: /**
0259: * The instance initializer.
0260: * @param strName a unique name distinguishing this object from all other JSX GUI objects in the JSX application.
0261: * @param vntLeft the left offset of this object from the parent container as a number (in pixels) or a string css value.
0262: * @param vntTop the top offset of this object from the parent container as a number (in pixels) or a string css value.
0263: * @param vntWidth the width of this object as a number (in pixels) or a string css value.
0264: * @param vntHeight the height of this object as a number (in pixels) or a string css value.
0265: * @param strText the text/HTML markup to display with the radio button.
0266: * @param strValue the value of the radio button (equivalent to the <code>value</code> property on a standard HTML radio button).
0267: * @param strGroupName the group name of the radio button (equivalent to the <code>name</code> property on a standard HTML radio button).
0268: * @param intSelected the default selection state of the radio button. <code>SELECTED</code> or
0269: <code>UNSELECTED</code>. <code>null</code> is equivalent to <code>SELECTED</code>.
0270: */
0271: public RadioButton(String strName, String vntLeft, int vntTop,
0272: String vntWidth, int vntHeight, String strText,
0273: String strValue, String strGroupName, int intSelected) {
0274: super ((Context) null, (String) null, (ScriptProxy) null);
0275: ScriptBuffer script = new ScriptBuffer();
0276: script.appendCall("new RadioButton", strName, vntLeft, vntTop,
0277: vntWidth, vntHeight, strText, strValue, strGroupName,
0278: intSelected);
0279: setInitScript(script);
0280: }
0281:
0282: /**
0283: * The instance initializer.
0284: * @param strName a unique name distinguishing this object from all other JSX GUI objects in the JSX application.
0285: * @param vntLeft the left offset of this object from the parent container as a number (in pixels) or a string css value.
0286: * @param vntTop the top offset of this object from the parent container as a number (in pixels) or a string css value.
0287: * @param vntWidth the width of this object as a number (in pixels) or a string css value.
0288: * @param vntHeight the height of this object as a number (in pixels) or a string css value.
0289: * @param strText the text/HTML markup to display with the radio button.
0290: * @param strValue the value of the radio button (equivalent to the <code>value</code> property on a standard HTML radio button).
0291: * @param strGroupName the group name of the radio button (equivalent to the <code>name</code> property on a standard HTML radio button).
0292: * @param intSelected the default selection state of the radio button. <code>SELECTED</code> or
0293: <code>UNSELECTED</code>. <code>null</code> is equivalent to <code>SELECTED</code>.
0294: */
0295: public RadioButton(String strName, int vntLeft, String vntTop,
0296: String vntWidth, int vntHeight, String strText,
0297: String strValue, String strGroupName, int intSelected) {
0298: super ((Context) null, (String) null, (ScriptProxy) null);
0299: ScriptBuffer script = new ScriptBuffer();
0300: script.appendCall("new RadioButton", strName, vntLeft, vntTop,
0301: vntWidth, vntHeight, strText, strValue, strGroupName,
0302: intSelected);
0303: setInitScript(script);
0304: }
0305:
0306: /**
0307: * The instance initializer.
0308: * @param strName a unique name distinguishing this object from all other JSX GUI objects in the JSX application.
0309: * @param vntLeft the left offset of this object from the parent container as a number (in pixels) or a string css value.
0310: * @param vntTop the top offset of this object from the parent container as a number (in pixels) or a string css value.
0311: * @param vntWidth the width of this object as a number (in pixels) or a string css value.
0312: * @param vntHeight the height of this object as a number (in pixels) or a string css value.
0313: * @param strText the text/HTML markup to display with the radio button.
0314: * @param strValue the value of the radio button (equivalent to the <code>value</code> property on a standard HTML radio button).
0315: * @param strGroupName the group name of the radio button (equivalent to the <code>name</code> property on a standard HTML radio button).
0316: * @param intSelected the default selection state of the radio button. <code>SELECTED</code> or
0317: <code>UNSELECTED</code>. <code>null</code> is equivalent to <code>SELECTED</code>.
0318: */
0319: public RadioButton(String strName, int vntLeft, String vntTop,
0320: int vntWidth, String vntHeight, String strText,
0321: String strValue, String strGroupName, int intSelected) {
0322: super ((Context) null, (String) null, (ScriptProxy) null);
0323: ScriptBuffer script = new ScriptBuffer();
0324: script.appendCall("new RadioButton", strName, vntLeft, vntTop,
0325: vntWidth, vntHeight, strText, strValue, strGroupName,
0326: intSelected);
0327: setInitScript(script);
0328: }
0329:
0330: /**
0331: * The instance initializer.
0332: * @param strName a unique name distinguishing this object from all other JSX GUI objects in the JSX application.
0333: * @param vntLeft the left offset of this object from the parent container as a number (in pixels) or a string css value.
0334: * @param vntTop the top offset of this object from the parent container as a number (in pixels) or a string css value.
0335: * @param vntWidth the width of this object as a number (in pixels) or a string css value.
0336: * @param vntHeight the height of this object as a number (in pixels) or a string css value.
0337: * @param strText the text/HTML markup to display with the radio button.
0338: * @param strValue the value of the radio button (equivalent to the <code>value</code> property on a standard HTML radio button).
0339: * @param strGroupName the group name of the radio button (equivalent to the <code>name</code> property on a standard HTML radio button).
0340: * @param intSelected the default selection state of the radio button. <code>SELECTED</code> or
0341: <code>UNSELECTED</code>. <code>null</code> is equivalent to <code>SELECTED</code>.
0342: */
0343: public RadioButton(String strName, String vntLeft, String vntTop,
0344: String vntWidth, String vntHeight, String strText,
0345: String strValue, String strGroupName, int intSelected) {
0346: super ((Context) null, (String) null, (ScriptProxy) null);
0347: ScriptBuffer script = new ScriptBuffer();
0348: script.appendCall("new RadioButton", strName, vntLeft, vntTop,
0349: vntWidth, vntHeight, strText, strValue, strGroupName,
0350: intSelected);
0351: setInitScript(script);
0352: }
0353:
0354: /**
0355: * The instance initializer.
0356: * @param strName a unique name distinguishing this object from all other JSX GUI objects in the JSX application.
0357: * @param vntLeft the left offset of this object from the parent container as a number (in pixels) or a string css value.
0358: * @param vntTop the top offset of this object from the parent container as a number (in pixels) or a string css value.
0359: * @param vntWidth the width of this object as a number (in pixels) or a string css value.
0360: * @param vntHeight the height of this object as a number (in pixels) or a string css value.
0361: * @param strText the text/HTML markup to display with the radio button.
0362: * @param strValue the value of the radio button (equivalent to the <code>value</code> property on a standard HTML radio button).
0363: * @param strGroupName the group name of the radio button (equivalent to the <code>name</code> property on a standard HTML radio button).
0364: * @param intSelected the default selection state of the radio button. <code>SELECTED</code> or
0365: <code>UNSELECTED</code>. <code>null</code> is equivalent to <code>SELECTED</code>.
0366: */
0367: public RadioButton(String strName, int vntLeft, int vntTop,
0368: int vntWidth, int vntHeight, String strText,
0369: String strValue, String strGroupName, int intSelected) {
0370: super ((Context) null, (String) null, (ScriptProxy) null);
0371: ScriptBuffer script = new ScriptBuffer();
0372: script.appendCall("new RadioButton", strName, vntLeft, vntTop,
0373: vntWidth, vntHeight, strText, strValue, strGroupName,
0374: intSelected);
0375: setInitScript(script);
0376: }
0377:
0378: /**
0379: * The instance initializer.
0380: * @param strName a unique name distinguishing this object from all other JSX GUI objects in the JSX application.
0381: * @param vntLeft the left offset of this object from the parent container as a number (in pixels) or a string css value.
0382: * @param vntTop the top offset of this object from the parent container as a number (in pixels) or a string css value.
0383: * @param vntWidth the width of this object as a number (in pixels) or a string css value.
0384: * @param vntHeight the height of this object as a number (in pixels) or a string css value.
0385: * @param strText the text/HTML markup to display with the radio button.
0386: * @param strValue the value of the radio button (equivalent to the <code>value</code> property on a standard HTML radio button).
0387: * @param strGroupName the group name of the radio button (equivalent to the <code>name</code> property on a standard HTML radio button).
0388: * @param intSelected the default selection state of the radio button. <code>SELECTED</code> or
0389: <code>UNSELECTED</code>. <code>null</code> is equivalent to <code>SELECTED</code>.
0390: */
0391: public RadioButton(String strName, String vntLeft, int vntTop,
0392: int vntWidth, String vntHeight, String strText,
0393: String strValue, String strGroupName, int intSelected) {
0394: super ((Context) null, (String) null, (ScriptProxy) null);
0395: ScriptBuffer script = new ScriptBuffer();
0396: script.appendCall("new RadioButton", strName, vntLeft, vntTop,
0397: vntWidth, vntHeight, strText, strValue, strGroupName,
0398: intSelected);
0399: setInitScript(script);
0400: }
0401:
0402: /**
0403: * The instance initializer.
0404: * @param strName a unique name distinguishing this object from all other JSX GUI objects in the JSX application.
0405: * @param vntLeft the left offset of this object from the parent container as a number (in pixels) or a string css value.
0406: * @param vntTop the top offset of this object from the parent container as a number (in pixels) or a string css value.
0407: * @param vntWidth the width of this object as a number (in pixels) or a string css value.
0408: * @param vntHeight the height of this object as a number (in pixels) or a string css value.
0409: * @param strText the text/HTML markup to display with the radio button.
0410: * @param strValue the value of the radio button (equivalent to the <code>value</code> property on a standard HTML radio button).
0411: * @param strGroupName the group name of the radio button (equivalent to the <code>name</code> property on a standard HTML radio button).
0412: * @param intSelected the default selection state of the radio button. <code>SELECTED</code> or
0413: <code>UNSELECTED</code>. <code>null</code> is equivalent to <code>SELECTED</code>.
0414: */
0415: public RadioButton(String strName, String vntLeft, int vntTop,
0416: int vntWidth, int vntHeight, String strText,
0417: String strValue, String strGroupName, int intSelected) {
0418: super ((Context) null, (String) null, (ScriptProxy) null);
0419: ScriptBuffer script = new ScriptBuffer();
0420: script.appendCall("new RadioButton", strName, vntLeft, vntTop,
0421: vntWidth, vntHeight, strText, strValue, strGroupName,
0422: intSelected);
0423: setInitScript(script);
0424: }
0425:
0426: /**
0427: * Value for the selected field indicating an unselected radio button.
0428: */
0429: public static final int UNSELECTED = 0;
0430:
0431: /**
0432: * Value for the selected field indicating a selected radio button.
0433: */
0434: public static final int SELECTED = 1;
0435:
0436: /**
0437: * jsx30radio
0438: */
0439: public static final String DEFAULTCLASSNAME = "jsx30radio";
0440:
0441: /**
0442: * Returns the group name of this radio button, which is equivalent to the name property on a
0443: standard HTML radio button.
0444: */
0445: @SuppressWarnings("unchecked")
0446: public void getGroupName(
0447: org.directwebremoting.proxy.Callback<String> callback) {
0448: ScriptBuffer script = new ScriptBuffer();
0449: String callbackPrefix = "";
0450:
0451: if (callback != null) {
0452: callbackPrefix = "var reply = ";
0453: }
0454:
0455: script.appendCall(callbackPrefix + getContextPath()
0456: + "getGroupName");
0457:
0458: if (callback != null) {
0459: String key = org.directwebremoting.extend.CallbackHelper
0460: .saveCallback(callback, String.class);
0461: script
0462: .appendCall("__System.activateCallback", key,
0463: "reply");
0464: }
0465:
0466: getScriptProxy().addScript(script);
0467: }
0468:
0469: /**
0470: * Sets the group name of this radio button. If this property is set, this radio button will be a member of the set
0471: of radio buttons sharing the same value for this property. No more than one member of this set may be selected
0472: at one time.
0473: * @param strGroupName the new group name.
0474: */
0475: public void setGroupName(String strGroupName) {
0476: ScriptBuffer script = new ScriptBuffer();
0477: script.appendCall(getContextPath() + "setGroupName",
0478: strGroupName);
0479: getScriptProxy().addScript(script);
0480: }
0481:
0482: /**
0483: * Returns the default selection state of this radio button. To get the current state use getSelected().
0484: * @param callback <code>SELECTED</code> or <code>UNSELECTED</code>.
0485: */
0486: @SuppressWarnings("unchecked")
0487: public void getDefaultSelected(
0488: org.directwebremoting.proxy.Callback<Integer> callback) {
0489: ScriptBuffer script = new ScriptBuffer();
0490: String callbackPrefix = "";
0491:
0492: if (callback != null) {
0493: callbackPrefix = "var reply = ";
0494: }
0495:
0496: script.appendCall(callbackPrefix + getContextPath()
0497: + "getDefaultSelected");
0498:
0499: if (callback != null) {
0500: String key = org.directwebremoting.extend.CallbackHelper
0501: .saveCallback(callback, Integer.class);
0502: script
0503: .appendCall("__System.activateCallback", key,
0504: "reply");
0505: }
0506:
0507: getScriptProxy().addScript(script);
0508: }
0509:
0510: /**
0511: * Sets the default selection state of this radio button.
0512: * @param intSelected <code>SELECTED</code> or <code>UNSELECTED</code>.
0513: * @return this object.
0514: */
0515: public jsx3.gui.RadioButton setDefaultSelected(int intSelected) {
0516: ScriptBuffer script = new ScriptBuffer();
0517: script.appendCall(getContextPath() + "setDefaultSelected",
0518: intSelected);
0519: getScriptProxy().addScript(script);
0520: return this ;
0521: }
0522:
0523: /**
0524: * Returns the current selection state of this radio button.
0525: * @param callback <code>SELECTED</code> or <code>UNSELECTED</code>.
0526: */
0527: @SuppressWarnings("unchecked")
0528: public void getSelected(
0529: org.directwebremoting.proxy.Callback<Integer> callback) {
0530: ScriptBuffer script = new ScriptBuffer();
0531: String callbackPrefix = "";
0532:
0533: if (callback != null) {
0534: callbackPrefix = "var reply = ";
0535: }
0536:
0537: script.appendCall(callbackPrefix + getContextPath()
0538: + "getSelected");
0539:
0540: if (callback != null) {
0541: String key = org.directwebremoting.extend.CallbackHelper
0542: .saveCallback(callback, Integer.class);
0543: script
0544: .appendCall("__System.activateCallback", key,
0545: "reply");
0546: }
0547:
0548: getScriptProxy().addScript(script);
0549: }
0550:
0551: /**
0552: * Sets the current selection state of this radio button. This method immediately updates the view of this
0553: object if it is currently rendered on the screen. If intSelected is equal to SELECTED
0554: any other radio buttons in the radio group of this object will be unselected.
0555: * @param intSelected if <code>SELECTED</code> or <code>null</code>, this object is selected, otherwise it
0556: is unselected.
0557: * @param objGUI
0558: * @return this object.
0559: */
0560: public jsx3.gui.RadioButton setSelected(int intSelected,
0561: jsx3.lang.Object objGUI) {
0562: ScriptBuffer script = new ScriptBuffer();
0563: script.appendCall(getContextPath() + "setSelected",
0564: intSelected, objGUI);
0565: getScriptProxy().addScript(script);
0566: return this ;
0567: }
0568:
0569: /**
0570: * Returns the list of sibling radio buttons. This list is comprised of the radio buttons whose groupName property
0571: is equal to the groupName property of this radio button. The return value does not include this radio button.
0572: This method will only return siblings if this radio button is rendered and will only return sibling radio
0573: buttons that are also rendered on screen.
0574: * @param bRendered
0575: */
0576: @SuppressWarnings("unchecked")
0577: public void getSiblings(boolean bRendered,
0578: org.directwebremoting.proxy.Callback<Object[]> callback) {
0579: ScriptBuffer script = new ScriptBuffer();
0580: String callbackPrefix = "";
0581:
0582: if (callback != null) {
0583: callbackPrefix = "var reply = ";
0584: }
0585:
0586: script.appendCall(callbackPrefix + getContextPath()
0587: + "getSiblings", bRendered);
0588:
0589: if (callback != null) {
0590: String key = org.directwebremoting.extend.CallbackHelper
0591: .saveCallback(callback, Object[].class);
0592: script
0593: .appendCall("__System.activateCallback", key,
0594: "reply");
0595: }
0596:
0597: getScriptProxy().addScript(script);
0598: }
0599:
0600: /**
0601: * Returns the value of this radio button. When this radio button is selected, the value of its radio group is
0602: equal to the value of this radio button.
0603: * @param callback the value of this radio button.
0604: */
0605: @SuppressWarnings("unchecked")
0606: public void getValue(
0607: org.directwebremoting.proxy.Callback<String> callback) {
0608: ScriptBuffer script = new ScriptBuffer();
0609: String callbackPrefix = "";
0610:
0611: if (callback != null) {
0612: callbackPrefix = "var reply = ";
0613: }
0614:
0615: script.appendCall(callbackPrefix + getContextPath()
0616: + "getValue");
0617:
0618: if (callback != null) {
0619: String key = org.directwebremoting.extend.CallbackHelper
0620: .saveCallback(callback, String.class);
0621: script
0622: .appendCall("__System.activateCallback", key,
0623: "reply");
0624: }
0625:
0626: getScriptProxy().addScript(script);
0627: }
0628:
0629: /**
0630: * Sets the value of this radio button.
0631: * @param strValue the value of this radiobutton. In general, each radio button is a radio group has
0632: a unique value.
0633: * @return this object.
0634: */
0635: public jsx3.gui.RadioButton setValue(String strValue) {
0636: ScriptBuffer script = new ScriptBuffer();
0637: script.appendCall(getContextPath() + "setValue", strValue);
0638: getScriptProxy().addScript(script);
0639: return this ;
0640: }
0641:
0642: /**
0643: * Returns the value of the selected radio button in the radio group of this radio button.
0644: * @param callback the value of the selected radio button or <code>null</code> if no button is selected.
0645: */
0646: @SuppressWarnings("unchecked")
0647: public void getGroupValue(
0648: org.directwebremoting.proxy.Callback<String> callback) {
0649: ScriptBuffer script = new ScriptBuffer();
0650: String callbackPrefix = "";
0651:
0652: if (callback != null) {
0653: callbackPrefix = "var reply = ";
0654: }
0655:
0656: script.appendCall(callbackPrefix + getContextPath()
0657: + "getGroupValue");
0658:
0659: if (callback != null) {
0660: String key = org.directwebremoting.extend.CallbackHelper
0661: .saveCallback(callback, String.class);
0662: script
0663: .appendCall("__System.activateCallback", key,
0664: "reply");
0665: }
0666:
0667: getScriptProxy().addScript(script);
0668: }
0669:
0670: /**
0671: * Sets the selected radio button of the radio group of this radio button by value.
0672: * @param strValue the value of the radio button of the radio group of this radio button to select.
0673: */
0674: public void setGroupValue(String strValue) {
0675: ScriptBuffer script = new ScriptBuffer();
0676: script.appendCall(getContextPath() + "setGroupValue", strValue);
0677: getScriptProxy().addScript(script);
0678: }
0679:
0680: /**
0681: * Validates that this radio button is selected if it is required. A radiobutton will pass validation if it is
0682: optional or if it is required and it or one of its sibling radio buttons is selected.
0683: * @param callback <code>jsx3.gui.Form.STATEVALID</code> or <code>jsx3.gui.Form.INSTATEVALID</code>.
0684: */
0685: @SuppressWarnings("unchecked")
0686: public void doValidate(
0687: org.directwebremoting.proxy.Callback<Integer> callback) {
0688: ScriptBuffer script = new ScriptBuffer();
0689: String callbackPrefix = "";
0690:
0691: if (callback != null) {
0692: callbackPrefix = "var reply = ";
0693: }
0694:
0695: script.appendCall(callbackPrefix + getContextPath()
0696: + "doValidate");
0697:
0698: if (callback != null) {
0699: String key = org.directwebremoting.extend.CallbackHelper
0700: .saveCallback(callback, Integer.class);
0701: script
0702: .appendCall("__System.activateCallback", key,
0703: "reply");
0704: }
0705:
0706: getScriptProxy().addScript(script);
0707: }
0708:
0709: /**
0710: * Binds the given key sequence to a callback function. Any object that has a key binding (specified with
0711: setKeyBinding()) will call this method when painted to register the key sequence with an appropriate
0712: ancestor of this form control. Any key down event that bubbles up to the ancestor without being intercepted
0713: and matches the given key sequence will invoke the given callback function.
0714:
0715: As of 3.2: The hot key will be registered with the first ancestor found that is either a
0716: jsx3.gui.Window, a jsx3.gui.Dialog, or the root block of a jsx3.app.Server.
0717: * @param fctCallback JavaScript function to execute when the given sequence is keyed by the user.
0718: * @param strKeys a plus-delimited ('+') key sequence such as <code>ctrl+s</code> or
0719: <code>ctrl+shift+alt+h</code> or <code>shift+a</code>, etc. Any combination of shift, ctrl, and alt are
0720: supported, including none. Also supported as the final token are <code>enter</code>, <code>esc</code>,
0721: <code>tab</code>, <code>del</code>, and <code>space</code>. To specify the final token as a key code, the
0722: last token can be the key code contained in brackets, <code>[13]</code>.
0723: * @return the registered hot key.
0724: */
0725: @SuppressWarnings("unchecked")
0726: public jsx3.gui.HotKey doKeyBinding(
0727: org.directwebremoting.proxy.CodeBlock fctCallback,
0728: String strKeys) {
0729: String extension = "doKeyBinding(\"" + fctCallback + "\", \""
0730: + strKeys + "\").";
0731: try {
0732: java.lang.reflect.Constructor<jsx3.gui.HotKey> ctor = jsx3.gui.HotKey.class
0733: .getConstructor(Context.class, String.class,
0734: ScriptProxy.class);
0735: return ctor.newInstance(this , extension, getScriptProxy());
0736: } catch (Exception ex) {
0737: throw new IllegalArgumentException("Unsupported type: "
0738: + jsx3.gui.HotKey.class.getName());
0739: }
0740: }
0741:
0742: /**
0743: * Resets the validation state of this control.
0744: * @return this object.
0745: */
0746: @SuppressWarnings("unchecked")
0747: public jsx3.gui.Form doReset() {
0748: String extension = "doReset().";
0749: try {
0750: java.lang.reflect.Constructor<jsx3.gui.Form> ctor = jsx3.gui.Form.class
0751: .getConstructor(Context.class, String.class,
0752: ScriptProxy.class);
0753: return ctor.newInstance(this , extension, getScriptProxy());
0754: } catch (Exception ex) {
0755: throw new IllegalArgumentException("Unsupported type: "
0756: + jsx3.gui.Form.class.getName());
0757: }
0758: }
0759:
0760: /**
0761: * Resets the validation state of this control.
0762: * @param returnType The expected return type
0763: * @return this object.
0764: */
0765: @SuppressWarnings("unchecked")
0766: public <T> T doReset(Class<T> returnType) {
0767: String extension = "doReset().";
0768: try {
0769: java.lang.reflect.Constructor<T> ctor = returnType
0770: .getConstructor(Context.class, String.class,
0771: ScriptProxy.class);
0772: return ctor.newInstance(this , extension, getScriptProxy());
0773: } catch (Exception ex) {
0774: throw new IllegalArgumentException(
0775: "Unsupported return type: " + returnType.getName());
0776: }
0777: }
0778:
0779: /**
0780: * Returns the background color of this control when it is disabled.
0781: * @param callback valid CSS property value, (i.e., red, #ff0000)
0782: */
0783: @SuppressWarnings("unchecked")
0784: public void getDisabledBackgroundColor(
0785: org.directwebremoting.proxy.Callback<String> callback) {
0786: ScriptBuffer script = new ScriptBuffer();
0787: String callbackPrefix = "";
0788:
0789: if (callback != null) {
0790: callbackPrefix = "var reply = ";
0791: }
0792:
0793: script.appendCall(callbackPrefix + getContextPath()
0794: + "getDisabledBackgroundColor");
0795:
0796: if (callback != null) {
0797: String key = org.directwebremoting.extend.CallbackHelper
0798: .saveCallback(callback, String.class);
0799: script
0800: .appendCall("__System.activateCallback", key,
0801: "reply");
0802: }
0803:
0804: getScriptProxy().addScript(script);
0805: }
0806:
0807: /**
0808: * Returns the font color to use when this control is disabled.
0809: * @param callback valid CSS property value, (i.e., red, #ff0000)
0810: */
0811: @SuppressWarnings("unchecked")
0812: public void getDisabledColor(
0813: org.directwebremoting.proxy.Callback<String> callback) {
0814: ScriptBuffer script = new ScriptBuffer();
0815: String callbackPrefix = "";
0816:
0817: if (callback != null) {
0818: callbackPrefix = "var reply = ";
0819: }
0820:
0821: script.appendCall(callbackPrefix + getContextPath()
0822: + "getDisabledColor");
0823:
0824: if (callback != null) {
0825: String key = org.directwebremoting.extend.CallbackHelper
0826: .saveCallback(callback, String.class);
0827: script
0828: .appendCall("__System.activateCallback", key,
0829: "reply");
0830: }
0831:
0832: getScriptProxy().addScript(script);
0833: }
0834:
0835: /**
0836: * Returns the state for the form field control. If no enabled state is set, this method returns
0837: STATEENABLED.
0838: * @param callback <code>STATEDISABLED</code> or <code>STATEENABLED</code>.
0839: */
0840: @SuppressWarnings("unchecked")
0841: public void getEnabled(
0842: org.directwebremoting.proxy.Callback<Integer> callback) {
0843: ScriptBuffer script = new ScriptBuffer();
0844: String callbackPrefix = "";
0845:
0846: if (callback != null) {
0847: callbackPrefix = "var reply = ";
0848: }
0849:
0850: script.appendCall(callbackPrefix + getContextPath()
0851: + "getEnabled");
0852:
0853: if (callback != null) {
0854: String key = org.directwebremoting.extend.CallbackHelper
0855: .saveCallback(callback, Integer.class);
0856: script
0857: .appendCall("__System.activateCallback", key,
0858: "reply");
0859: }
0860:
0861: getScriptProxy().addScript(script);
0862: }
0863:
0864: /**
0865: * Returns the key binding that when keyed will fire the execute event for this control.
0866: * @param callback plus-delimited (e.g.,'+') key sequence such as ctrl+s or ctrl+shift+alt+h or shift+a, etc
0867: */
0868: @SuppressWarnings("unchecked")
0869: public void getKeyBinding(
0870: org.directwebremoting.proxy.Callback<String> callback) {
0871: ScriptBuffer script = new ScriptBuffer();
0872: String callbackPrefix = "";
0873:
0874: if (callback != null) {
0875: callbackPrefix = "var reply = ";
0876: }
0877:
0878: script.appendCall(callbackPrefix + getContextPath()
0879: + "getKeyBinding");
0880:
0881: if (callback != null) {
0882: String key = org.directwebremoting.extend.CallbackHelper
0883: .saveCallback(callback, String.class);
0884: script
0885: .appendCall("__System.activateCallback", key,
0886: "reply");
0887: }
0888:
0889: getScriptProxy().addScript(script);
0890: }
0891:
0892: /**
0893: * Returns whether or not this control is required. If the required property has never been set, this method returns
0894: OPTIONAL.
0895: * @param callback <code>REQUIRED</code> or <code>OPTIONAL</code>.
0896: */
0897: @SuppressWarnings("unchecked")
0898: public void getRequired(
0899: org.directwebremoting.proxy.Callback<Integer> callback) {
0900: ScriptBuffer script = new ScriptBuffer();
0901: String callbackPrefix = "";
0902:
0903: if (callback != null) {
0904: callbackPrefix = "var reply = ";
0905: }
0906:
0907: script.appendCall(callbackPrefix + getContextPath()
0908: + "getRequired");
0909:
0910: if (callback != null) {
0911: String key = org.directwebremoting.extend.CallbackHelper
0912: .saveCallback(callback, Integer.class);
0913: script
0914: .appendCall("__System.activateCallback", key,
0915: "reply");
0916: }
0917:
0918: getScriptProxy().addScript(script);
0919: }
0920:
0921: /**
0922: * Returns the validation state of this control. If the validationState property has never been set, this method returns
0923: STATEVALID.
0924: * @param callback <code>STATEINVALID</code> or <code>STATEVALID</code>.
0925: */
0926: @SuppressWarnings("unchecked")
0927: public void getValidationState(
0928: org.directwebremoting.proxy.Callback<Integer> callback) {
0929: ScriptBuffer script = new ScriptBuffer();
0930: String callbackPrefix = "";
0931:
0932: if (callback != null) {
0933: callbackPrefix = "var reply = ";
0934: }
0935:
0936: script.appendCall(callbackPrefix + getContextPath()
0937: + "getValidationState");
0938:
0939: if (callback != null) {
0940: String key = org.directwebremoting.extend.CallbackHelper
0941: .saveCallback(callback, Integer.class);
0942: script
0943: .appendCall("__System.activateCallback", key,
0944: "reply");
0945: }
0946:
0947: getScriptProxy().addScript(script);
0948: }
0949:
0950: /**
0951: * Sets the background color of this form control when it is disabled.
0952: * @param strColor valid CSS property value, (i.e., red, #ff0000)
0953: * @return this object.
0954: */
0955: @SuppressWarnings("unchecked")
0956: public jsx3.gui.Form setDisabledBackgroundColor(String strColor) {
0957: String extension = "setDisabledBackgroundColor(\"" + strColor
0958: + "\").";
0959: try {
0960: java.lang.reflect.Constructor<jsx3.gui.Form> ctor = jsx3.gui.Form.class
0961: .getConstructor(Context.class, String.class,
0962: ScriptProxy.class);
0963: return ctor.newInstance(this , extension, getScriptProxy());
0964: } catch (Exception ex) {
0965: throw new IllegalArgumentException("Unsupported type: "
0966: + jsx3.gui.Form.class.getName());
0967: }
0968: }
0969:
0970: /**
0971: * Sets the background color of this form control when it is disabled.
0972: * @param strColor valid CSS property value, (i.e., red, #ff0000)
0973: * @param returnType The expected return type
0974: * @return this object.
0975: */
0976: @SuppressWarnings("unchecked")
0977: public <T> T setDisabledBackgroundColor(String strColor,
0978: Class<T> returnType) {
0979: String extension = "setDisabledBackgroundColor(\"" + strColor
0980: + "\").";
0981: try {
0982: java.lang.reflect.Constructor<T> ctor = returnType
0983: .getConstructor(Context.class, String.class,
0984: ScriptProxy.class);
0985: return ctor.newInstance(this , extension, getScriptProxy());
0986: } catch (Exception ex) {
0987: throw new IllegalArgumentException(
0988: "Unsupported return type: " + returnType.getName());
0989: }
0990: }
0991:
0992: /**
0993: * Sets the font color to use when this control is disabled.
0994: * @param strColor valid CSS property value, (i.e., red, #ff0000)
0995: * @return this object.
0996: */
0997: @SuppressWarnings("unchecked")
0998: public jsx3.gui.Form setDisabledColor(String strColor) {
0999: String extension = "setDisabledColor(\"" + strColor + "\").";
1000: try {
1001: java.lang.reflect.Constructor<jsx3.gui.Form> ctor = jsx3.gui.Form.class
1002: .getConstructor(Context.class, String.class,
1003: ScriptProxy.class);
1004: return ctor.newInstance(this , extension, getScriptProxy());
1005: } catch (Exception ex) {
1006: throw new IllegalArgumentException("Unsupported type: "
1007: + jsx3.gui.Form.class.getName());
1008: }
1009: }
1010:
1011: /**
1012: * Sets the font color to use when this control is disabled.
1013: * @param strColor valid CSS property value, (i.e., red, #ff0000)
1014: * @param returnType The expected return type
1015: * @return this object.
1016: */
1017: @SuppressWarnings("unchecked")
1018: public <T> T setDisabledColor(String strColor, Class<T> returnType) {
1019: String extension = "setDisabledColor(\"" + strColor + "\").";
1020: try {
1021: java.lang.reflect.Constructor<T> ctor = returnType
1022: .getConstructor(Context.class, String.class,
1023: ScriptProxy.class);
1024: return ctor.newInstance(this , extension, getScriptProxy());
1025: } catch (Exception ex) {
1026: throw new IllegalArgumentException(
1027: "Unsupported return type: " + returnType.getName());
1028: }
1029: }
1030:
1031: /**
1032: * Sets whether this control is enabled. Disabled controls do not respond to user interaction.
1033: * @param intEnabled <code>STATEDISABLED</code> or <code>STATEENABLED</code>. <code>null</code> is
1034: equivalent to <code>STATEENABLED</code>.
1035: * @param bRepaint if <code>true</code> this control is immediately repainted to reflect the new setting.
1036: */
1037: public void setEnabled(int intEnabled, boolean bRepaint) {
1038: ScriptBuffer script = new ScriptBuffer();
1039: script.appendCall(getContextPath() + "setEnabled", intEnabled,
1040: bRepaint);
1041: getScriptProxy().addScript(script);
1042: }
1043:
1044: /**
1045: * Sets the key binding that when keyed will fire the bound execute (jsx3.gui.Interactive.EXECUTE)
1046: event for this control.
1047: * @param strSequence plus-delimited (e.g.,'+') key sequence such as ctrl+s or ctrl+shift+alt+h or shift+a, etc
1048: * @return this object.
1049: */
1050: @SuppressWarnings("unchecked")
1051: public jsx3.gui.Form setKeyBinding(String strSequence) {
1052: String extension = "setKeyBinding(\"" + strSequence + "\").";
1053: try {
1054: java.lang.reflect.Constructor<jsx3.gui.Form> ctor = jsx3.gui.Form.class
1055: .getConstructor(Context.class, String.class,
1056: ScriptProxy.class);
1057: return ctor.newInstance(this , extension, getScriptProxy());
1058: } catch (Exception ex) {
1059: throw new IllegalArgumentException("Unsupported type: "
1060: + jsx3.gui.Form.class.getName());
1061: }
1062: }
1063:
1064: /**
1065: * Sets the key binding that when keyed will fire the bound execute (jsx3.gui.Interactive.EXECUTE)
1066: event for this control.
1067: * @param strSequence plus-delimited (e.g.,'+') key sequence such as ctrl+s or ctrl+shift+alt+h or shift+a, etc
1068: * @param returnType The expected return type
1069: * @return this object.
1070: */
1071: @SuppressWarnings("unchecked")
1072: public <T> T setKeyBinding(String strSequence, Class<T> returnType) {
1073: String extension = "setKeyBinding(\"" + strSequence + "\").";
1074: try {
1075: java.lang.reflect.Constructor<T> ctor = returnType
1076: .getConstructor(Context.class, String.class,
1077: ScriptProxy.class);
1078: return ctor.newInstance(this , extension, getScriptProxy());
1079: } catch (Exception ex) {
1080: throw new IllegalArgumentException(
1081: "Unsupported return type: " + returnType.getName());
1082: }
1083: }
1084:
1085: /**
1086: * Sets whether or not this control is required.
1087: * @param required {int} <code>REQUIRED</code> or <code>OPTIONAL</code>.
1088: * @return this object.
1089: */
1090: @SuppressWarnings("unchecked")
1091: public jsx3.gui.Form setRequired(int required) {
1092: String extension = "setRequired(\"" + required + "\").";
1093: try {
1094: java.lang.reflect.Constructor<jsx3.gui.Form> ctor = jsx3.gui.Form.class
1095: .getConstructor(Context.class, String.class,
1096: ScriptProxy.class);
1097: return ctor.newInstance(this , extension, getScriptProxy());
1098: } catch (Exception ex) {
1099: throw new IllegalArgumentException("Unsupported type: "
1100: + jsx3.gui.Form.class.getName());
1101: }
1102: }
1103:
1104: /**
1105: * Sets whether or not this control is required.
1106: * @param required {int} <code>REQUIRED</code> or <code>OPTIONAL</code>.
1107: * @param returnType The expected return type
1108: * @return this object.
1109: */
1110: @SuppressWarnings("unchecked")
1111: public <T> T setRequired(int required, Class<T> returnType) {
1112: String extension = "setRequired(\"" + required + "\").";
1113: try {
1114: java.lang.reflect.Constructor<T> ctor = returnType
1115: .getConstructor(Context.class, String.class,
1116: ScriptProxy.class);
1117: return ctor.newInstance(this , extension, getScriptProxy());
1118: } catch (Exception ex) {
1119: throw new IllegalArgumentException(
1120: "Unsupported return type: " + returnType.getName());
1121: }
1122: }
1123:
1124: /**
1125: * Sets the validation state of this control. The validation state of a control is not serialized.
1126: * @param intState <code>STATEINVALID</code> or <code>STATEVALID</code>.
1127: * @return this object.
1128: */
1129: @SuppressWarnings("unchecked")
1130: public jsx3.gui.Form setValidationState(int intState) {
1131: String extension = "setValidationState(\"" + intState + "\").";
1132: try {
1133: java.lang.reflect.Constructor<jsx3.gui.Form> ctor = jsx3.gui.Form.class
1134: .getConstructor(Context.class, String.class,
1135: ScriptProxy.class);
1136: return ctor.newInstance(this , extension, getScriptProxy());
1137: } catch (Exception ex) {
1138: throw new IllegalArgumentException("Unsupported type: "
1139: + jsx3.gui.Form.class.getName());
1140: }
1141: }
1142:
1143: /**
1144: * Sets the validation state of this control. The validation state of a control is not serialized.
1145: * @param intState <code>STATEINVALID</code> or <code>STATEVALID</code>.
1146: * @param returnType The expected return type
1147: * @return this object.
1148: */
1149: @SuppressWarnings("unchecked")
1150: public <T> T setValidationState(int intState, Class<T> returnType) {
1151: String extension = "setValidationState(\"" + intState + "\").";
1152: try {
1153: java.lang.reflect.Constructor<T> ctor = returnType
1154: .getConstructor(Context.class, String.class,
1155: ScriptProxy.class);
1156: return ctor.newInstance(this , extension, getScriptProxy());
1157: } catch (Exception ex) {
1158: throw new IllegalArgumentException(
1159: "Unsupported return type: " + returnType.getName());
1160: }
1161: }
1162:
1163: }
|