/*
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 { __extends } from "tslib";
import { DataAnnotationRangeLayer } from "./DataAnnotationRangeLayer";
import { DependencyProperty } from "igniteui-angular-core";
import { enumGetBox, typeCast, markType, markDep } from "igniteui-angular-core";
import { DataAnnotationDisplayMode_$type } from "./DataAnnotationDisplayMode";
import { IFastItemsSource_$type } from "igniteui-angular-core";
import { PropertyMetadata } from "igniteui-angular-core";
/**
 * @hidden
 */
var DataAnnotationPointLayer = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(DataAnnotationPointLayer, _super);
    function DataAnnotationPointLayer() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this.agt = null;
        _this.agu = null;
        _this.agr = null;
        _this.ags = null;
        _this.agp = null;
        _this.agq = null;
        _this.agn = null;
        _this.ago = null;
        _this.agl = null;
        _this.agm = null;
        return _this;
    }
    Object.defineProperty(DataAnnotationPointLayer.prototype, "ag3", {
        get: function () {
            return this.agt;
        },
        set: function (a) {
            if (this.agt != a) {
                var b = this.agt;
                this.agt = a;
                this.raisePropertyChanged("StartValueXColumn", b, this.agt);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationPointLayer.prototype, "ag4", {
        get: function () {
            return this.agu;
        },
        set: function (a) {
            if (this.agu != a) {
                var b = this.agu;
                this.agu = a;
                this.raisePropertyChanged("StartValueYColumn", b, this.agu);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationPointLayer.prototype, "ag1", {
        get: function () {
            return this.agr;
        },
        set: function (a) {
            if (this.agr != a) {
                var b = this.agr;
                this.agr = a;
                this.raisePropertyChanged("StartLabelXColumn", b, this.agr);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationPointLayer.prototype, "ag2", {
        get: function () {
            return this.ags;
        },
        set: function (a) {
            if (this.ags != a) {
                var b = this.ags;
                this.ags = a;
                this.raisePropertyChanged("StartLabelYColumn", b, this.ags);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationPointLayer.prototype, "agz", {
        get: function () {
            return this.agp;
        },
        set: function (a) {
            if (this.agp != a) {
                var b = this.agp;
                this.agp = a;
                this.raisePropertyChanged("EndValueXColumn", b, this.agp);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationPointLayer.prototype, "ag0", {
        get: function () {
            return this.agq;
        },
        set: function (a) {
            if (this.agq != a) {
                var b = this.agq;
                this.agq = a;
                this.raisePropertyChanged("EndValueYColumn", b, this.agq);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationPointLayer.prototype, "agx", {
        get: function () {
            return this.agn;
        },
        set: function (a) {
            if (this.agn != a) {
                var b = this.agn;
                this.agn = a;
                this.raisePropertyChanged("EndLabelXColumn", b, this.agn);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationPointLayer.prototype, "agy", {
        get: function () {
            return this.ago;
        },
        set: function (a) {
            if (this.ago != a) {
                var b = this.ago;
                this.ago = a;
                this.raisePropertyChanged("EndLabelYColumn", b, this.ago);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationPointLayer.prototype, "agv", {
        get: function () {
            return this.agl;
        },
        set: function (a) {
            if (this.agl != a) {
                var b = this.agl;
                this.agl = a;
                this.raisePropertyChanged("CenterLabelXColumn", b, this.agl);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationPointLayer.prototype, "agw", {
        get: function () {
            return this.agm;
        },
        set: function (a) {
            if (this.agm != a) {
                var b = this.agm;
                this.agm = a;
                this.raisePropertyChanged("CenterLabelYColumn", b, this.agm);
            }
        },
        enumerable: false,
        configurable: true
    });
    DataAnnotationPointLayer.prototype.rg = function (a, b, c, d) {
        _super.prototype.rg.call(this, a, b, c, d);
        switch (b) {
            case DataAnnotationPointLayer.$$p[14]:
                this.aei(this.ag3);
                this.ag3 = this.dl(b);
                break;
            case DataAnnotationPointLayer.$$p[15]:
                this.aei(this.ag4);
                this.ag4 = this.dl(b);
                break;
            case DataAnnotationPointLayer.$$p[11]:
                this.aei(this.ag1);
                this.ag1 = this.dn(b);
                break;
            case DataAnnotationPointLayer.$$p[13]:
                this.aei(this.ag2);
                this.ag2 = this.dn(b);
                break;
            case DataAnnotationPointLayer.$$p[8]:
                this.aei(this.agz);
                this.agz = this.dl(b);
                break;
            case DataAnnotationPointLayer.$$p[9]:
                this.aei(this.ag0);
                this.ag0 = this.dl(b);
                break;
            case DataAnnotationPointLayer.$$p[5]:
                this.aei(this.agx);
                this.agx = this.dn(b);
                break;
            case DataAnnotationPointLayer.$$p[7]:
                this.aei(this.agy);
                this.agy = this.dn(b);
                break;
            case DataAnnotationPointLayer.$$p[1]:
                this.aei(this.agv);
                this.agv = this.dn(b);
                break;
            case DataAnnotationPointLayer.$$p[3]:
                this.aei(this.agw);
                this.agw = this.dn(b);
                break;
            case "StartValueXColumn":
            case "StartValueYColumn":
            case "EndValueXColumn":
            case "EndValueYColumn":
                this.abj();
                break;
            case "CenterLabelXColumn":
            case "CenterLabelYColumn":
            case "StartLabelXColumn":
            case "StartLabelYColumn":
            case "EndLabelXColumn":
            case "EndLabelYColumn":
                this.abj();
                break;
            case DataAnnotationPointLayer.$$p[0]:
            case DataAnnotationPointLayer.$$p[2]:
            case DataAnnotationPointLayer.$$p[10]:
            case DataAnnotationPointLayer.$$p[12]:
            case DataAnnotationPointLayer.$$p[4]:
            case DataAnnotationPointLayer.$$p[6]:
                this.abj();
                break;
        }
    };
    DataAnnotationPointLayer.prototype.aem = function (a, b) {
        _super.prototype.aem.call(this, a, b);
        if (typeCast(IFastItemsSource_$type, a) != null) {
            a.deregisterColumn(this.ag3);
            a.deregisterColumn(this.ag4);
            a.deregisterColumn(this.agz);
            a.deregisterColumn(this.ag0);
            a.deregisterColumn(this.ag1);
            a.deregisterColumn(this.ag2);
            a.deregisterColumn(this.agx);
            a.deregisterColumn(this.agy);
            a.deregisterColumn(this.agv);
            a.deregisterColumn(this.agw);
            this.ag3 = null;
            this.ag4 = null;
            this.agz = null;
            this.ag0 = null;
            this.ag1 = null;
            this.ag2 = null;
            this.agx = null;
            this.agy = null;
            this.agv = null;
            this.agw = null;
        }
        if (typeCast(IFastItemsSource_$type, b) != null) {
            this.ag3 = this.dl(this.ah0);
            this.ag4 = this.dl(this.ah3);
            this.agz = this.dl(this.ahm);
            this.ag0 = this.dl(this.ahp);
            this.ag1 = this.dn(this.aht);
            this.ag2 = this.dn(this.ahx);
            this.agx = this.dn(this.ahf);
            this.agy = this.dn(this.ahj);
            this.agv = this.dn(this.ag7);
            this.agw = this.dn(this.ahb);
        }
    };
    DataAnnotationPointLayer.$t = markType(DataAnnotationPointLayer, 'DataAnnotationPointLayer', DataAnnotationRangeLayer.$);
    DataAnnotationPointLayer.$$p = markDep(DependencyProperty, PropertyMetadata, DataAnnotationPointLayer, 'raisePropertyChanged', ['CenterLabelXDisplayMode:agf:ah5', [DataAnnotationDisplayMode_$type, enumGetBox(DataAnnotationDisplayMode_$type, 0)], 'CenterLabelXMemberPath:ag7:ah6', [2, null], 'CenterLabelYDisplayMode:agg:ah7', [DataAnnotationDisplayMode_$type, enumGetBox(DataAnnotationDisplayMode_$type, 6)], 'CenterLabelYMemberPath:ahb:ah8', [2, null], 'EndLabelXDisplayMode:agh:ah9', [DataAnnotationDisplayMode_$type, enumGetBox(DataAnnotationDisplayMode_$type, 0)], 'EndLabelXMemberPath:ahf:aia', [2, null], 'EndLabelYDisplayMode:agi:aib', [DataAnnotationDisplayMode_$type, enumGetBox(DataAnnotationDisplayMode_$type, 6)], 'EndLabelYMemberPath:ahj:aic', [2, null], 'EndValueXMemberPath:ahm:aid', [2, null], 'EndValueYMemberPath:ahp:aie', [2, null], 'StartLabelXDisplayMode:agj:aif', [DataAnnotationDisplayMode_$type, enumGetBox(DataAnnotationDisplayMode_$type, 0)], 'StartLabelXMemberPath:aht:aig', [2, null], 'StartLabelYDisplayMode:agk:aih', [DataAnnotationDisplayMode_$type, enumGetBox(DataAnnotationDisplayMode_$type, 6)], 'StartLabelYMemberPath:ahx:aii', [2, null], 'StartValueXMemberPath:ah0:aij', [2, null], 'StartValueYMemberPath:ah3:aik', [2, null]]);
    return DataAnnotationPointLayer;
}(DataAnnotationRangeLayer));
export { DataAnnotationPointLayer };
