001: /*
002: * ============================================================================
003: * GNU Lesser General Public License
004: * ============================================================================
005: *
006: * JasperReports - Free Java report-generating library.
007: * Copyright (C) 2001-2006 JasperSoft Corporation http://www.jaspersoft.com
008: *
009: * This library is free software; you can redistribute it and/or
010: * modify it under the terms of the GNU Lesser General Public
011: * License as published by the Free Software Foundation; either
012: * version 2.1 of the License, or (at your option) any later version.
013: *
014: * This library is distributed in the hope that it will be useful,
015: * but WITHOUT ANY WARRANTY; without even the implied warranty of
016: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
017: * Lesser General Public License for more details.
018: *
019: * You should have received a copy of the GNU Lesser General Public
020: * License along with this library; if not, write to the Free Software
021: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
022: *
023: * JasperSoft Corporation
024: * 303 Second Street, Suite 450 North
025: * San Francisco, CA 94107
026: * http://www.jaspersoft.com
027: */
028: package net.sf.jasperreports.crosstabs.design;
029:
030: import java.awt.Color;
031:
032: import net.sf.jasperreports.crosstabs.JRCellContents;
033: import net.sf.jasperreports.engine.JRBox;
034: import net.sf.jasperreports.engine.JRConstants;
035: import net.sf.jasperreports.engine.JRDefaultStyleProvider;
036: import net.sf.jasperreports.engine.JRStyle;
037: import net.sf.jasperreports.engine.design.JRDesignElementGroup;
038:
039: /**
040: * Implementation of {@link net.sf.jasperreports.crosstabs.JRCellContents JRCellContents} used for
041: * report design.
042: *
043: * @author Lucian Chirita (lucianc@users.sourceforge.net)
044: * @version $Id: JRDesignCellContents.java 1759 2007-06-20 16:47:34Z lucianc $
045: */
046: public class JRDesignCellContents extends JRDesignElementGroup
047: implements JRCellContents {
048: private static final long serialVersionUID = JRConstants.SERIAL_VERSION_UID;
049:
050: protected JRDefaultStyleProvider defaultStyleProvider;
051: protected JRStyle style;
052: protected String styleNameReference;
053:
054: protected Byte mode;
055: private Color backcolor;
056: private JRBox box;
057: private int width = JRCellContents.NOT_CALCULATED;
058: private int height = JRCellContents.NOT_CALCULATED;
059:
060: /**
061: * Creates an empty cell contents.
062: */
063: public JRDesignCellContents() {
064: super ();
065: }
066:
067: public Color getBackcolor() {
068: return backcolor;
069: }
070:
071: /**
072: * Sets the cell background color.
073: *
074: * @param color the background color
075: * @see JRCellContents#getBackcolor()
076: */
077: public void setBackcolor(Color color) {
078: backcolor = color;
079: }
080:
081: public JRBox getBox() {
082: return box;
083: }
084:
085: /**
086: * Sets the cell border.
087: *
088: * @param box the border
089: * @see JRCellContents#getBox()
090: */
091: public void setBox(JRBox box) {
092: this .box = box;
093: }
094:
095: public int getHeight() {
096: return height;
097: }
098:
099: /**
100: * Sets the computed cell height.
101: *
102: * @param height the cell height
103: * @see JRCellContents#getHeight()
104: */
105: protected void setHeight(int height) {
106: this .height = height;
107: }
108:
109: public int getWidth() {
110: return width;
111: }
112:
113: /**
114: * Sets the computed cell width.
115: *
116: * @param width the cell width
117: * @see JRCellContents#getWidth()
118: */
119: protected void setWidth(int width) {
120: this .width = width;
121: }
122:
123: public JRDefaultStyleProvider getDefaultStyleProvider() {
124: return defaultStyleProvider;
125: }
126:
127: public JRStyle getStyle() {
128: return style;
129: }
130:
131: /**
132: * Sets the style used by this cell.
133: * <p/>
134: * The style is only used for cell background and borders and is not inherited by
135: * elements inside the cell.
136: *
137: * @param style the style to be used
138: */
139: public void setStyle(JRStyle style) {
140: this .style = style;
141: }
142:
143: public Byte getMode() {
144: return mode;
145: }
146:
147: /**
148: * Sets the cell transparency mode.
149: *
150: * @param mode the transparency mode
151: * @see JRCellContents#getMode()
152: */
153: public void setMode(Byte mode) {
154: this .mode = mode;
155: }
156:
157: public String getStyleNameReference() {
158: return styleNameReference;
159: }
160:
161: /**
162: * Set the name of the external style to be used for this cell.
163: * <p/>
164: * An external style is only effective when there is no internal style set for this cell,
165: * i.e. {@link #getStyle() getStyle()} returns <code>null</code>
166: * The external style will be resolved at fill time from the templates used in the report.
167: *
168: * @param styleName the name of the external style
169: * @see #getStyleNameReference()
170: */
171: public void setStyleNameReference(String styleName) {
172: this.styleNameReference = styleName;
173: }
174: }
|