diff options
| author | Benjamin Culkin <scorpress@gmail.com> | 2024-05-19 17:56:33 -0400 |
|---|---|---|
| committer | Benjamin Culkin <scorpress@gmail.com> | 2024-05-19 17:56:33 -0400 |
| commit | aedc34d55462a75e329bbf342251ff6504cd117e (patch) | |
| tree | bcc8f1f2352582717b484df302aeea6696b8f000 /projects/net.wotonomy.web/src/main/java/net/wotonomy/web/WOText.java | |
Initial import from SVN
Diffstat (limited to 'projects/net.wotonomy.web/src/main/java/net/wotonomy/web/WOText.java')
| -rw-r--r-- | projects/net.wotonomy.web/src/main/java/net/wotonomy/web/WOText.java | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/projects/net.wotonomy.web/src/main/java/net/wotonomy/web/WOText.java b/projects/net.wotonomy.web/src/main/java/net/wotonomy/web/WOText.java new file mode 100644 index 0000000..008fda8 --- /dev/null +++ b/projects/net.wotonomy.web/src/main/java/net/wotonomy/web/WOText.java @@ -0,0 +1,72 @@ +/* + Wotonomy: OpenStep design patterns for pure Java applications. + Copyright (C) 2000 Blacksmith, Inc. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, see http://www.gnu.org + */ + +package net.wotonomy.web; + +import net.wotonomy.foundation.NSArray; +import net.wotonomy.foundation.NSDictionary; + +/** +* Implements a TEXTAREA element, with dynamic bindings. + * @author michael@mpowers.net + * @author $Author: cgruber $ + * @version $Revision: 905 $ + */ +public class WOText extends WOInput { + + public WOText() { + super(); + } + + public WOText(String n, NSDictionary m, WOElement t) { + super(n, m, t); + } + + protected String inputType() { + return "TEXTAREA"; + } + + protected Object value(WOContext c) { + Object fieldValue = valueForProperty("value", c.component()); + if (fieldValue == null) { + fieldValue = ""; + } + return formattedValue(fieldValue, c.component()); + } + + public void takeValuesFromRequest(WORequest r, WOContext c) { + Object val = r.formValueForKey(inputName(c)); + if ( val != null ) + setValueForProperty("value", formattedValue(val, c.component()), c.component()); + } + + public void appendToResponse(WOResponse r, WOContext c) { + r.appendContentString("<TEXTAREA NAME=\""); + r.appendContentString(inputName(c)); + r.appendContentString("\""); + String moreFields = additionalHTMLProperties(c.component(), new NSArray(new Object[]{ + "name", "value" })); + if (moreFields != null && moreFields.length() > 0) + r.appendContentString(moreFields); + r.appendContentString(">"); + moreFields = value(c).toString(); + if (moreFields != null && moreFields.length() > 0) + r.appendContentString(moreFields); + r.appendContentString("</TEXTAREA>"); + } +} |
