Exemple #1
0
        private void CreateConstraints()
        {
            var rowConstrainers = RowConstraints.Select(c => new Constrainer(c)).ToList();
            var colConstrainers = ColumnConstraints.Select(c => new Constrainer(c)).ToList();

            rowConstraintList = Enumerable.Range(0, NumRows).Select(i => new ConstraintListWrapper(i, true, rowConstrainers[i])).ToList();
            colConstraintList = Enumerable.Range(0, NumColumns).Select(i => new ConstraintListWrapper(i, false, colConstrainers[i])).ToList();

            Debug.Assert(rowConstraintList.Count == NumRows);
            Debug.Assert(colConstraintList.Count == NumColumns);
        }
Exemple #2
0
        protected override void OnChildAdded(IWidget child, int index, Point constraint)
        {
            List <IWidget> widgets;

            if (widgetsPerPosition.TryGetValue(constraint, out widgets))
            {
                widgets.Add(child);
            }
            else
            {
                widgets = new List <IWidget>(1);
                widgets.Add(child);
                widgetsPerPosition[constraint] = widgets;
            }

            var row    = constraint.Y;
            var column = constraint.X;

            if (row >= RowCount)
            {
                rows = null;
            }

            if (column >= ColumnCount)
            {
                columns = null;
            }

            while (RowConstraints.Count <= row)
            {
                RowConstraints.Add(LengthConstraint.Auto);
            }

            while (ColumnConstraints.Count <= column)
            {
                ColumnConstraints.Add(LengthConstraint.Auto);
            }
        }
Exemple #3
0
 public override int GetHashCode()
 {
     return(Size.GetHashCode() ^ ColumnConstraints.GetHashCode() ^ RowConstraints.GetHashCode());
 }