/*
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, Number_$type, Boolean_$type, fromEnum, markType } from "igniteui-angular-core";
import { ST_DataBarDirection_$type } from "./ST_DataBarDirection";
import { ST_DataBarAxisPosition_$type } from "./ST_DataBarAxisPosition";
import { CultureInfo } from "igniteui-angular-core";
import { ST_OnOff } from "./ST_OnOff";
import { XmlNamespaceDefinitionBase } from "./XmlNamespaceDefinitionBase";
import { parseUInt32_1 } from "igniteui-angular-core";
/**
 * @hidden
 */
export let CT_DataBar_SML2009 = /*@__PURE__*/ (() => {
    class CT_DataBar_SML2009 extends Base {
        constructor() {
            super();
            this.q = null;
            this.f = null;
            this.d = null;
            this.j = null;
            this.h = null;
            this.b = null;
            this.ac = toNullable(Number_$type, null);
            this.aa = toNullable(Number_$type, null);
            this.ai = toNullable(Boolean_$type, null);
            this.u = toNullable(Boolean_$type, null);
            this.y = toNullable(Boolean_$type, null);
            this.w = toNullable(ST_DataBarDirection_$type, null);
            this.ag = toNullable(Boolean_$type, null);
            this.ae = toNullable(Boolean_$type, null);
            this.s = toNullable(ST_DataBarAxisPosition_$type, null);
        }
        get p() {
            return this.q;
        }
        set p(a) {
            this.q = a;
        }
        get e() {
            return this.f;
        }
        set e(a) {
            this.f = a;
        }
        get c() {
            return this.d;
        }
        set c(a) {
            this.d = a;
        }
        get i() {
            return this.j;
        }
        set i(a) {
            this.j = a;
        }
        get g() {
            return this.h;
        }
        set g(a) {
            this.h = a;
        }
        get a() {
            return this.b;
        }
        set a(a) {
            this.b = a;
        }
        get ab() {
            return this.ac;
        }
        set ab(a) {
            this.ac = a;
        }
        get z() {
            return this.aa;
        }
        set z(a) {
            this.aa = a;
        }
        get ah() {
            return this.ai;
        }
        set ah(a) {
            this.ai = a;
        }
        get t() {
            return this.u;
        }
        set t(a) {
            this.u = a;
        }
        get x() {
            return this.y;
        }
        set x(a) {
            this.y = a;
        }
        get v() {
            return this.w;
        }
        set v(a) {
            this.w = a;
        }
        get af() {
            return this.ag;
        }
        set af(a) {
            this.ag = a;
        }
        get ad() {
            return this.ae;
        }
        set ad(a) {
            this.ae = a;
        }
        get r() {
            return this.s;
        }
        set r(a) {
            this.s = a;
        }
        static al(a, b, c, d, e, f, g, h, i, j) {
            b = toNullable(Number_$type, null);
            c = toNullable(Number_$type, null);
            d = toNullable(Boolean_$type, null);
            e = toNullable(Boolean_$type, null);
            f = toNullable(Boolean_$type, null);
            g = toNullable(ST_DataBarDirection_$type, null);
            h = toNullable(Boolean_$type, null);
            i = toNullable(Boolean_$type, null);
            j = toNullable(ST_DataBarAxisPosition_$type, null);
            for (let k of fromEnum(a.ab.u)) {
                switch (k.a.e(a.d)) {
                    case "minLength":
                        b = toNullable(Number_$type, parseUInt32_1(k.d, CultureInfo.invariantCulture));
                        break;
                    case "maxLength":
                        c = toNullable(Number_$type, parseUInt32_1(k.d, CultureInfo.invariantCulture));
                        break;
                    case "showValue":
                        d = toNullable(Boolean_$type, ST_OnOff.e(k.d));
                        break;
                    case "border":
                        e = toNullable(Boolean_$type, ST_OnOff.e(k.d));
                        break;
                    case "gradient":
                        f = toNullable(Boolean_$type, ST_OnOff.e(k.d));
                        break;
                    case "direction":
                        g = toNullable(ST_DataBarDirection_$type, XmlNamespaceDefinitionBase.b(ST_DataBarDirection_$type, k.d));
                        break;
                    case "negativeBarColorSameAsPositive":
                        h = toNullable(Boolean_$type, ST_OnOff.e(k.d));
                        break;
                    case "negativeBarBorderColorSameAsPositive":
                        i = toNullable(Boolean_$type, ST_OnOff.e(k.d));
                        break;
                    case "axisPosition":
                        j = toNullable(ST_DataBarAxisPosition_$type, XmlNamespaceDefinitionBase.b(ST_DataBarAxisPosition_$type, k.d));
                        break;
                    default: break;
                }
            }
            ;
            return {
                p1: b,
                p2: c,
                p3: d,
                p4: e,
                p5: f,
                p6: g,
                p7: h,
                p8: i,
                p9: j
            };
        }
        static am(a, b, c = toNullable(ST_DataBarAxisPosition_$type, null), d = toNullable(Boolean_$type, null), e = toNullable(ST_DataBarDirection_$type, null), f = toNullable(Boolean_$type, null), g = toNullable(Number_$type, null), h = toNullable(Number_$type, null), i = toNullable(Boolean_$type, null), j = toNullable(Boolean_$type, null), k = toNullable(Boolean_$type, null)) {
            a.ad.p(b, null);
            let l = null;
            let m = null;
            if (c.hasValue) {
                m = "axisPosition";
                l = XmlNamespaceDefinitionBase.p(ST_DataBarAxisPosition_$type, c.value);
                a.ad.h(m, l);
            }
            if (d.hasValue) {
                m = "border";
                l = ST_OnOff.g(d.value);
                a.ad.h(m, l);
            }
            if (e.hasValue) {
                m = "direction";
                l = XmlNamespaceDefinitionBase.p(ST_DataBarDirection_$type, e.value);
                a.ad.h(m, l);
            }
            if (f.hasValue) {
                m = "gradient";
                l = ST_OnOff.g(f.value);
                a.ad.h(m, l);
            }
            if (g.hasValue) {
                m = "maxLength";
                l = g.value.toString();
                a.ad.h(m, l);
            }
            if (h.hasValue) {
                m = "minLength";
                l = h.value.toString();
                a.ad.h(m, l);
            }
            if (i.hasValue) {
                m = "negativeBarBorderColorSameAsPositive";
                l = ST_OnOff.g(i.value);
                a.ad.h(m, l);
            }
            if (j.hasValue) {
                m = "negativeBarColorSameAsPositive";
                l = ST_OnOff.g(j.value);
                a.ad.h(m, l);
            }
            if (k.hasValue) {
                m = "showValue";
                l = ST_OnOff.g(k.value);
                a.ad.h(m, l);
            }
            ;
        }
    }
    CT_DataBar_SML2009.$t = markType(CT_DataBar_SML2009, 'CT_DataBar_SML2009');
    return CT_DataBar_SML2009;
})();
