diff --git a/src/examples/src/org/apache/poi/hslf/examples/ApacheconEU08.java b/src/examples/src/org/apache/poi/hslf/examples/ApacheconEU08.java index 8ed05d711..c91142472 100644 --- a/src/examples/src/org/apache/poi/hslf/examples/ApacheconEU08.java +++ b/src/examples/src/org/apache/poi/hslf/examples/ApacheconEU08.java @@ -26,7 +26,6 @@ import java.io.FileOutputStream; import java.io.IOException; import java.util.List; -import org.apache.poi.hslf.model.Line; import org.apache.poi.hslf.model.PPGraphics2D; import org.apache.poi.hslf.record.TextHeaderAtom; import org.apache.poi.hslf.usermodel.HSLFAutoShape; @@ -38,6 +37,7 @@ import org.apache.poi.hslf.usermodel.HSLFTableCell; import org.apache.poi.hslf.usermodel.HSLFTextBox; import org.apache.poi.hslf.usermodel.HSLFTextParagraph; import org.apache.poi.hslf.usermodel.HSLFTextRun; +import org.apache.poi.hslf.usermodel.HSLFLine; import org.apache.poi.sl.usermodel.ShapeType; import org.apache.poi.sl.usermodel.VerticalAlignment; @@ -180,12 +180,12 @@ public final class ApacheconEU08 { } } - Line border1 = table1.createBorder(); + HSLFLine border1 = table1.createBorder(); border1.setLineColor(Color.black); border1.setLineWidth(1.0); table1.setAllBorders(border1); - Line border2 = table1.createBorder(); + HSLFLine border2 = table1.createBorder(); border2.setLineColor(Color.black); border2.setLineWidth(2.0); table1.setOutsideBorders(border2); diff --git a/src/examples/src/org/apache/poi/hslf/examples/TableDemo.java b/src/examples/src/org/apache/poi/hslf/examples/TableDemo.java index 12f66e3c1..d50855e61 100644 --- a/src/examples/src/org/apache/poi/hslf/examples/TableDemo.java +++ b/src/examples/src/org/apache/poi/hslf/examples/TableDemo.java @@ -20,12 +20,12 @@ package org.apache.poi.hslf.examples; import java.awt.Color; import java.io.FileOutputStream; -import org.apache.poi.hslf.model.Line; import org.apache.poi.hslf.usermodel.HSLFSlide; import org.apache.poi.hslf.usermodel.HSLFSlideShow; import org.apache.poi.hslf.usermodel.HSLFTable; import org.apache.poi.hslf.usermodel.HSLFTableCell; import org.apache.poi.hslf.usermodel.HSLFTextRun; +import org.apache.poi.hslf.usermodel.HSLFLine; import org.apache.poi.sl.usermodel.TextParagraph.TextAlign; import org.apache.poi.sl.usermodel.VerticalAlignment; @@ -71,7 +71,7 @@ public final class TableDemo { } } - Line border1 = table1.createBorder(); + HSLFLine border1 = table1.createBorder(); border1.setLineColor(Color.black); border1.setLineWidth(1.0); table1.setAllBorders(border1); @@ -119,7 +119,7 @@ public final class TableDemo { table2.setRowHeight(0, 30); table2.setRowHeight(1, 70); - Line border2 = table2.createBorder(); + HSLFLine border2 = table2.createBorder(); table2.setOutsideBorders(border2); slide.addShape(table2); diff --git a/src/java/org/apache/poi/sl/usermodel/Line.java b/src/java/org/apache/poi/sl/usermodel/Line.java index b06764e54..aa42eeab6 100644 --- a/src/java/org/apache/poi/sl/usermodel/Line.java +++ b/src/java/org/apache/poi/sl/usermodel/Line.java @@ -17,6 +17,14 @@ package org.apache.poi.sl.usermodel; +import org.apache.poi.util.Internal; + +/** + * Interface for Lines ... this will be eventually removed, + * so don't depend on it in user classes, but use AutoShape instead! + */ + +@Internal public interface Line> extends AutoShape { } diff --git a/src/scratchpad/src/org/apache/poi/hslf/model/Line.java b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFLine.java similarity index 86% rename from src/scratchpad/src/org/apache/poi/hslf/model/Line.java rename to src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFLine.java index c71395980..10b2bd099 100644 --- a/src/scratchpad/src/org/apache/poi/hslf/model/Line.java +++ b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFLine.java @@ -15,16 +15,13 @@ limitations under the License. ==================================================================== */ -package org.apache.poi.hslf.model; +package org.apache.poi.hslf.usermodel; import org.apache.poi.ddf.EscherContainerRecord; import org.apache.poi.ddf.EscherOptRecord; import org.apache.poi.ddf.EscherProperties; import org.apache.poi.ddf.EscherSpRecord; -import org.apache.poi.hslf.usermodel.HSLFGroupShape; -import org.apache.poi.hslf.usermodel.HSLFShape; -import org.apache.poi.hslf.usermodel.HSLFTextParagraph; -import org.apache.poi.hslf.usermodel.HSLFTextShape; +import org.apache.poi.sl.usermodel.Line; import org.apache.poi.sl.usermodel.ShapeContainer; import org.apache.poi.sl.usermodel.ShapeType; @@ -33,17 +30,17 @@ import org.apache.poi.sl.usermodel.ShapeType; * * @author Yegor Kozlov */ -public final class Line extends HSLFTextShape implements org.apache.poi.sl.usermodel.Line { - public Line(EscherContainerRecord escherRecord, ShapeContainer parent){ +public final class HSLFLine extends HSLFTextShape implements Line { + public HSLFLine(EscherContainerRecord escherRecord, ShapeContainer parent){ super(escherRecord, parent); } - public Line(ShapeContainer parent){ + public HSLFLine(ShapeContainer parent){ super(null, parent); _escherContainer = createSpContainer(parent instanceof HSLFGroupShape); } - public Line(){ + public HSLFLine(){ this(null); } diff --git a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFShapeFactory.java b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFShapeFactory.java index 5948b4013..08db124d4 100644 --- a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFShapeFactory.java +++ b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFShapeFactory.java @@ -103,7 +103,7 @@ public final class HSLFShapeFactory { break; } case LINE: - shape = new Line(spContainer, parent); + shape = new HSLFLine(spContainer, parent); break; case NOT_PRIMITIVE: { EscherOptRecord opt = HSLFShape.getEscherChild(spContainer, EscherOptRecord.RECORD_ID); diff --git a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTable.java b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTable.java index 5cb5698a4..9e7ff158e 100644 --- a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTable.java +++ b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTable.java @@ -31,7 +31,6 @@ import org.apache.poi.ddf.EscherProperties; import org.apache.poi.ddf.EscherRecord; import org.apache.poi.ddf.EscherSimpleProperty; import org.apache.poi.ddf.EscherTextboxRecord; -import org.apache.poi.hslf.model.Line; import org.apache.poi.sl.usermodel.ShapeContainer; import org.apache.poi.sl.usermodel.TableShape; import org.apache.poi.util.LittleEndian; @@ -144,16 +143,16 @@ public final class HSLFTable extends HSLFGroupShape implements TableShape { HSLFTableCell c = cells[i][j]; addShape(c); - Line bt = c.getBorderTop(); + HSLFLine bt = c.getBorderTop(); if(bt != null) addShape(bt); - Line br = c.getBorderRight(); + HSLFLine br = c.getBorderRight(); if(br != null) addShape(br); - Line bb = c.getBorderBottom(); + HSLFLine bb = c.getBorderBottom(); if(bb != null) addShape(bb); - Line bl = c.getBorderLeft(); + HSLFLine bl = c.getBorderLeft(); if(bl != null) addShape(bl); } @@ -279,7 +278,7 @@ public final class HSLFTable extends HSLFGroupShape implements TableShape { * * @param line the border line */ - public void setAllBorders(Line line){ + public void setAllBorders(HSLFLine line){ for (int i = 0; i < cells.length; i++) { for (int j = 0; j < cells[i].length; j++) { HSLFTableCell cell = cells[i][j]; @@ -296,7 +295,7 @@ public final class HSLFTable extends HSLFGroupShape implements TableShape { * * @param line the border line */ - public void setOutsideBorders(Line line){ + public void setOutsideBorders(HSLFLine line){ for (int i = 0; i < cells.length; i++) { for (int j = 0; j < cells[i].length; j++) { HSLFTableCell cell = cells[i][j]; @@ -323,7 +322,7 @@ public final class HSLFTable extends HSLFGroupShape implements TableShape { * * @param line the border line */ - public void setInsideBorders(Line line){ + public void setInsideBorders(HSLFLine line){ for (int i = 0; i < cells.length; i++) { for (int j = 0; j < cells[i].length; j++) { HSLFTableCell cell = cells[i][j]; @@ -343,8 +342,8 @@ public final class HSLFTable extends HSLFGroupShape implements TableShape { } } - private Line cloneBorder(Line line){ - Line border = createBorder(); + private HSLFLine cloneBorder(HSLFLine line){ + HSLFLine border = createBorder(); border.setLineWidth(line.getLineWidth()); border.setLineDashing(line.getLineDashing()); border.setLineColor(line.getLineColor()); @@ -357,8 +356,8 @@ public final class HSLFTable extends HSLFGroupShape implements TableShape { * * @return the created border */ - public Line createBorder(){ - Line line = new Line(this); + public HSLFLine createBorder(){ + HSLFLine line = new HSLFLine(this); EscherOptRecord opt = getEscherOptRecord(); setEscherProperty(opt, EscherProperties.GEOMETRY__SHAPEPATH, -1); diff --git a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTableCell.java b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTableCell.java index 74abd1903..e22db21ba 100644 --- a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTableCell.java +++ b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTableCell.java @@ -22,7 +22,6 @@ import java.awt.Rectangle; import org.apache.poi.ddf.EscherContainerRecord; import org.apache.poi.ddf.EscherOptRecord; import org.apache.poi.ddf.EscherProperties; -import org.apache.poi.hslf.model.Line; import org.apache.poi.sl.usermodel.ShapeContainer; import org.apache.poi.sl.usermodel.ShapeType; @@ -35,10 +34,10 @@ public final class HSLFTableCell extends HSLFTextBox { protected static final int DEFAULT_WIDTH = 100; protected static final int DEFAULT_HEIGHT = 40; - private Line borderLeft; - private Line borderRight; - private Line borderTop; - private Line borderBottom; + private HSLFLine borderLeft; + private HSLFLine borderRight; + private HSLFLine borderTop; + private HSLFLine borderBottom; /** * Create a TableCell object and initialize it from the supplied Record container. @@ -76,7 +75,7 @@ public final class HSLFTableCell extends HSLFTextBox { return _escherContainer; } - protected void anchorBorder(int type, Line line){ + protected void anchorBorder(int type, HSLFLine line){ Rectangle cellAnchor = getAnchor(); Rectangle lineAnchor = new Rectangle(); switch(type){ @@ -110,38 +109,38 @@ public final class HSLFTableCell extends HSLFTextBox { line.setAnchor(lineAnchor); } - public Line getBorderLeft() { + public HSLFLine getBorderLeft() { return borderLeft; } - public void setBorderLeft(Line line) { + public void setBorderLeft(HSLFLine line) { if(line != null) anchorBorder(HSLFTable.BORDER_LEFT, line); this.borderLeft = line; } - public Line getBorderRight() { + public HSLFLine getBorderRight() { return borderRight; } - public void setBorderRight(Line line) { + public void setBorderRight(HSLFLine line) { if(line != null) anchorBorder(HSLFTable.BORDER_RIGHT, line); this.borderRight = line; } - public Line getBorderTop() { + public HSLFLine getBorderTop() { return borderTop; } - public void setBorderTop(Line line) { + public void setBorderTop(HSLFLine line) { if(line != null) anchorBorder(HSLFTable.BORDER_TOP, line); this.borderTop = line; } - public Line getBorderBottom() { + public HSLFLine getBorderBottom() { return borderBottom; } - public void setBorderBottom(Line line) { + public void setBorderBottom(HSLFLine line) { if(line != null) anchorBorder(HSLFTable.BORDER_BOTTOM, line); this.borderBottom = line; } diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestLine.java b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestLine.java index 5d58b2538..b26e10215 100644 --- a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestLine.java +++ b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestLine.java @@ -21,6 +21,7 @@ import java.awt.Color; import org.apache.poi.hslf.usermodel.HSLFSlide; import org.apache.poi.hslf.usermodel.HSLFSlideShow; +import org.apache.poi.hslf.usermodel.HSLFLine; import org.apache.poi.sl.usermodel.StrokeStyle.LineCompound; import org.apache.poi.sl.usermodel.StrokeStyle.LineDash; import org.junit.Test; @@ -40,36 +41,36 @@ public final class TestLine { slide.addTitle().setText("Lines tester"); - Line line; + HSLFLine line; /** * line styles */ - line = new Line(); + line = new HSLFLine(); line.setAnchor(new java.awt.Rectangle(75, 200, 300, 0)); line.setLineCompound(LineCompound.SINGLE); line.setLineColor(Color.blue); slide.addShape(line); - line = new Line(); + line = new HSLFLine(); line.setAnchor(new java.awt.Rectangle(75, 230, 300, 0)); line.setLineCompound(LineCompound.DOUBLE); line.setLineWidth(3.5); slide.addShape(line); - line = new Line(); + line = new HSLFLine(); line.setAnchor(new java.awt.Rectangle(75, 260, 300, 0)); line.setLineCompound(LineCompound.TRIPLE); line.setLineWidth(6); slide.addShape(line); - line = new Line(); + line = new HSLFLine(); line.setAnchor(new java.awt.Rectangle(75, 290, 300, 0)); line.setLineCompound(LineCompound.THICK_THIN); line.setLineWidth(4.5); slide.addShape(line); - line = new Line(); + line = new HSLFLine(); line.setAnchor(new java.awt.Rectangle(75, 320, 300, 0)); line.setLineCompound(LineCompound.THIN_THICK); line.setLineWidth(5.5); @@ -78,27 +79,27 @@ public final class TestLine { /** * line dashing */ - line = new Line(); + line = new HSLFLine(); line.setAnchor(new java.awt.Rectangle(450, 200, 300, 0)); line.setLineDashing(LineDash.SOLID); slide.addShape(line); - line = new Line(); + line = new HSLFLine(); line.setAnchor(new java.awt.Rectangle(450, 230, 300, 0)); line.setLineDashing(LineDash.DASH); slide.addShape(line); - line = new Line(); + line = new HSLFLine(); line.setAnchor(new java.awt.Rectangle(450, 260, 300, 0)); line.setLineDashing(LineDash.DOT); slide.addShape(line); - line = new Line(); + line = new HSLFLine(); line.setAnchor(new java.awt.Rectangle(450, 290, 300, 0)); line.setLineDashing(LineDash.DASH_DOT); slide.addShape(line); - line = new Line(); + line = new HSLFLine(); line.setAnchor(new java.awt.Rectangle(450, 320, 300, 0)); line.setLineDashing(LineDash.LG_DASH_DOT_DOT); slide.addShape(line); @@ -106,21 +107,21 @@ public final class TestLine { /** * Combinations */ - line = new Line(); + line = new HSLFLine(); line.setAnchor(new java.awt.Rectangle(75, 400, 300, 0)); line.setLineDashing(LineDash.DASH_DOT); line.setLineCompound(LineCompound.TRIPLE); line.setLineWidth(5.0); slide.addShape(line); - line = new Line(); + line = new HSLFLine(); line.setAnchor(new java.awt.Rectangle(75, 430, 300, 0)); line.setLineDashing(LineDash.DASH); line.setLineCompound(LineCompound.THICK_THIN); line.setLineWidth(4.0); slide.addShape(line); - line = new Line(); + line = new HSLFLine(); line.setAnchor(new java.awt.Rectangle(75, 460, 300, 0)); line.setLineDashing(LineDash.DOT); line.setLineCompound(LineCompound.DOUBLE); diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestShapes.java b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestShapes.java index 8141650fe..3fca4c257 100644 --- a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestShapes.java +++ b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestShapes.java @@ -54,6 +54,7 @@ import org.apache.poi.hslf.usermodel.HSLFTextBox; import org.apache.poi.hslf.usermodel.HSLFTextParagraph; import org.apache.poi.hslf.usermodel.HSLFTextRun; import org.apache.poi.hslf.usermodel.HSLFTextShape; +import org.apache.poi.hslf.usermodel.HSLFLine; import org.apache.poi.sl.usermodel.PictureData.PictureType; import org.apache.poi.sl.usermodel.ShapeType; import org.apache.poi.sl.usermodel.StrokeStyle.LineDash; @@ -89,7 +90,7 @@ public final class TestShapes { public void graphics() throws Exception { HSLFSlide slide = ppt.createSlide(); - Line line = new Line(); + HSLFLine line = new HSLFLine(); java.awt.Rectangle lineAnchor = new java.awt.Rectangle(100, 200, 50, 60); line.setAnchor(lineAnchor); line.setLineWidth(3); @@ -119,7 +120,7 @@ public final class TestShapes { List shape = slide.getShapes(); assertEquals(2, shape.size()); - assertTrue(shape.get(0) instanceof Line); //group shape + assertTrue(shape.get(0) instanceof HSLFLine); //group shape assertEquals(lineAnchor, shape.get(0).getAnchor()); //group shape assertTrue(shape.get(1) instanceof HSLFAutoShape); //group shape @@ -335,7 +336,7 @@ public final class TestShapes { pict.setAnchor(new Rectangle(0, 0, 200, 200)); group.addShape(pict); - Line line = new Line(group); + HSLFLine line = new HSLFLine(group); line.setAnchor(new Rectangle(300, 300, 500, 0)); group.addShape(line); @@ -358,12 +359,12 @@ public final class TestShapes { List grshape = group.getShapes(); assertEquals(2, grshape.size()); assertTrue(grshape.get(0) instanceof HSLFPictureShape); - assertTrue(grshape.get(1) instanceof Line); + assertTrue(grshape.get(1) instanceof HSLFLine); pict = (HSLFPictureShape)grshape.get(0); assertEquals(new Rectangle(0, 0, 200, 200), pict.getAnchor()); - line = (Line)grshape.get(1); + line = (HSLFLine)grshape.get(1); assertEquals(new Rectangle(300, 300, 500, 0), line.getAnchor()); } @@ -427,7 +428,7 @@ public final class TestShapes { int dgShapesUsed = dg.getNumShapes(); // number of shapes in the slide //insert 3 shapes and make sure the Ids are properly incremented for (int i = 0; i < 3; i++) { - shape = new Line(); + shape = new HSLFLine(); assertEquals(0, shape.getShapeId()); slide.addShape(shape); assertTrue(shape.getShapeId() > 0); @@ -454,7 +455,7 @@ public final class TestShapes { //make sure it is so int numClusters = dgg.getNumIdClusters(); for (int i = 0; i < 1025; i++) { - shape = new Line(); + shape = new HSLFLine(); slide.addShape(shape); } assertEquals(numClusters + 1, dgg.getNumIdClusters());