/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE  AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE:  you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import { Base, toNullable, Boolean_$type, Number_$type, fromEnum, markType } from "igniteui-angular-core";
import { ST_TextMargin } from "./ST_TextMargin";
import { ST_TextIndentLevelType } from "./ST_TextIndentLevelType";
import { ST_TextIndent } from "./ST_TextIndent";
import { ST_TextAlignType_$type } from "./ST_TextAlignType";
import { ST_Coordinate32 } from "./ST_Coordinate32";
import { ST_TextFontAlignType_$type } from "./ST_TextFontAlignType";
import { XmlNamespaceDefinitionBase } from "./XmlNamespaceDefinitionBase";
import { CultureInfo } from "igniteui-angular-core";
import { ST_OnOff } from "./ST_OnOff";
import { parseInt32_1 } from "igniteui-angular-core";
/**
 * @hidden
 */
export class CT_TextParagraphProperties extends Base {
    constructor() {
        super(...arguments);
        this.k = toNullable(ST_TextMargin.$, null);
        this.l = toNullable(ST_TextMargin.$, null);
        this.j = toNullable(ST_TextIndentLevelType.$, null);
        this.h = toNullable(ST_TextIndent.$, null);
        this.c = toNullable(ST_TextAlignType_$type, null);
        this.d = toNullable(ST_Coordinate32.$, null);
        this.m = toNullable(Boolean_$type, null);
        this.e = toNullable(Boolean_$type, null);
        this.f = toNullable(ST_TextFontAlignType_$type, null);
        this.i = toNullable(Boolean_$type, null);
        this.g = toNullable(Boolean_$type, null);
        this.a = null;
    }
    static b(a) {
        let b = toNullable(ST_TextAlignType_$type, null);
        let c = toNullable(Number_$type, null);
        let d = toNullable(Boolean_$type, null);
        let e = toNullable(ST_TextFontAlignType_$type, null);
        let f = toNullable(Boolean_$type, null);
        let g = toNullable(Number_$type, null);
        let h = toNullable(Boolean_$type, null);
        let i = toNullable(Number_$type, null);
        let j = toNullable(Number_$type, null);
        let k = toNullable(Number_$type, null);
        let l = toNullable(Boolean_$type, null);
        for (let m of fromEnum(a.ab.u)) {
            switch (m.a.e(a.d)) {
                case "algn":
                    b = toNullable(ST_TextAlignType_$type, XmlNamespaceDefinitionBase.b(ST_TextAlignType_$type, m.d));
                    break;
                case "defTabSz":
                    c = toNullable(Number_$type, parseInt32_1(m.d, CultureInfo.invariantCulture));
                    break;
                case "eaLnBrk":
                    d = toNullable(Boolean_$type, ST_OnOff.e(m.d));
                    break;
                case "fontAlgn":
                    e = toNullable(ST_TextFontAlignType_$type, XmlNamespaceDefinitionBase.b(ST_TextFontAlignType_$type, m.d));
                    break;
                case "hangingPunct":
                    f = toNullable(Boolean_$type, ST_OnOff.e(m.d));
                    break;
                case "indent":
                    g = toNullable(Number_$type, parseInt32_1(m.d, CultureInfo.invariantCulture));
                    break;
                case "latinLnBrk":
                    h = toNullable(Boolean_$type, ST_OnOff.e(m.d));
                    break;
                case "lvl":
                    i = toNullable(Number_$type, parseInt32_1(m.d, CultureInfo.invariantCulture));
                    break;
                case "marL":
                    j = toNullable(Number_$type, parseInt32_1(m.d, CultureInfo.invariantCulture));
                    break;
                case "marR":
                    k = toNullable(Number_$type, parseInt32_1(m.d, CultureInfo.invariantCulture));
                    break;
                case "rtl":
                    l = toNullable(Boolean_$type, ST_OnOff.e(m.d));
                    break;
                default: break;
            }
        }
        let n = ((() => {
            let $ret = new CT_TextParagraphProperties();
            $ret.c = b;
            $ret.d = ST_Coordinate32.n(c);
            $ret.e = d;
            $ret.f = e;
            $ret.g = f;
            $ret.h = ST_TextIndent.h(g);
            $ret.i = h;
            $ret.j = ST_TextIndentLevelType.h(i);
            $ret.k = ST_TextMargin.h(j);
            $ret.l = ST_TextMargin.h(k);
            $ret.m = l;
            return $ret;
        })());
        return n;
    }
}
CT_TextParagraphProperties.$t = markType(CT_TextParagraphProperties, 'CT_TextParagraphProperties');
//# sourceMappingURL=CT_TextParagraphProperties.js.map