/*
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 * as tslib_1 from "tslib";
import { RowPath } from "./RowPath";
import { markType } from "igniteui-webcomponents-core";
/**
 * @hidden
 */
var CellPath = /** @class */ /*@__PURE__*/ (function (_super) {
    tslib_1.__extends(CellPath, _super);
    function CellPath(a) {
        var _rest = [];
        for (var _i = 1; _i < arguments.length; _i++) {
            _rest[_i - 1] = arguments[_i];
        }
        var _this = this;
        a = (a == void 0) ? 0 : a;
        switch (a) {
            case 0:
                {
                    var c = _rest[0];
                    var d = _rest[1];
                    var e = _rest[2];
                    var f = _rest[3];
                    var g = [d, e, f];
                    {
                        var i = g[0];
                        var j = g[1];
                        var k = g[2];
                        _this = _super.call(this, j, k) || this;
                        _this.ay = 0;
                        _this.az = 0;
                        _this.ax = -1;
                        _this.as = false;
                        _this.ae = false;
                        _this.ad = false;
                        _this.ap = false;
                        _this.af = false;
                        _this.ay = i;
                        _this.ac();
                    }
                    _this.b = c;
                    _this.ac();
                }
                break;
            case 1:
                {
                    var c = _rest[0];
                    var d = _rest[1];
                    var e = _rest[2];
                    _this = _super.call(this, d, e) || this;
                    _this.ay = 0;
                    _this.az = 0;
                    _this.ax = -1;
                    _this.as = false;
                    _this.ae = false;
                    _this.ad = false;
                    _this.ap = false;
                    _this.af = false;
                    _this.ay = c;
                    _this.ac();
                }
                break;
        }
        return _this;
    }
    Object.defineProperty(CellPath.prototype, "a0", {
        get: function () {
            return this.ay;
        },
        set: function (a) {
            this.ay = a;
            this.ac();
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CellPath.prototype, "a6", {
        get: function () {
            return this.az;
        },
        set: function (a) {
            this.az = a;
        },
        enumerable: true,
        configurable: true
    });
    CellPath.prototype.ac = function () {
        _super.prototype.ac.call(this);
        this.ax = (this.a0 * 100000000) + _super.prototype.getHashCode.call(this);
    };
    CellPath.prototype.getHashCode = function () {
        return this.ax;
    };
    CellPath.prototype.equals = function (a) {
        if (!_super.prototype.equals.call(this, a)) {
            return false;
        }
        var b = a;
        if (a == null) {
            return false;
        }
        if (this.ay != b.ay) {
            return false;
        }
        if (this.au != b.au) {
            return false;
        }
        if (this.ar != b.ar) {
            return false;
        }
        return true;
    };
    CellPath.prototype.toString = function () {
        return this.ay + "." + _super.prototype.toString.call(this);
    };
    CellPath.prototype.aa = function () {
        var a = new CellPath(0, this.b, this.ay, this.x, this.w);
        a.a6 = this.a6;
        a.au = this.au;
        a.ar = this.ar;
        a.i = this.i;
        a.o = this.o;
        a.d = this.d;
        a.ap = this.ap;
        a.af = this.af;
        a.as = this.as;
        return a;
    };
    Object.defineProperty(CellPath.prototype, "at", {
        get: function () {
            return (this.ay == -300);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CellPath.prototype, "ag", {
        get: function () {
            return ((this.ay >= 0 || this.ay == -800 || this.ay == -400) && this.w >= 0 && this.w >= 0);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CellPath.prototype, "av", {
        get: function () {
            return this.ay == -400 || this.ay == -401 || this.ay == -402;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CellPath.prototype, "aj", {
        get: function () {
            return this.g && !this.at;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CellPath.prototype, "aq", {
        get: function () {
            return this.w == -102 && this.ay == -400;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CellPath.prototype, "al", {
        get: function () {
            return (this.w == -103 || this.w == -104) && this.a0 == -500;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CellPath.prototype, "an", {
        get: function () {
            return (this.w == -103 || this.w == -104) && this.a0 == -501;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CellPath.prototype, "ak", {
        get: function () {
            return this.w == -100 && this.a0 == -500;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CellPath.prototype, "am", {
        get: function () {
            return this.w == -100 && this.a0 == -501;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CellPath.prototype, "ao", {
        get: function () {
            return this.w == -104;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CellPath.prototype, "au", {
        get: function () {
            return this.ae;
        },
        set: function (a) {
            this.ae = a;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CellPath.prototype, "ar", {
        get: function () {
            return this.ad;
        },
        set: function (a) {
            this.ad = a;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CellPath.prototype, "aw", {
        get: function () {
            return this.au || this.ar;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CellPath.prototype, "ah", {
        get: function () {
            return this.a0 == -1000 && this.w == -1000;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CellPath.prototype, "ai", {
        get: function () {
            return this.a0 == -1001 && this.w == -1001;
        },
        enumerable: true,
        configurable: true
    });
    CellPath.$t = markType(CellPath, 'CellPath', RowPath.$);
    return CellPath;
}(RowPath));
export { CellPath };
//# sourceMappingURL=CellPath.js.map
