Refactor common default styles code to use the new helpers

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1678197 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2015-05-07 13:34:03 +00:00
parent d38594d552
commit f94b28ab52
1 changed files with 17 additions and 52 deletions

View File

@ -231,11 +231,7 @@ public class XWPFStyles extends POIXMLDocumentPart{
return usedStyleList;
}
/**
* Sets the default spelling language on ctStyles DocDefaults parameter
* @param strSpellingLanguage
*/
public void setSpellingLanguage(String strSpellingLanguage) {
protected CTLanguage getCTLanguage() {
ensureDocDefaults();
CTLanguage lang = null;
@ -244,69 +240,38 @@ public class XWPFStyles extends POIXMLDocumentPart{
} else {
lang = defaultRunStyle.getRPr().addNewLang();
}
return lang;
}
/**
* Sets the default spelling language on ctStyles DocDefaults parameter
* @param strSpellingLanguage
*/
public void setSpellingLanguage(String strSpellingLanguage) {
CTLanguage lang = getCTLanguage();
lang.setVal(strSpellingLanguage);
lang.setBidi(strSpellingLanguage);
}
// TODO Refactor the others like this
/**
* Sets the default East Asia spelling language on ctStyles DocDefaults parameter
* @param strEastAsia
*/
public void setEastAsia(String strEastAsia) {
CTDocDefaults docDefaults = null;
CTRPr runProps = null;
CTLanguage lang = null;
// Just making sure we use the members that have already been defined
if(ctStyles.isSetDocDefaults()) {
docDefaults = ctStyles.getDocDefaults();
if(docDefaults.isSetRPrDefault()) {
CTRPrDefault RPrDefault = docDefaults.getRPrDefault();
if(RPrDefault.isSetRPr()) {
runProps = RPrDefault.getRPr();
if(runProps.isSetLang())
lang = runProps.getLang();
}
}
}
if(docDefaults == null)
docDefaults = ctStyles.addNewDocDefaults();
if(runProps == null)
runProps = docDefaults.addNewRPrDefault().addNewRPr();
if(lang == null)
lang = runProps.addNewLang();
CTLanguage lang = getCTLanguage();
lang.setEastAsia(strEastAsia);
}
/**
* Sets the default font on ctStyles DocDefaults parameter
* @param fonts
* TODO Replace this with specific setters for each type, possibly
* on XWPFDefaultRunStyle
*/
public void setDefaultFonts(CTFonts fonts) {
CTDocDefaults docDefaults = null;
CTRPr runProps = null;
// Just making sure we use the members that have already been defined
if(ctStyles.isSetDocDefaults()) {
docDefaults = ctStyles.getDocDefaults();
if(docDefaults.isSetRPrDefault()) {
CTRPrDefault RPrDefault = docDefaults.getRPrDefault();
if(RPrDefault.isSetRPr()) {
runProps = RPrDefault.getRPr();
}
}
}
if(docDefaults == null)
docDefaults = ctStyles.addNewDocDefaults();
if(runProps == null)
runProps = docDefaults.addNewRPrDefault().addNewRPr();
ensureDocDefaults();
CTRPr runProps = defaultRunStyle.getRPr();
runProps.setRFonts(fonts);
}