function SubView(options) {
        _classCallCheck(this, SubView);
    
        this._name = options.name;
        this._type = options.type;
        this._solver = options.solver;
        this._attr = {};
        if (!options.name) {
          if (true) {
            this._attr[Attribute.LEFT] = new c.Variable();
            this._solver.addConstraint(new c.StayConstraint(this._attr[Attribute.LEFT], c.Strength.required));
            this._attr[Attribute.TOP] = new c.Variable();
            this._solver.addConstraint(new c.StayConstraint(this._attr[Attribute.TOP], c.Strength.required));
            this._attr[Attribute.ZINDEX] = new c.Variable();
            this._solver.addConstraint(new c.StayConstraint(this._attr[Attribute.ZINDEX], c.Strength.required));
          } else {
            this._attr[Attribute.LEFT] = new kiwi.Variable();
            this._solver.addConstraint(new kiwi.Constraint(this._attr[Attribute.LEFT], kiwi.Operator.Eq, 0));
            this._attr[Attribute.TOP] = new kiwi.Variable();
            this._solver.addConstraint(new kiwi.Constraint(this._attr[Attribute.TOP], kiwi.Operator.Eq, 0));
            this._attr[Attribute.ZINDEX] = new kiwi.Variable();
            this._solver.addConstraint(new kiwi.Constraint(this._attr[Attribute.ZINDEX], kiwi.Operator.Eq, 0));
          }
        }
      }
A SubView is automatically generated when constraints are added to a View.

@namespace SubView