/*
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 { ErrorBarSettingsBase } from "./ErrorBarSettingsBase";
import { EnableErrorBars_$type } from "./EnableErrorBars";
import { DependencyProperty } from "igniteui-angular-core";
import { IErrorBarCalculator_$type } from "igniteui-angular-core";
import { Brush } from "igniteui-angular-core";
import { Style } from "igniteui-angular-core";
import { runOn, delegateCombine, enumGetBox, typeCast, delegateRemove, markType, markDep } from "igniteui-angular-core";
import { PropertyMetadata } from "igniteui-angular-core";
/**
 * @hidden
 */
export class CategoryErrorBarSettings extends ErrorBarSettingsBase {
    constructor() {
        super();
        this.p = null;
        this.propertyUpdated = delegateCombine(this.propertyUpdated, runOn(this, this.ab));
    }
    get q() {
        return this.p;
    }
    set q(a) {
        this.p = a;
    }
    ab(a, b) {
        switch (b.propertyName) {
            case CategoryErrorBarSettings.$$p[0]:
                let c = typeCast(IErrorBarCalculator_$type, b.oldValue);
                if (c != null) {
                    c.changed = delegateRemove(c.changed, runOn(this, this.aa));
                }
                if (this.q != null) {
                    this.q.jd(false);
                    if (this.q.bs != null) {
                        this.q.ik();
                    }
                }
                let d = typeCast(IErrorBarCalculator_$type, b.newValue);
                if (d != null) {
                    d.changed = delegateCombine(d.changed, runOn(this, this.aa));
                }
                break;
            case CategoryErrorBarSettings.$$p[1]:
            case CategoryErrorBarSettings.$$p[2]:
            case CategoryErrorBarSettings.$$p[3]:
            case CategoryErrorBarSettings.$$p[4]:
            case CategoryErrorBarSettings.$$p[5]:
                if (this.q != null) {
                    this.q.jd(false);
                    if (this.q.bs != null) {
                        this.q.ik();
                    }
                }
                break;
        }
    }
    aa(a, b) {
        let c = typeCast(IErrorBarCalculator_$type, a);
        if (c != null) {
            c.changed = delegateRemove(c.changed, runOn(this, this.aa));
            if (this.q != null) {
                this.q.jd(false);
            }
            c.changed = delegateCombine(c.changed, runOn(this, this.aa));
        }
    }
}
CategoryErrorBarSettings.$t = markType(CategoryErrorBarSettings, 'CategoryErrorBarSettings', ErrorBarSettingsBase.$);
CategoryErrorBarSettings.$$p = markDep(DependencyProperty, PropertyMetadata, CategoryErrorBarSettings, 'l', ['Calculator:r:ac', [IErrorBarCalculator_$type, null], 'EnableErrorBars:o:ad', [EnableErrorBars_$type, enumGetBox(EnableErrorBars_$type, 0)], 'ErrorBarCapLength:t:ae', [1, 6], 'ErrorBarStyle:aj:af', [Style.$, null], 'Stroke:ai:ag', [Brush.$, null], 'StrokeThickness:s:ah', [1, 1]]);
//# sourceMappingURL=CategoryErrorBarSettings.js.map