public void RebuildAasxElements( AdminShell.AdministrationShellEnv env = null, AdminShell.PackageEnv package = null, AdminShell.PackageEnv[] auxPackages = null, bool editMode = false, string filterElementName = null) { // clear tree displayedTreeViewLines = new List <VisualElementGeneric>(); // valid? if (env != null) { // generate lines, add var x = Generators.GenerateVisualElementsFromShellEnv(treeViewLineCache, env, package, editMode, expandMode: 1); foreach (var xx in x) { displayedTreeViewLines.Add(xx); } // more? if (auxPackages != null) { foreach (var aux in auxPackages) { var x2 = Generators.GenerateVisualElementsFromShellEnv(treeViewLineCache, aux.AasEnv, aux, editMode, expandMode: 1); foreach (var xx in x2) { displayedTreeViewLines.Add(xx); } } } // may be filter if (filterElementName != null) { foreach (var dtl in displayedTreeViewLines) { // it is not likely, that we have to delete on this level, therefore don't care FilterLeafsOfVisualElements(dtl, filterElementName); } } // any of these lines? if (displayedTreeViewLines.Count < 1) { // emergency displayedTreeViewLines.Add(new VisualElementEnvironmentItem(null /* no parent */, treeViewLineCache, package, env, VisualElementEnvironmentItem.ItemType.EmptySet)); } } // redraw tv1.ItemsSource = displayedTreeViewLines; tv1.UpdateLayout(); // select 1st if (displayedTreeViewLines.Count > 0) { displayedTreeViewLines[0].IsSelected = true; } }
public void RebuildAasxElements( PackageCentral packages, PackageCentral.Selector selector, bool editMode = false, string filterElementName = null) { // clear tree displayedTreeViewLines = new List <VisualElementGeneric>(); // valid? if (packages.MainAvailable) { // generate lines, add var x = Generators.GenerateVisualElementsFromShellEnv( treeViewLineCache, packages.Main?.AasEnv, packages.Main, packages.MainItem?.Filename, editMode, expandMode: 1); foreach (var xx in x) { displayedTreeViewLines.Add(xx); } // more? if (packages.AuxAvailable && (selector == PackageCentral.Selector.MainAux || selector == PackageCentral.Selector.MainAuxFileRepo)) { var x2 = Generators.GenerateVisualElementsFromShellEnv( treeViewLineCache, packages.Aux?.AasEnv, packages.Aux, packages.AuxItem?.Filename, editMode, expandMode: 1); foreach (var xx in x2) { displayedTreeViewLines.Add(xx); } } // more? if (packages.Repositories != null && selector == PackageCentral.Selector.MainAuxFileRepo) { var pkg = new AdminShellPackageEnv(); foreach (var fr in packages.Repositories) { fr.PopulateFakePackage(pkg); } var x2 = Generators.GenerateVisualElementsFromShellEnv( treeViewLineCache, pkg?.AasEnv, pkg, null, editMode, expandMode: 1); foreach (var xx in x2) { displayedTreeViewLines.Add(xx); } } // may be filter if (filterElementName != null) { foreach (var dtl in displayedTreeViewLines) { // it is not likely, that we have to delete on this level, therefore don't care FilterLeavesOfVisualElements(dtl, filterElementName); } } // any of these lines? if (displayedTreeViewLines.Count < 1) { // emergency displayedTreeViewLines.Add( new VisualElementEnvironmentItem( null /* no parent */, treeViewLineCache, packages.Main, packages.Main?.AasEnv, VisualElementEnvironmentItem.ItemType.EmptySet)); } } // redraw treeViewInner.ItemsSource = displayedTreeViewLines; treeViewInner.UpdateLayout(); // select 1st if (displayedTreeViewLines.Count > 0) { displayedTreeViewLines[0].IsSelected = true; } }