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: /JADE/SourceCode/com/salmonllc/html/HtmlLine.java $
024: //$Author: Dan $
025: //$Revision: 7 $
026: //$Modtime: 10/30/02 2:58p $
027: /////////////////////////
028:
029: /**
030: * This type can be used to add a horizontal line to your page.
031: */
032: public class HtmlLine extends HtmlComponent {
033: public static final String ALIGN_LEFT = "LEFT";
034: public static final String ALIGN_CENTER = "CENTER";
035: public static final String ALIGN_RIGHT = "RIGHT";
036: public static final String ALIGN_NONE = "";
037:
038: public static final int SIZE_PERCENT = 0;
039: public static final int SIZE_PIXELS = 1;
040:
041: private String _align = ALIGN_NONE;
042: private boolean _shade = true;
043: private int _width = -1;
044: private int _thickness = -1;
045: private int _sizeOption = SIZE_PERCENT;
046:
047: /**
048: * Constructs a line object for the page
049: */
050: public HtmlLine(HtmlPage p) {
051: super ("", p);
052: }
053:
054: public void generateHTML(java.io.PrintWriter p, int rowNo) {
055: if (!getVisible())
056: return;
057:
058: String out = "<HR";
059:
060: if (_align != null)
061: if (!_align.equals(ALIGN_NONE))
062: out += " ALIGN=\"" + _align + "\"";
063:
064: if (!_shade)
065: out += " NOSHADE";
066:
067: if (_thickness > -1)
068: out += " SIZE=\"" + _thickness + "\"";
069:
070: if (_width > -1) {
071: out += " WIDTH=\"" + _width;
072: if (_sizeOption == SIZE_PERCENT)
073: out += "%";
074: out += "\"";
075: }
076:
077: out += ">";
078:
079: p.println(out);
080: }
081:
082: /**
083: * Returns the alignment property for the table.
084: * @return align Valid values are ALIGN_LEFT,ALIGN_CENTER,ALIGN_RIGHT and ALIGN_NONE.
085: */
086: public String getAlign() {
087: return _align;
088: }
089:
090: /**
091: * This method gets whether or not the line is shaded.
092: */
093: public boolean getShade() {
094: return _shade;
095: }
096:
097: /**
098: * This method returns the size option for the table and each cell in it. Valid return values are SIZE_PIXELS or SIZE_PERCENT.
099: */
100: public int getSizeOption() {
101: return _sizeOption;
102: }
103:
104: /**
105: * This method returns the thickness of the line in pixels.
106: */
107: public int getThickness() {
108: return _thickness;
109: }
110:
111: /**
112: * This method returns the width (either in pixels or percent depending on the size option) of the component.
113: */
114: public int getWidth() {
115: return _width;
116: }
117:
118: /**
119: * Sets the alignment property for the table.
120: * @param align Valid values are ALIGN_LEFT,ALIGN_CENTER,ALIGN_RIGHT and ALIGN_NONE.
121: */
122:
123: public void setAlign(String align) {
124: _align = align;
125: }
126:
127: /**
128: * This method sets whether or not the line is shaded.
129: */
130: public void setShade(boolean shade) {
131: _shade = shade;
132: }
133:
134: /**
135: * This method sets the size option for the table and each cell in it. Valid return values are SIZE_PIXELS or SIZE_PERCENT.
136: */
137: public void setSizeOption(int option) {
138: _sizeOption = option;
139: }
140:
141: /**
142: * This method sets the thickness of the line in pixels.
143: */
144: public void setThickness(int thickness) {
145: _thickness = thickness;
146: }
147:
148: /**
149: * This method sets the minimum width of the line in either pixels or percent depending on size option.
150: */
151: public void setWidth(int width) {
152: _width = width;
153: }
154: }
|