Georg Füchsle created ODFTOOLKIT-417:
----------------------------------------
Summary: Missing methods for set and get background-color,
subscripted and superscripted for a paragraph
Key: ODFTOOLKIT-417
URL: https://issues.apache.org/jira/browse/ODFTOOLKIT-417
Project: ODF Toolkit
Issue Type: Improvement
Components: simple api
Affects Versions: 0.6.2-incubating
Reporter: Georg Füchsle
in File:
http://svn.apache.org/viewvc/incubator/odf/trunk/simple/src/main/java/org/odftoolkit/simple/style/ParagraphProperties.java
are missing the methods:
{quote}
public void setBackgroundColor(Color bkColor);
public String getBackgroundColorAttribute();
{quote}
in the File:
http://svn.apache.org/viewvc/incubator/odf/trunk/simple/src/main/java/org/odftoolkit/simple/style/TextProperties.java
are missing the methods:
{quote}
public void setSubscripted(Integer fontsizePercent);
public void setSuperscripted(Integer fontsizePercent);
public Integer getSubscripted();
public Integer getSuperscripted();
{quote}
We suggest the following code:
simple/src/main/java/org/odftoolkit/simple/style/ParagraphProperties.java:
{quote}
/**
* sets backgroundColor
* @param bkColor
*/
public void setBackgroundColor(Color bkColor)
\{
mElement.setFoBackgroundColorAttribute(bkColor.toString());
\}
/**
*
* gets backgroundColor
* @return bkColor as String
*/
public String getBackgroundColorAttribute()
\{
return mElement.getFoBackgroundColorAttribute();
\}
{quote}
simple/src/main/java/org/odftoolkit/simple/style/TextProperties.java
{quote}
/**
* sets textstyle subscripted
*
* @param fontsizePercent font size in per cent for subscripted text. if
null default is 58 %
*/
public void setSubscripted(Integer fontsizePercent)
\{
if (fontsizePercent != null)
\{
mElement.setStyleTextPositionAttribute("sub " +
fontsizePercent.toString() + "%");
\}
else
\{
mElement.setStyleTextPositionAttribute("sub 58%");
\}
\}
/**
* sets textstyle superscripted
*
* @param fontsizePercent font size in per cent for superscripted text. if
null default is 58 %
*/
public void setSuperscripted(Integer fontsizePercent)
\{
if (fontsizePercent != null)
\{
mElement.setStyleTextPositionAttribute("super " +
fontsizePercent.toString() + "%");
\}
else
\{
mElement.setStyleTextPositionAttribute("super 58%");
\}
\}
/**
* gets the per centage value of subscription or null
* @return
*/
public Integer getSubscripted()
\{
String posAtt = mElement.getStyleTextPositionAttribute();
if (posAtt != null)
\{
if (posAtt.startsWith("sub"))
\{
String value = posAtt.substring(4);
int i = value.indexOf('%');
if (i > 0)
\{
try
\{
value = value.substring(0, i);
return Integer.parseInt(value);
\}
catch (Exception e)
\{
\}
\}
\}
\}
return null;
\}
/**
* gets the per centage value of superscription or null
* @return
*/
public Integer getSuperscripted()
\{
String posAtt = mElement.getStyleTextPositionAttribute();
if (posAtt != null)
\{
if (posAtt.startsWith("super"))
\{
String value = posAtt.substring(6);
int i = value.indexOf('%');
if (i > 0)
\{
try
\{
value = value.substring(0, i);
return Integer.parseInt(value);
\}
catch (Exception e)
\{
\}
\}
\}
\}
return null;
\}
{quote}
and the following JUnit-Tests:
src/test/java/org/odftoolkit/simple/style/ParagraphPropertiesTest.java
{quote}
@Test
public void testGetSetBackgroundColor()
\{
try
\{
TextDocument doc = TextDocument.newTextDocument();
Paragraph paragraph1 = doc.addParagraph("paragraph1");
ParagraphStyleHandler psh = paragraph1.getStyleHandler();
ParagraphProperties paraProp = psh.getParagraphPropertiesForWrite();
paraProp.setBackgroundColor(new Color("#FF0000"));
psh = paragraph1.getStyleHandler();
paraProp = psh.getParagraphPropertiesForWrite();
Assert.assertEquals("#FF0000",
paraProp.getBackgroundColorAttribute());
\}
catch (Exception e)
\{
LOGGER.log(Level.SEVERE, e.getMessage(), e);
Assert.fail();
\}
\}
{quote}
and in:
src/test/java/org/odftoolkit/simple/style/TextPropertiesTest.java
{quote}
@Test
public void testSubscripted()
\{
try
\{
SpreadsheetDocument document =
SpreadsheetDocument.newSpreadsheetDocument();
Table table = document.getTableByName("Sheet1");
Cell cell = table.getCellByPosition("A1");
TextProperties textProperties =
cell.getStyleHandler().getTextPropertiesForWrite();
textProperties.setSubscripted(null);
//validate
Integer i = textProperties.getSubscripted();
Assert.assertEquals(Integer.valueOf(58), i);
\}
catch (Exception e)
\{
LOGGER.log(Level.SEVERE, e.getMessage(), e);
Assert.fail(e.getMessage());
\}
\}
@Test
public void testSuperscripted()
\{
try
\{
SpreadsheetDocument document =
SpreadsheetDocument.newSpreadsheetDocument();
Table table = document.getTableByName("Sheet1");
Cell cell = table.getCellByPosition("A1");
TextProperties textProperties =
cell.getStyleHandler().getTextPropertiesForWrite();
textProperties.setSuperscripted(Integer.valueOf(50));
//validate
Integer i = textProperties.getSuperscripted();
Assert.assertEquals(Integer.valueOf(50), i);
\}
catch (Exception e)
\{
LOGGER.log(Level.SEVERE, e.getMessage(), e);
Assert.fail(e.getMessage());
\}
\}
{quote}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)