001: //** Copyright Statement ***************************************************
002: //The Salmon Open Framework for Internet Applications (SOFIA)
003: // Copyright (C) 1999 - 2002, Salmon LLC
004: //
005: // This program is free software; you can redistribute it and/or
006: // modify it under the terms of the GNU General Public License version 2
007: // as published by the Free Software Foundation;
008: //
009: // This program is distributed in the hope that it will be useful,
010: // but WITHOUT ANY WARRANTY; without even the implied warranty of
011: // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
012: // GNU General Public License for more details.
013: //
014: // You should have received a copy of the GNU General Public License
015: // along with this program; if not, write to the Free Software
016: // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
017: //
018: // For more information please visit http://www.salmonllc.com
019: //** End Copyright Statement ***************************************************
020: package com.salmonllc.html;
021:
022: /////////////////////////
023: //$Archive: /SOFIA/SourceCode/com/salmonllc/html/HtmlResetButton.java $
024: //$Author: Dan $
025: //$Revision: 9 $
026: //$Modtime: 6/11/03 4:27p $
027: /////////////////////////
028:
029: import com.salmonllc.properties.*;
030:
031: /**
032: * This class generates an html reset button for a page.
033: */
034: public class HtmlResetButton extends HtmlComponent {
035: String _dispName = "";
036: String _onClick = null;
037: private String _fontTagStart = null;
038: private String _fontTagEnd = null;
039: private String _theme;
040:
041: /**
042: * Constructs a new Submit Button.
043: * @param name Each component on a page must have a unique name.
044: * @param dispName The text to appear on the button.
045: * @param p A Props object that will be used to initialize any properties in the object.
046: */
047: public HtmlResetButton(String name, String dispName, HtmlPage p) {
048: this (name, dispName, null, p);
049: }
050:
051: /**
052: * Constructs a new Submit Button.
053: * @param name Each component on a page must have a unique name.
054: * @param dispName The text to appear on the button.
055: * @param theme The theme to use for loading properties.
056: * @param p A Props object that will be used to initialize any properties in the object.
057: */
058: public HtmlResetButton(String name, String dispName, String theme,
059: HtmlPage p) {
060: super (name, p);
061: _dispName = dispName;
062: setTheme(theme);
063: }
064:
065: public void generateHTML(java.io.PrintWriter p, int rowNo)
066: throws Exception {
067: if (!getVisible())
068: return;
069:
070: String out = "<INPUT TYPE=\"RESET\" name=\"" + getFullName()
071: + "\" value=\"" + _dispName + "\"";
072:
073: if (_onClick != null)
074: out += " onClick=\"" + _onClick + "\"";
075:
076: out += ">";
077:
078: if (_fontTagStart != null)
079: out = _fontTagStart + out + _fontTagEnd;
080:
081: p.println(out);
082: }
083:
084: /**
085: * This method returns the text that will be displayed on the button in the browser.
086: * @return java.lang.String
087: */
088: public String getDisplayName() {
089: return _dispName;
090: }
091:
092: /**
093: * This method gets the end font tag for the component.
094: */
095: public String getFontEndTag() {
096: return _fontTagEnd;
097: }
098:
099: /**
100: * This method gets the start font tag for the component.
101: */
102: public String getFontStartTag() {
103: return _fontTagStart;
104: }
105:
106: /**
107: * This method gets the javascript that will be executed when the button is clicked.
108: */
109: public String getOnClick() {
110: return _onClick;
111: }
112:
113: /**
114: * This method returns the property theme for the component.
115: * @param theme The theme to use.
116: */
117: public String getTheme() {
118: return _theme;
119: }
120:
121: /**
122: * This method sets the text that will appear on the button in the browser.
123: */
124: public void setDisplayName(String name) {
125: _dispName = name;
126: }
127:
128: /**
129: * This method sets the end font tag for the component.
130: */
131: public void setFontEndTag(String value) {
132: _fontTagEnd = value;
133: }
134:
135: /**
136: * This method sets the start font tag for the component.
137: */
138: public void setFontStartTag(String value) {
139: _fontTagStart = value;
140: }
141:
142: /**
143: * This method sets the javascript that will be executed when the button is clicked.
144: */
145: public void setOnClick(String onClick) {
146: _onClick = onClick;
147: }
148:
149: /**
150: * This method sets the property theme for the component.
151: * @param theme The theme to use.
152: */
153: public void setTheme(String theme) {
154: Props props = getPage().getPageProperties();
155: _fontTagStart = props.getThemeProperty(theme, Props.FONT_BUTTON
156: + Props.TAG_START);
157: _fontTagEnd = props.getThemeProperty(theme, Props.FONT_BUTTON
158: + Props.TAG_END);
159: _theme = theme;
160: }
161: }
|