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! -->
|
<!-- Don't forget to update status.xml too! -->
|
||||||
<release version="3.1-beta1" date="2008-??-??">
|
<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">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">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>
|
<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! -->
|
<!-- Don't forget to update changes.xml too! -->
|
||||||
<changes>
|
<changes>
|
||||||
<release version="3.1-beta1" date="2008-??-??">
|
<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">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">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>
|
<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;
|
HSSFTextbox shape = hssfShape;
|
||||||
|
|
||||||
TextObjectRecord obj = new TextObjectRecord();
|
TextObjectRecord obj = new TextObjectRecord();
|
||||||
obj.setHorizontalTextAlignment( TextObjectRecord.HORIZONTAL_TEXT_ALIGNMENT_LEFT_ALIGNED );
|
obj.setHorizontalTextAlignment( hssfShape.getHorizontalAlignment() );
|
||||||
obj.setVerticalTextAlignment( TextObjectRecord.VERTICAL_TEXT_ALIGNMENT_TOP );
|
obj.setVerticalTextAlignment( hssfShape.getVerticalAlignment());
|
||||||
obj.setTextLocked( true );
|
obj.setTextLocked( true );
|
||||||
obj.setTextOrientation( TextObjectRecord.TEXT_ORIENTATION_NONE );
|
obj.setTextOrientation( TextObjectRecord.TEXT_ORIENTATION_NONE );
|
||||||
int frLength = ( shape.getString().numFormattingRuns() + 1 ) * 8;
|
int frLength = ( shape.getString().numFormattingRuns() + 1 ) * 8;
|
||||||
|
@ -17,6 +17,9 @@
|
|||||||
|
|
||||||
package org.apache.poi.hssf.usermodel;
|
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.
|
* 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;
|
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;
|
int marginLeft, marginRight, marginTop, marginBottom;
|
||||||
|
short halign, valign;
|
||||||
|
|
||||||
HSSFRichTextString string = new HSSFRichTextString("");
|
HSSFRichTextString string = new HSSFRichTextString("");
|
||||||
|
|
||||||
@ -40,6 +61,9 @@ public class HSSFTextbox
|
|||||||
{
|
{
|
||||||
super( parent, anchor );
|
super( parent, anchor );
|
||||||
setShapeType(OBJECT_TYPE_TEXT);
|
setShapeType(OBJECT_TYPE_TEXT);
|
||||||
|
|
||||||
|
halign = HORIZONTAL_ALIGNMENT_LEFT;
|
||||||
|
valign = VERTICAL_ALIGNMENT_TOP;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -121,4 +145,36 @@ public class HSSFTextbox
|
|||||||
{
|
{
|
||||||
this.marginBottom = 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
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