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 120608b1f9
commit 8bd0d5b819

View File

@ -231,11 +231,7 @@ public class XWPFStyles extends POIXMLDocumentPart{
return usedStyleList; return usedStyleList;
} }
/** protected CTLanguage getCTLanguage() {
* Sets the default spelling language on ctStyles DocDefaults parameter
* @param strSpellingLanguage
*/
public void setSpellingLanguage(String strSpellingLanguage) {
ensureDocDefaults(); ensureDocDefaults();
CTLanguage lang = null; CTLanguage lang = null;
@ -244,69 +240,38 @@ public class XWPFStyles extends POIXMLDocumentPart{
} else { } else {
lang = defaultRunStyle.getRPr().addNewLang(); 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.setVal(strSpellingLanguage);
lang.setBidi(strSpellingLanguage); lang.setBidi(strSpellingLanguage);
} }
// TODO Refactor the others like this
/** /**
* Sets the default East Asia spelling language on ctStyles DocDefaults parameter * Sets the default East Asia spelling language on ctStyles DocDefaults parameter
* @param strEastAsia * @param strEastAsia
*/ */
public void setEastAsia(String strEastAsia) { public void setEastAsia(String strEastAsia) {
CTDocDefaults docDefaults = null; CTLanguage lang = getCTLanguage();
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();
lang.setEastAsia(strEastAsia); lang.setEastAsia(strEastAsia);
} }
/** /**
* Sets the default font on ctStyles DocDefaults parameter * 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) { public void setDefaultFonts(CTFonts fonts) {
CTDocDefaults docDefaults = null; ensureDocDefaults();
CTRPr runProps = null;
CTRPr runProps = defaultRunStyle.getRPr();
// 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();
runProps.setRFonts(fonts); runProps.setRFonts(fonts);
} }