public static IEnumerable <FilterableTreeViewItem> TreeViewColumns(this ADOTabularTable table, IADOTabularObject table2, IGlobalOptions options, IEventAggregator eventAggregator, IMetadataPane metadataPane) { var lst = new SortedList <string, FilterableTreeViewItem>(new DuplicateKeyComparer <string>()); foreach (var c in table.Columns) { if (!metadataPane.ShowHiddenObjects && !c.IsVisible) { continue; // skip hidden columns } if (!c.IsInDisplayFolder) { var col = new TreeViewColumn(c, c.TreeViewColumnChildren, options, eventAggregator, metadataPane); var lstItem = lst.FirstOrDefault(x => x.Value.Name == col.Name).Value; if (lstItem != null && lstItem.ObjectType == lstItem.ObjectType) { // todo add this col as a child of lstItem throw new NotSupportedException(); } else { lst.Add(col.Caption, col); } } } foreach (IADOTabularObjectReference f in table.FolderItems) { var folder = new TreeViewColumn(f, f.TreeViewFolderChildren, table, options, eventAggregator, metadataPane); if (!metadataPane.ShowHiddenObjects && !folder.IsVisible) { continue; // skip hidden columns } try { var sortKey = folder.Caption; // add spaces as prefix to force sorting folders first if (options.SortFoldersFirstInMetadata) { sortKey = " " + folder.Caption; } lst.Add(sortKey, folder); } catch (Exception ex) { Log.Error(ex, "{class} {method} {message}", "TreeViewTable", "TreeViewColumns", ex.Message); } } return(lst.Values); }
public TreeViewTable(ADOTabularTable table, GetChildrenDelegate getChildren, IGlobalOptions options, IEventAggregator eventAggregator) : base(getChildren, options, eventAggregator) { _table = table; }
public TreeViewColumn(IADOTabularObjectReference reference, GetChildrenDelegate getChildren, ADOTabularTable table, IGlobalOptions options, IEventAggregator eventAggregator, IMetadataPane metadataPane) : base(table, getChildren, options, eventAggregator, metadataPane) { Options = options; IADOTabularFolderReference folder = reference as IADOTabularFolderReference; if (folder == null) { Column = table.Columns.GetByPropertyRef(reference.InternalReference); MetadataImage = Column.GetMetadataImage(); } else { _caption = reference.Name; MetadataImage = MetadataImages.Folder; } }
//private readonly ADOTabularTable _table; public TreeViewTable(ADOTabularTable table, GetChildrenDelegate getChildren, IGlobalOptions options, IEventAggregator eventAggregator, IMetadataPane metadataPane) : base(table, getChildren, options, eventAggregator, metadataPane) { _table = table; }
public TreeViewTable(ADOTabularTable table, GetChildrenDelegate getChildren) : base(getChildren) { _table = table; }
public ADOTabularStandardColumn(ADOTabularTable table, string internalName, string name, string caption, string description, bool isVisible, ADOTabularObjectType columnType, string contents) : base(table, internalName, name, caption, description, isVisible, columnType, contents) { }
public static IEnumerable <FilterableTreeViewItem> TreeViewColumnChildren(this ADOTabularColumn column, ADOTabularTable table, IGlobalOptions options, IEventAggregator eventAggregator, IMetadataPane metadataPane) { var lst = new List <FilterableTreeViewItem>(); var hier = column as ADOTabularHierarchy; if (hier != null) { foreach (var lvl in hier.Levels) { lst.Add(new TreeViewColumn(lvl, options, eventAggregator, metadataPane)); } } var kpi = column as ADOTabularKpi; if (kpi != null) { foreach (var comp in kpi.Components) { lst.Add(new TreeViewColumn(comp, options, eventAggregator, metadataPane)); } } return(lst); }
public static IEnumerable <FilterableTreeViewItem> TreeViewFolderChildren(this IADOTabularObjectReference objRef, ADOTabularTable table, IGlobalOptions options, IEventAggregator eventAggregator, IMetadataPane metadataPane) { var lst = new List <FilterableTreeViewItem>(); var folder = objRef as IADOTabularFolderReference; if (folder != null) { foreach (var folderItem in folder.FolderItems) { GetChildrenDelegate getChildren = null; if (folderItem is IADOTabularFolderReference) { getChildren = ((IADOTabularObjectReference)folderItem).TreeViewFolderChildren; } lst.Add(new TreeViewColumn(folderItem, getChildren, table, options, eventAggregator, metadataPane)); } } else { var col = table.Columns.GetByPropertyRef(objRef.InternalReference); lst.Add(new TreeViewColumn(col, null, options, eventAggregator, metadataPane)); } return(lst); }