public void ReorderColumns() { List<ConfigurableColumn> result = new List<ConfigurableColumn>(); foreach(ConfigurableColumn col in ColumnsStore) result.Add(col); result.Sort(CompareConfigurableColumnPosition); ColumnsStore.Clear(); foreach(ConfigurableColumn col in result) ColumnsStore.AddNode(col); }
public Column[] GetVisibleColumnsInDrawOrder() { // TODO: could be initialzed on any change only and not an any method call List<Column> c = new List<Column>(); foreach (KeyValuePair<Widget, Column> kvp in mColumns) { if (kvp.Key.Visible) c.Add(kvp.Value); } c.Sort(CompareSortOrder); return c.ToArray(); }