public ChatColumn AddColumn() { var col = new ChatColumn(); AddColumn(col); return(col); }
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)); }
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); }
public void InsertColumn(int index, ChatColumn column) { columns.Insert(index, column); ColumnAdded?.Invoke(this, new ValueEventArgs <ChatColumn>(column)); }
public void AddColumn(ChatColumn column) { InsertColumn(columns.Count, column); }