コード例 #1
0
        /// <summary>
        /// This method toggles Explorer Tree options in a way suitable to show the given item.
        /// For example, of a filter is currently specified, but the given item does not fulfill
        /// the filter criteria, Filtering will be toggled off in the UI.
        /// </summary>
        /// <param name="item"></param>
        public TreeNodeAdv EnsureNodeVisible(ITabularNamedObject item)
        {
            var node = UI.TreeView.FindNodeByTag(item);

            if (node != null)
            {
                return(node);
            }

            LogicalTreeOptions optionsToApply = 0;

            if ((item as IHideableObject)?.IsHidden ?? false && !Tree.Options.HasFlag(LogicalTreeOptions.ShowHidden))
            {
                // If the object is hidden, make sure the tree is set up to show hidden objects:
                optionsToApply |= LogicalTreeOptions.ShowHidden;
                UI.FormMain.actToggleHidden.Checked = true;
            }

            switch (item.ObjectType)
            {
            case ObjectType.Table:
            // Tables will always be visible
            case ObjectType.Column:
            case ObjectType.Measure:
            case ObjectType.Hierarchy:
            case ObjectType.Level:
            case ObjectType.KPI:
            default:
                break;
            }

            return(null);
        }
コード例 #2
0
        public void SetDisplayOptions(bool showHidden, bool showDisplayFolders, bool showColumns,
                                      bool showMeasures, bool showHierarchies, bool showAllObjectTypes, bool alphabeticalSort, string filter = null)
        {
            CurrentOptions =
                (showHidden ? LogicalTreeOptions.ShowHidden : 0) |
                (showDisplayFolders ? LogicalTreeOptions.DisplayFolders : 0) |
                (showColumns ? LogicalTreeOptions.Columns : 0) |
                (showMeasures ? LogicalTreeOptions.Measures : 0) |
                (showHierarchies ? LogicalTreeOptions.Hierarchies : 0) |
                (showAllObjectTypes ? LogicalTreeOptions.AllObjectTypes : 0) |
                LogicalTreeOptions.ShowRoot;

            if (Tree == null)
            {
                return;
            }

            var cmp = (UI.TreeView.Model as SortedTreeModel)?.Comparer as TabularObjectComparer;

            if (cmp != null)
            {
                cmp.Order = alphabeticalSort ? ObjectOrder.Alphabetical : ObjectOrder.Metadata;
            }

            Tree.Options = CurrentOptions;
            Tree.Filter  = filter;
        }
コード例 #3
0
        public void SetDisplayOptions(bool showHidden, bool showDisplayFolders, bool showColumns,
                                      bool showMeasures, bool showHierarchies, bool showAllObjectTypes, bool orderByName, string filter = null)
        {
            CurrentOptions =
                (showHidden ? LogicalTreeOptions.ShowHidden : 0) |
                (showDisplayFolders ? LogicalTreeOptions.DisplayFolders : 0) |
                (showColumns ? LogicalTreeOptions.Columns : 0) |
                (showMeasures ? LogicalTreeOptions.Measures : 0) |
                (showHierarchies ? LogicalTreeOptions.Hierarchies : 0) |
                (showAllObjectTypes ? LogicalTreeOptions.AllObjectTypes : 0) |
                (orderByName ? LogicalTreeOptions.OrderByName : 0) |
                LogicalTreeOptions.ShowRoot;

            if (TreeModel == null)
            {
                return;
            }

            /*var cmp = (UI.TreeView.Model as SortedTreeModel)?.Comparer as TabularObjectComparer;
             * if(cmp != null)
             * {
             *  cmp.Order = alphabeticalSort ? ObjectOrder.Alphabetical : ObjectOrder.Metadata;
             * }*/

            TreeModel.Options = CurrentOptions;

            InternalApplyFilter(filter);
        }