Add accessors to horizontal and vertical alignment in HSSFTextbox
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@637189 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
20b3d0be05
commit
863b004ced
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -133,8 +133,8 @@ public class TextboxShape
|
||||
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;
|
||||
|
@ -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 class HSSFTextbox
|
||||
{
|
||||
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 @@ public class HSSFTextbox
|
||||
{
|
||||
super( parent, anchor );
|
||||
setShapeType(OBJECT_TYPE_TEXT);
|
||||
|
||||
halign = HORIZONTAL_ALIGNMENT_LEFT;
|
||||
valign = VERTICAL_ALIGNMENT_TOP;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -121,4 +145,36 @@ public class HSSFTextbox
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
52
src/testcases/org/apache/poi/hssf/usermodel/TestHSSFTextbox.java
Executable file
52
src/testcases/org/apache/poi/hssf/usermodel/TestHSSFTextbox.java
Executable file
@ -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());
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user