Browse Source

Bugzilla 52599 - avoid duplicate text when rendering slides in HSLF

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1292273 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_3_8_FINAL
Yegor Kozlov 12 years ago
parent
commit
e94b5e52f1

+ 1
- 0
src/documentation/content/xdocs/status.xml View File



<changes> <changes>
<release version="3.8-beta6" date="2012-??-??"> <release version="3.8-beta6" date="2012-??-??">
<action dev="poi-developers" type="fix">52599 - avoid duplicate text when rendering slides in HSLF</action>
<action dev="poi-developers" type="fix">52598 - respect slide background when rendering slides in HSLF</action> <action dev="poi-developers" type="fix">52598 - respect slide background when rendering slides in HSLF</action>
<action dev="poi-developers" type="fix">51731 - fixed painting shape outlines in HSLF</action> <action dev="poi-developers" type="fix">51731 - fixed painting shape outlines in HSLF</action>
<action dev="poi-developers" type="fix">52701 - fixed seting vertical alignment for XSLFTableCell</action> <action dev="poi-developers" type="fix">52701 - fixed seting vertical alignment for XSLFTableCell</action>

+ 1
- 0
src/scratchpad/src/org/apache/poi/hslf/model/Slide.java View File

for(int k=0; k<_otherRuns.length; i++, k++) { for(int k=0; k<_otherRuns.length; i++, k++) {
_runs[i] = _otherRuns[k]; _runs[i] = _otherRuns[k];
_runs[i].setSheet(this); _runs[i].setSheet(this);
_runs[i].setIndex(-1); // runs found in PPDrawing are not linked with SlideListWithTexts
} }
} }



+ 1
- 1
src/scratchpad/src/org/apache/poi/hslf/model/TextRun.java View File

private SlideShow slideShow; private SlideShow slideShow;
private Sheet _sheet; private Sheet _sheet;
private int shapeId; private int shapeId;
private int slwtIndex; //position in the owning SlideListWithText
private int slwtIndex = -1; //position in the owning SlideListWithText
/** /**
* all text run records that follow TextHeaderAtom. * all text run records that follow TextHeaderAtom.
* (there can be misc InteractiveInfo, TxInteractiveInfo and other records) * (there can be misc InteractiveInfo, TxInteractiveInfo and other records)

+ 21
- 1
src/scratchpad/testcases/org/apache/poi/hslf/model/TestTextShape.java View File

assertNotNull(shape.getEscherTextboxWrapper()); assertNotNull(shape.getEscherTextboxWrapper());
assertEquals("", shape.getText()); assertEquals("", shape.getText());
assertSame(run, shape.createTextRun()); assertSame(run, shape.createTextRun());
assertEquals(-1, run.getIndex());
} }


public void testCreateTextBox(){ public void testCreateTextBox(){
assertEquals(0.05, tx.getMarginTop()*Shape.EMU_PER_POINT/Shape.EMU_PER_INCH, 0.01); assertEquals(0.05, tx.getMarginTop()*Shape.EMU_PER_POINT/Shape.EMU_PER_INCH, 0.01);
assertEquals(0.05, tx.getMarginBottom()*Shape.EMU_PER_POINT/Shape.EMU_PER_INCH, 0.01); assertEquals(0.05, tx.getMarginBottom()*Shape.EMU_PER_POINT/Shape.EMU_PER_INCH, 0.01);
} }

public void test52599() throws IOException {
SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("52599.ppt"));

Slide slide = ppt.getSlides()[0];
Shape[] sh = slide.getShapes();
assertEquals(3, sh.length);

TextShape sh0 = (TextShape)sh[0];
assertEquals(null, sh0.getText());
assertEquals(null, sh0.getTextRun());

TextShape sh1 = (TextShape)sh[1];
assertEquals(null, sh1.getText());
assertEquals(null, sh1.getTextRun());

TextShape sh2 = (TextShape)sh[2];
assertEquals("this box should be shown just once", sh2.getText());
assertEquals(-1, sh2.getTextRun().getIndex());
}
} }

BIN
test-data/slideshow/52599.ppt View File


Loading…
Cancel
Save