--- /dev/null
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+
+package org.apache.poi.xwpf.usermodel;
+
+import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPPr;
+
+/**
+ * Default Paragraph style, from which other styles will override
+ * TODO Share logic with {@link XWPFParagraph} which also uses CTPPr
+ */
+public class XWPFDefaultParagraphStyle {
+ private CTPPr ppr;
+
+ public XWPFDefaultParagraphStyle(CTPPr ppr) {
+ this.ppr = ppr;
+ }
+
+ public int getSpacingAfter() {
+ if (ppr.isSetSpacing())
+ return ppr.getSpacing().getAfter().intValue();
+ return -1;
+ }
+}
--- /dev/null
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+
+package org.apache.poi.xwpf.usermodel;
+
+import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTRPr;
+
+/**
+ * Default Character Run style, from which other styles will override
+ * TODO Share logic with {@link XWPFRun} which also uses CTRPr
+ */
+public class XWPFDefaultRunStyle {
+ private CTRPr rpr;
+
+ public XWPFDefaultRunStyle(CTRPr rpr) {
+ this.rpr = rpr;
+ }
+
+ public int getFontSize() {
+ if (rpr.isSetSz())
+ return rpr.getSz().getVal().intValue() / 2;
+ return -1;
+ }
+}
this.styles=styles;
}
+ public int getNumberOfStyles() {
+ return latentStyles.sizeOfLsdExceptionArray();
+ }
+
/**
- * checks wheter specific LatentStyleID is a latentStyle
+ * checks whether specific LatentStyleID is a latentStyle
*/
@SuppressWarnings("deprecation")
protected boolean isLatentStyle(String latentStyleID){
* information stored in the {@link XWPFRun}
*/
public class XWPFStyles extends POIXMLDocumentPart{
-
private List<XWPFStyle> listStyle = new ArrayList<XWPFStyle>();
private CTStyles ctStyles;
XWPFLatentStyles latentStyles;
ctStyles.save(out, xmlOptions);
out.close();
}
+
+ protected void ensureDocDefaults() {
+ // TODO Refactor from elsewhere
+ }
/**
* Sets the ctStyles
runProps.setRFonts(fonts);
}
-
- /**
- * get latentstyles
- */
- public XWPFLatentStyles getLatentStyles() {
- return latentStyles;
- }
-
/**
* get the style with the same name
* if this style is not existing, return null
}
}
return null;
-
}
-}//end class
+
+ /**
+ * Get the default paragraph style which applies to the document
+ */
+ public XWPFDefaultParagraphStyle getDefaultParagraphStyle() {
+ return null; // TODO
+ }
+
+ /**
+ * Get the definition of all the Latent Styles
+ */
+ public XWPFLatentStyles getLatentStyles() {
+ return latentStyles;
+ }
+}
assertNotNull(styles.getStyle("TableNormal"));
assertNotNull(styles.getStyle("NoList"));
- // TODO Check latent and default
+ // We can't do much yet with latent styles
+ assertEquals(137, styles.getLatentStyles().getNumberOfStyles());
+
+ // Check the default styles
+ // TODO
}
}