Author: yegor Date: Fri Mar 14 11:05:55 2008 New Revision: 637189 URL: http://svn.apache.org/viewvc?rev=637189&view=rev Log: Add accessors to horizontal and vertical alignment in HSSFTextbox
Added: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFTextbox.java (with props) Modified: poi/trunk/src/documentation/content/xdocs/changes.xml poi/trunk/src/documentation/content/xdocs/status.xml poi/trunk/src/java/org/apache/poi/hssf/model/TextboxShape.java poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFTextbox.java Modified: poi/trunk/src/documentation/content/xdocs/changes.xml URL: http://svn.apache.org/viewvc/poi/trunk/src/documentation/content/xdocs/changes.xml?rev=637189&r1=637188&r2=637189&view=diff ============================================================================== --- poi/trunk/src/documentation/content/xdocs/changes.xml (original) +++ poi/trunk/src/documentation/content/xdocs/changes.xml Fri Mar 14 11:05:55 2008 @@ -36,7 +36,8 @@ <!-- Don't forget to update status.xml too! --> <release version="3.1-beta1" date="2008-??-??"> - <action dev="POI-DEVELOPERS" type="add">44593 - Improved handling of short DVRecords</actions> + <action dev="POI-DEVELOPERS" type="add">Add accessors to horizontal and vertical alignment in HSSFTextbox</action> + <action dev="POI-DEVELOPERS" type="add">44593 - Improved handling of short DVRecords</action> <action dev="POI-DEVELOPERS" type="add">28627 / 44580 - Fix Range.delete() in HWPF</action> <action dev="POI-DEVELOPERS" type="add">44539 - Support for area references in formulas of rows >= 32768</action> <action dev="POI-DEVELOPERS" type="add">44536 - Improved support for detecting read-only recommended files</action> Modified: poi/trunk/src/documentation/content/xdocs/status.xml URL: http://svn.apache.org/viewvc/poi/trunk/src/documentation/content/xdocs/status.xml?rev=637189&r1=637188&r2=637189&view=diff ============================================================================== --- poi/trunk/src/documentation/content/xdocs/status.xml (original) +++ poi/trunk/src/documentation/content/xdocs/status.xml Fri Mar 14 11:05:55 2008 @@ -33,7 +33,8 @@ <!-- Don't forget to update changes.xml too! --> <changes> <release version="3.1-beta1" date="2008-??-??"> - <action dev="POI-DEVELOPERS" type="add">44593 - Improved handling of short DVRecords</actions> + <action dev="POI-DEVELOPERS" type="add">Add accessors to horizontal and vertical alignment in HSSFTextbox</action> + <action dev="POI-DEVELOPERS" type="add">44593 - Improved handling of short DVRecords</action> <action dev="POI-DEVELOPERS" type="add">28627 / 44580 - Fix Range.delete() in HWPF</action> <action dev="POI-DEVELOPERS" type="add">44539 - Support for area references in formulas of rows >= 32768</action> <action dev="POI-DEVELOPERS" type="add">44536 - Improved support for detecting read-only recommended files</action> Modified: poi/trunk/src/java/org/apache/poi/hssf/model/TextboxShape.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/model/TextboxShape.java?rev=637189&r1=637188&r2=637189&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/model/TextboxShape.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/model/TextboxShape.java Fri Mar 14 11:05:55 2008 @@ -133,8 +133,8 @@ HSSFTextbox shape = hssfShape; TextObjectRecord obj = new TextObjectRecord(); - obj.setHorizontalTextAlignment( TextObjectRecord.HORIZONTAL_TEXT_ALIGNMENT_LEFT_ALIGNED ); - obj.setVerticalTextAlignment( TextObjectRecord.VERTICAL_TEXT_ALIGNMENT_TOP ); + obj.setHorizontalTextAlignment( hssfShape.getHorizontalAlignment() ); + obj.setVerticalTextAlignment( hssfShape.getVerticalAlignment()); obj.setTextLocked( true ); obj.setTextOrientation( TextObjectRecord.TEXT_ORIENTATION_NONE ); int frLength = ( shape.getString().numFormattingRuns() + 1 ) * 8; Modified: poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFTextbox.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFTextbox.java?rev=637189&r1=637188&r2=637189&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFTextbox.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFTextbox.java Fri Mar 14 11:05:55 2008 @@ -17,6 +17,9 @@ package org.apache.poi.hssf.usermodel; +import org.apache.poi.util.BitField; +import org.apache.poi.util.BitFieldFactory; + /** * A textbox is a shape that may hold a rich text string. * @@ -27,7 +30,25 @@ { public final static short OBJECT_TYPE_TEXT = 6; + /** + * 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; + + /** + * 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; + + int marginLeft, marginRight, marginTop, marginBottom; + short halign, valign; HSSFRichTextString string = new HSSFRichTextString(""); @@ -40,6 +61,9 @@ { super( parent, anchor ); setShapeType(OBJECT_TYPE_TEXT); + + halign = HORIZONTAL_ALIGNMENT_LEFT; + valign = VERTICAL_ALIGNMENT_TOP; } /** @@ -120,5 +144,37 @@ public void setMarginBottom( int marginBottom ) { this.marginBottom = marginBottom; + } + + /** + * 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; } } Added: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFTextbox.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFTextbox.java?rev=637189&view=auto ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFTextbox.java (added) +++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFTextbox.java Fri Mar 14 11:05:55 2008 @@ -0,0 +1,52 @@ +/* +* 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 +* +* 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. +*/ +package org.apache.poi.hssf.usermodel; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; + +import junit.framework.TestCase; + +/** + * Test <code>HSSFTextbox</code>. + * + * @author Yegor Kozlov (yegor at apache.org) + */ +public final class TestHSSFTextbox extends TestCase{ + + /** + * Test that accessors to horizontal and vertical alignment work properly + */ + public void testAlignment() { + HSSFWorkbook wb = new HSSFWorkbook(); + HSSFSheet sh1 = wb.createSheet(); + HSSFPatriarch patriarch = sh1.createDrawingPatriarch(); + + HSSFTextbox textbox = patriarch.createTextbox(new HSSFClientAnchor(0, 0, 0, 0, (short) 1, 1, (short) 6, 4)); + HSSFRichTextString str = new HSSFRichTextString("Hello, World"); + textbox.setString(str); + textbox.setHorizontalAlignment(HSSFTextbox.HORIZONTAL_ALIGNMENT_CENTERED); + textbox.setVerticalAlignment(HSSFTextbox.VERTICAL_ALIGNMENT_CENTER); + + assertEquals(HSSFTextbox.HORIZONTAL_ALIGNMENT_CENTERED, textbox.getHorizontalAlignment()); + assertEquals(HSSFTextbox.VERTICAL_ALIGNMENT_CENTER, textbox.getVerticalAlignment()); + } + + } Propchange: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFTextbox.java ------------------------------------------------------------------------------ svn:executable = * --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]