[
https://issues.apache.org/jira/browse/ODFTOOLKIT-417?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Svante Schubert resolved ODFTOOLKIT-417.
----------------------------------------
Resolution: Fixed
Assignee: Svante Schubert
Thanks for your contribution, Goerg.
I have reviewed your patch and pushed it to the master.
Regards,
Svante
> 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
> Assignee: Svante Schubert
> Attachments: simpleApi-patch.zip
>
>
> 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)