/// <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); }
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; }
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); }