Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        public void RebuildAasxElements(
            AdminShell.AdministrationShellEnv env = null,
            AdminShellPackageEnv package          = null,
            AdminShellPackageEnv[] 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
            treeViewInner.ItemsSource = displayedTreeViewLines;
            treeViewInner.UpdateLayout();

            // select 1st
            if (displayedTreeViewLines.Count > 0)
            {
                displayedTreeViewLines[0].IsSelected = true;
            }
        }