2004-04-09 13:05:39 +00:00
|
|
|
/* ====================================================================
|
2006-12-22 19:18:16 +00:00
|
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
|
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
|
|
|
this work for additional information regarding copyright ownership.
|
|
|
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
|
|
|
(the "License"); you may not use this file except in compliance with
|
|
|
|
|
the License. You may obtain a copy of the License at
|
2004-04-09 13:05:39 +00:00
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
|
limitations under the License.
|
|
|
|
|
==================================================================== */
|
2004-08-23 08:52:54 +00:00
|
|
|
|
2004-04-09 11:45:38 +00:00
|
|
|
package org.apache.poi.hssf.usermodel;
|
|
|
|
|
|
2008-01-24 10:10:55 +00:00
|
|
|
import org.apache.poi.ss.usermodel.RichTextString;
|
|
|
|
|
|
2008-03-29 16:41:25 +00:00
|
|
|
import org.apache.poi.util.BitField;
|
|
|
|
|
import org.apache.poi.util.BitFieldFactory;
|
|
|
|
|
|
2004-04-09 11:45:38 +00:00
|
|
|
/**
|
|
|
|
|
* A textbox is a shape that may hold a rich text string.
|
|
|
|
|
*
|
|
|
|
|
* @author Glen Stampoultzis (glens at apache.org)
|
|
|
|
|
*/
|
|
|
|
|
public class HSSFTextbox
|
|
|
|
|
extends HSSFSimpleShape
|
|
|
|
|
{
|
|
|
|
|
public final static short OBJECT_TYPE_TEXT = 6;
|
|
|
|
|
|
2008-03-29 16:41:25 +00:00
|
|
|
/**
|
|
|
|
|
* How to align text horizontally
|
|
|
|
|
*/
|
|
|
|
|
public final static short HORIZONTAL_ALIGNMENT_LEFT = 1;
|
|
|
|
|
public final static short HORIZONTAL_ALIGNMENT_CENTERED = 2;
|
|
|
|
|
public final static short HORIZONTAL_ALIGNMENT_RIGHT = 3;
|
|
|
|
|
public final static short HORIZONTAL_ALIGNMENT_JUSTIFIED = 4;
|
|
|
|
|
public final static short HORIZONTAL_ALIGNMENT_DISTRIBUTED = 7;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* How to align text vertically
|
|
|
|
|
*/
|
|
|
|
|
public final static short VERTICAL_ALIGNMENT_TOP = 1;
|
|
|
|
|
public final static short VERTICAL_ALIGNMENT_CENTER = 2;
|
|
|
|
|
public final static short VERTICAL_ALIGNMENT_BOTTOM = 3;
|
|
|
|
|
public final static short VERTICAL_ALIGNMENT_JUSTIFY = 4;
|
|
|
|
|
public final static short VERTICAL_ALIGNMENT_DISTRIBUTED= 7;
|
|
|
|
|
|
|
|
|
|
|
2004-04-09 11:45:38 +00:00
|
|
|
int marginLeft, marginRight, marginTop, marginBottom;
|
2008-03-29 16:41:25 +00:00
|
|
|
short halign, valign;
|
2004-04-09 11:45:38 +00:00
|
|
|
|
|
|
|
|
HSSFRichTextString string = new HSSFRichTextString("");
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Construct a new textbox with the given parent and anchor.
|
|
|
|
|
* @param parent
|
|
|
|
|
* @param anchor One of HSSFClientAnchor or HSSFChildAnchor
|
|
|
|
|
*/
|
|
|
|
|
public HSSFTextbox( HSSFShape parent, HSSFAnchor anchor )
|
|
|
|
|
{
|
|
|
|
|
super( parent, anchor );
|
|
|
|
|
setShapeType(OBJECT_TYPE_TEXT);
|
2008-03-29 16:41:25 +00:00
|
|
|
|
|
|
|
|
halign = HORIZONTAL_ALIGNMENT_LEFT;
|
|
|
|
|
valign = VERTICAL_ALIGNMENT_TOP;
|
2004-04-09 11:45:38 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return the rich text string for this textbox.
|
|
|
|
|
*/
|
|
|
|
|
public HSSFRichTextString getString()
|
|
|
|
|
{
|
|
|
|
|
return string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param string Sets the rich text string used by this object.
|
|
|
|
|
*/
|
2008-01-24 10:10:55 +00:00
|
|
|
public void setString( RichTextString string )
|
2004-04-09 11:45:38 +00:00
|
|
|
{
|
2008-01-24 10:10:55 +00:00
|
|
|
this.string = (HSSFRichTextString) string;
|
2004-04-09 11:45:38 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return Returns the left margin within the textbox.
|
|
|
|
|
*/
|
|
|
|
|
public int getMarginLeft()
|
|
|
|
|
{
|
|
|
|
|
return marginLeft;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Sets the left margin within the textbox.
|
|
|
|
|
*/
|
|
|
|
|
public void setMarginLeft( int marginLeft )
|
|
|
|
|
{
|
|
|
|
|
this.marginLeft = marginLeft;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return returns the right margin within the textbox.
|
|
|
|
|
*/
|
|
|
|
|
public int getMarginRight()
|
|
|
|
|
{
|
|
|
|
|
return marginRight;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Sets the right margin within the textbox.
|
|
|
|
|
*/
|
|
|
|
|
public void setMarginRight( int marginRight )
|
|
|
|
|
{
|
|
|
|
|
this.marginRight = marginRight;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return returns the top margin within the textbox.
|
|
|
|
|
*/
|
|
|
|
|
public int getMarginTop()
|
|
|
|
|
{
|
|
|
|
|
return marginTop;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Sets the top margin within the textbox.
|
|
|
|
|
*/
|
|
|
|
|
public void setMarginTop( int marginTop )
|
|
|
|
|
{
|
|
|
|
|
this.marginTop = marginTop;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Gets the bottom margin within the textbox.
|
|
|
|
|
*/
|
|
|
|
|
public int getMarginBottom()
|
|
|
|
|
{
|
|
|
|
|
return marginBottom;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Sets the bottom margin within the textbox.
|
|
|
|
|
*/
|
|
|
|
|
public void setMarginBottom( int marginBottom )
|
|
|
|
|
{
|
|
|
|
|
this.marginBottom = marginBottom;
|
|
|
|
|
}
|
2008-03-29 16:41:25 +00:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Gets the horizontal alignment.
|
|
|
|
|
*/
|
|
|
|
|
public short getHorizontalAlignment()
|
|
|
|
|
{
|
|
|
|
|
return halign;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Sets the horizontal alignment.
|
|
|
|
|
*/
|
|
|
|
|
public void setHorizontalAlignment( short align )
|
|
|
|
|
{
|
|
|
|
|
this.halign = align;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Gets the vertical alignment.
|
|
|
|
|
*/
|
|
|
|
|
public short getVerticalAlignment()
|
|
|
|
|
{
|
|
|
|
|
return valign;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Sets the vertical alignment.
|
|
|
|
|
*/
|
|
|
|
|
public void setVerticalAlignment( short align )
|
|
|
|
|
{
|
|
|
|
|
this.valign = align;
|
|
|
|
|
}
|
2004-04-09 11:45:38 +00:00
|
|
|
}
|