Exemple #1
0
        public ChatColumn AddColumn()
        {
            var col = new ChatColumn();

            AddColumn(col);

            return(col);
        }
Exemple #2
0
        public void RemoveColumn(ChatColumn column)
        {
            var index = columns.FindIndex(x => x == column);

            if (index == -1)
            {
                throw new ArgumentException("\"widget\" is not a widget in this column.");
            }

            columns.RemoveAt(index);

            ColumnRemoved?.Invoke(this, new ValueEventArgs <ChatColumn>(column));
        }
Exemple #3
0
        public Tuple <int, int> RemoveWidget(ColumnLayoutItem w)
        {
            if (CanRemoveWidget())
            {
                ChatColumn toRemove = null;

                int c = 0, r;

                foreach (var column in Columns)
                {
                    r = 0;
                    foreach (var row in column.Widgets)
                    {
                        if (row == w)
                        {
                            column.RemoveWidget(w);

                            if (column.WidgetCount == 0)
                            {
                                toRemove = column;
                                r        = -1;
                            }
                            goto end;
                        }
                        r++;
                    }
                    c++;
                }
                return(Tuple.Create(0, 0));

end:
                if (toRemove != null)
                {
                    RemoveColumn(toRemove);
                }

                layout();

                return(Tuple.Create(c, r));

                //Columns.FirstOrDefault(x => x.Widgets.Contains(w)).Process(col =>
                //{
                //    col.RemoveWidget(w);
                //    if (col.WidgetCount == 0)
                //    {
                //        RemoveColumn(col);
                //    }
                //});
            }
            return(null);
        }
Exemple #4
0
        public void InsertColumn(int index, ChatColumn column)
        {
            columns.Insert(index, column);

            ColumnAdded?.Invoke(this, new ValueEventArgs <ChatColumn>(column));
        }
Exemple #5
0
 public void AddColumn(ChatColumn column)
 {
     InsertColumn(columns.Count, column);
 }