@Override public HSLFTable createTable(int numRows, int numCols) { if (numRows < 1 || numCols < 1) { throw new IllegalArgumentException("numRows and numCols must be greater than 0"); } HSLFTable s = new HSLFTable(numRows,numCols); // anchor is set in constructor based on numRows/numCols addShape(s); return s; }
/** * Background for this slide. */ @Override public HSLFBackground getBackground() { if (getFollowMasterBackground()) { final HSLFMasterSheet ms = getMasterSheet(); return (ms == null) ? null : ms.getBackground(); } return super.getBackground(); }
protected static Color getColorFromColorIndexStruct(int rgb, HSLFSheet sheet) { int cidx = rgb >>> 24; Color tmp; switch (cidx) { // Background ... Accent 3 color case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: if (sheet == null) { return null; } ColorSchemeAtom ca = sheet.getColorScheme(); tmp = new Color(ca.getColor(cidx), true); break; // Color is an sRGB value specified by red, green, and blue fields. case 0xFE: tmp = new Color(rgb, true); break; // Color is undefined. default: case 0xFF: return null; } return new Color(tmp.getBlue(), tmp.getGreen(), tmp.getRed()); }
/** * Add a new Shape to this Slide * * @param shape - the Shape to add */ @Override public void addShape(HSLFShape shape) { PPDrawing ppdrawing = getPPDrawing(); EscherContainerRecord dgContainer = ppdrawing.getDgContainer(); EscherContainerRecord spgr = HSLFShape.getEscherChild(dgContainer, EscherContainerRecord.SPGR_CONTAINER); spgr.addChildRecord(shape.getSpContainer()); shape.setSheet(this); shape.setShapeId(allocateShapeId()); shape.afterInsert(this); }
getSpContainer().addChildRecord(thisTxtbox.getEscherRecord()); PPDrawing ppdrawing = sh.getPPDrawing(); ppdrawing.addTextboxWrapper(thisTxtbox); htp.setShapeId(getShapeId()); sh.onAddTextShape(this);
/** * Removes the specified shape from this sheet. * * @param shape shape to be removed from this sheet, if present. * @return <tt>true</tt> if the shape was deleted. */ @Override public boolean removeShape(HSLFShape shape) { PPDrawing ppdrawing = getPPDrawing(); EscherContainerRecord dg = ppdrawing.getDgContainer(); EscherContainerRecord spgr = dg.getChildById(EscherContainerRecord.SPGR_CONTAINER); if(spgr == null) { return false; } List<EscherRecord> lst = spgr.getChildRecords(); boolean result = lst.remove(shape.getSpContainer()); spgr.setChildRecords(lst); return result; }
@Override public String getText() { final Placeholder ph = getPlaceholder(); if (ph == null) { return null; } final HeadersFooters headersFooters = sheet.getHeadersFooters(); switch (ph) { case TITLE: case HEADER: return headersFooters.getHeaderText(); case FOOTER: return headersFooters.getFooterText(); case DATETIME: return headersFooters.getDateTimeText(); case SLIDE_NUMBER: default: return null; } }
@Override public HSLFPlaceholderDetails getPlaceholderDetails(Placeholder placeholder) { final HSLFSimpleShape ph = getPlaceholder(placeholder); return (ph == null) ? null : new HSLFShapePlaceholderDetails(ph); } }
private <T extends TextProp> T getMasterProp(final String name) { final int txtype = parentParagraph.getRunType(); final HSLFSheet sheet = parentParagraph.getSheet(); if (sheet == null) { logger.log(POILogger.ERROR, "Sheet is not available"); return null; } final HSLFMasterSheet master = sheet.getMasterSheet(); if (master == null) { logger.log(POILogger.WARN, "MasterSheet is not available"); return null; } final TextPropCollection col = master.getPropCollection(txtype, parentParagraph.getIndentLevel(), name, true); return (col == null) ? null : col.findByName(name); }
@Override public HSLFPlaceholderDetails getPlaceholderDetails(Placeholder placeholder) { if (placeholder == null) { return null; } if (placeholder == Placeholder.HEADER || placeholder == Placeholder.FOOTER) { return new HSLFPlaceholderDetails(this, placeholder); } else { return super.getPlaceholderDetails(placeholder); } } }
@Override protected void afterInsert(HSLFSheet sheet){ ExControl ctrl = getExControl(); if (ctrl == null) { throw new NullPointerException("ExControl is not defined"); } ctrl.getExControlAtom().setSlideId(sheet._getSheetNumber()); String name = ctrl.getProgId() + "-" + getControlIndex() + '\u0000'; byte[] data = StringUtil.getToUnicodeLE(name); EscherComplexProperty prop = new EscherComplexProperty(EscherProperties.GROUPSHAPE__SHAPENAME, false, data); AbstractEscherOptRecord opt = getEscherOptRecord(); opt.addEscherProperty(prop); } }
/** * Add a shape to this group. * * @param shape - the Shape to add */ @Override public void addShape(HSLFShape shape){ getSpContainer().addChildRecord(shape.getSpContainer()); HSLFSheet sheet = getSheet(); shape.setSheet(sheet); shape.setShapeId(sheet.allocateShapeId()); shape.afterInsert(sheet); }
/** * Returns the background shape for this sheet. * * @return the background shape for this sheet. */ @Override public HSLFBackground getBackground() { if (_background == null) { PPDrawing ppdrawing = getPPDrawing(); EscherContainerRecord dg = ppdrawing.getDgContainer(); EscherContainerRecord spContainer = dg.getChildById(EscherContainerRecord.SP_CONTAINER); _background = new HSLFBackground(spContainer, null); _background.setSheet(this); } return _background; }
@Override public void setText(final String text) { final Placeholder ph = getPlaceholder(); if (ph == null) { return; } final HeadersFooters headersFooters = sheet.getHeadersFooters(); switch (ph) { case TITLE: case HEADER: headersFooters.setHeaderText(text); break; case FOOTER: headersFooters.setFootersText(text); break; case DATETIME: headersFooters.setDateTimeText(text); break; case SLIDE_NUMBER: default: break; } } }
private String getPlaceholderText(Placeholder ph, CString cs) { String text; if (_ppt2007) { HSLFSimpleShape ss = _sheet.getPlaceholder(ph); text = (ss instanceof HSLFTextShape) ? ((HSLFTextShape)ss).getText() : null; // default text in master placeholders is not visible if("*".equals(text)) { text = null; } } else { text = (cs == null) ? null : cs.getText(); } return text; }
master = (HSLFMasterSheet)sheet; } else { master = sheet.getMasterSheet(); if (master == null) { logger.log(POILogger.WARN, "MasterSheet is not available");
@Override public HSLFPictureShape createPicture(PictureData pictureData) { if (!(pictureData instanceof HSLFPictureData)) { throw new IllegalArgumentException("pictureData needs to be of type HSLFPictureData"); } HSLFPictureShape s = new HSLFPictureShape((HSLFPictureData)pictureData); s.setAnchor(new Rectangle2D.Double(0, 0, 100, 100)); addShape(s); return s; }
Color toRGB(int val){ int a = (val >> 24) & 0xFF; int b = (val >> 16) & 0xFF; int g = (val >> 8) & 0xFF; int r = (val >> 0) & 0xFF; if(a == 0xFE){ // Color is an sRGB value specified by red, green, and blue fields. } else if (a == 0xFF){ // Color is undefined. } else { // index in the color scheme ColorSchemeAtom ca = getSheet().getColorScheme(); int schemeColor = ca.getColor(a); r = (schemeColor >> 0) & 0xFF; g = (schemeColor >> 8) & 0xFF; b = (schemeColor >> 16) & 0xFF; } return new Color(r, g, b); }
PPDrawing ppdrawing = getPPDrawing();
public void setVisible(final boolean isVisible) { final Placeholder ph = getPlaceholder(); if (ph == null) { return; } final HeadersFooters headersFooters = sheet.getHeadersFooters(); switch (ph) { case TITLE: case HEADER: headersFooters.setHeaderVisible(isVisible); break; case FOOTER: headersFooters.setFooterVisible(isVisible); break; case DATETIME: headersFooters.setDateTimeVisible(isVisible); break; case SLIDE_NUMBER: headersFooters.setSlideNumberVisible(isVisible); break; } }