Exemple #1
0
        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);
        }
Exemple #2
0
 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;
 }
Exemple #5
0
 public TreeViewTable(ADOTabularTable table, GetChildrenDelegate getChildren) : base(getChildren)
 {
     _table = table;
 }
Exemple #6
0
        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)

        {
        }
Exemple #7
0
        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);
        }
Exemple #8
0
        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);
        }