/** * @see SimpleShape#getPlaceholderDetails() */ @SuppressWarnings("WeakerAccess") public XSLFPlaceholderDetails getPlaceholderDetails() { return new XSLFPlaceholderDetails(this); }
public boolean isPlaceholder() { return getPlaceholderDetails().getCTPlaceholder(false) != null; }
@Override public void setVisible(final boolean isVisible) { final Placeholder ph = getPlaceholder(); if (ph == null) { return; } final Function<CTHeaderFooter,Consumer<Boolean>> fun; switch (ph) { case DATETIME: fun = (hf) -> hf::setDt; break; case FOOTER: fun = (hf) -> hf::setFtr; break; case HEADER: fun = (hf) -> hf::setHdr; break; case SLIDE_NUMBER: fun = (hf) -> hf::setSldNum; break; default: return; } // only create a header, if we need to, i.e. the placeholder type is eligible final CTHeaderFooter hf = getHeaderFooter(true); if (hf == null) { return; } fun.apply(hf).accept(isVisible); }
@Override public void setPlaceholder(final Placeholder placeholder) { CTPlaceholder ph = getCTPlaceholder(placeholder != null); if (ph != null) { if (placeholder != null) { ph.setType(STPlaceholderType.Enum.forInt(placeholder.ooxmlId)); } else { getNvProps().unsetPh(); } } }
@Override public boolean isVisible() { final CTPlaceholder ph = getCTPlaceholder(false); if (ph == null || !ph.isSetType()) { return true; } final CTHeaderFooter hf = getHeaderFooter(false); if (hf == null) { return false; } final Placeholder pl = Placeholder.lookupOoxml(ph.getType().intValue()); if (pl == null) { return true; } switch (pl) { case DATETIME: return !hf.isSetDt() || hf.getDt(); case FOOTER: return !hf.isSetFtr() || hf.getFtr(); case HEADER: return !hf.isSetHdr() || hf.getHdr(); case SLIDE_NUMBER: return !hf.isSetSldNum() || hf.getSldNum(); default: return true; } }
/** * @see PlaceholderDetails#setPlaceholder(Placeholder) */ public void setPlaceholder(final Placeholder placeholder) { getPlaceholderDetails().setPlaceholder(placeholder); }
/** * @see PlaceholderDetails#getPlaceholder() */ public Placeholder getPlaceholder() { return getPlaceholderDetails().getPlaceholder(); }
/** * Gets or creates a new placeholder element * * @param create if {@code true} creates the element if it hasn't existed before * @return the placeholder or {@code null} if the shape doesn't support placeholders */ CTPlaceholder getCTPlaceholder(final boolean create) { if (_ph != null) { return _ph; } final CTApplicationNonVisualDrawingProps nv = getNvProps(); if (nv == null) { // shape doesn't support CTApplicationNonVisualDrawingProps return null; } _ph = (nv.isSetPh() || !create) ? nv.getPh() : nv.addNewPh(); return _ph; }
@Override public void setPlaceholder(final Placeholder placeholder) { CTPlaceholder ph = getCTPlaceholder(placeholder != null); if (ph != null) { if (placeholder != null) { ph.setType(STPlaceholderType.Enum.forInt(placeholder.ooxmlId)); } else { getNvProps().unsetPh(); } } }
@Override public boolean isVisible() { final CTPlaceholder ph = getCTPlaceholder(false); if (ph == null || !ph.isSetType()) { return true; } final CTHeaderFooter hf = getHeaderFooter(false); if (hf == null) { return false; } final Placeholder pl = Placeholder.lookupOoxml(ph.getType().intValue()); if (pl == null) { return true; } switch (pl) { case DATETIME: return !hf.isSetDt() || hf.getDt(); case FOOTER: return !hf.isSetFtr() || hf.getFtr(); case HEADER: return !hf.isSetHdr() || hf.getHdr(); case SLIDE_NUMBER: return !hf.isSetSldNum() || hf.getSldNum(); default: return true; } }
/** * @see PlaceholderDetails#setPlaceholder(Placeholder) */ public void setPlaceholder(final Placeholder placeholder) { getPlaceholderDetails().setPlaceholder(placeholder); }
/** * @see PlaceholderDetails#getPlaceholder() */ public Placeholder getPlaceholder() { return getPlaceholderDetails().getPlaceholder(); }
/** * Gets or creates a new placeholder element * * @param create if {@code true} creates the element if it hasn't existed before * @return the placeholder or {@code null} if the shape doesn't support placeholders */ CTPlaceholder getCTPlaceholder(final boolean create) { if (_ph != null) { return _ph; } final CTApplicationNonVisualDrawingProps nv = getNvProps(); if (nv == null) { // shape doesn't support CTApplicationNonVisualDrawingProps return null; } _ph = (nv.isSetPh() || !create) ? nv.getPh() : nv.addNewPh(); return _ph; }
@Override public boolean isHeaderOrFooter() { CTPlaceholder ph = _shape.getPlaceholderDetails().getCTPlaceholder(false); int phId = (ph == null ? -1 : ph.getType().intValue()); switch (phId) { case STPlaceholderType.INT_SLD_NUM: case STPlaceholderType.INT_DT: case STPlaceholderType.INT_FTR: case STPlaceholderType.INT_HDR: return true; default: return false; } }
@Override public void setVisible(final boolean isVisible) { final Placeholder ph = getPlaceholder(); if (ph == null) { return; } final Function<CTHeaderFooter,Consumer<Boolean>> fun; switch (ph) { case DATETIME: fun = (hf) -> hf::setDt; break; case FOOTER: fun = (hf) -> hf::setFtr; break; case HEADER: fun = (hf) -> hf::setHdr; break; case SLIDE_NUMBER: fun = (hf) -> hf::setSldNum; break; default: return; } // only create a header, if we need to, i.e. the placeholder type is eligible final CTHeaderFooter hf = getHeaderFooter(true); if (hf == null) { return; } fun.apply(hf).accept(isVisible); }
@Override public XSLFPlaceholderDetails getPlaceholderDetails(Placeholder placeholder) { final XSLFSimpleShape ph = getPlaceholder(placeholder); return (ph == null) ? null : new XSLFPlaceholderDetails(ph); }
@Override public PlaceholderSize getSize() { final CTPlaceholder ph = getCTPlaceholder(false); if (ph == null || !ph.isSetSz()) { return null; } switch (ph.getSz().intValue()) { case STPlaceholderSize.INT_FULL: return PlaceholderSize.full; case STPlaceholderSize.INT_HALF: return PlaceholderSize.half; case STPlaceholderSize.INT_QUARTER: return PlaceholderSize.quarter; default: return null; } }
/** * @see SimpleShape#getPlaceholderDetails() */ @SuppressWarnings("WeakerAccess") public XSLFPlaceholderDetails getPlaceholderDetails() { return new XSLFPlaceholderDetails(this); }
private void initPlaceholders() { if(_placeholders == null) { _placeholders = new ArrayList<>(); _placeholderByIdMap = new HashMap<>(); _placeholderByTypeMap = new HashMap<>(); for(final XSLFShape sh : getShapes()){ if(sh instanceof XSLFTextShape){ final XSLFTextShape sShape = (XSLFTextShape)sh; final CTPlaceholder ph = sShape.getPlaceholderDetails().getCTPlaceholder(false); if(ph != null) { _placeholders.add(sShape); if(ph.isSetIdx()) { int idx = (int)ph.getIdx(); _placeholderByIdMap.put(idx, sShape); } if(ph.isSetType()){ _placeholderByTypeMap.put(ph.getType().intValue(), sShape); } } } } } }
@Override public XSLFPlaceholderDetails getPlaceholderDetails(Placeholder placeholder) { final XSLFSimpleShape ph = getPlaceholder(placeholder); return (ph == null) ? null : new XSLFPlaceholderDetails(ph); }