public void Berecne() { var TreeViewEntryAst = this.TreeViewEntryAst; if (null == TreeViewEntryAst) { return; } TopContAst = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( TreeViewEntryAst, (Kandidaat) => Kandidaat.PyObjTypNameIsContainer() && string.Equals("topCont", Kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 2, 1); TopContLabelAst = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( TopContAst, (Kandidaat) => AuswertGbs.Glob.GbsAstTypeIstLabel(Kandidaat)); ChildContAst = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( TreeViewEntryAst, (Kandidaat) => Kandidaat.PyObjTypNameIsContainer() && string.Equals("childCont", Kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 2, 1); MengeChildAst = Optimat.EveOnline.AuswertGbs.Extension.MatchingNodesFromSubtreeBreadthFirst( ChildContAst, (Kandidaat) => Regex.Match(Kandidaat.PyObjTypName ?? "", "TreeViewEntry", RegexOptions.IgnoreCase).Success, null, 2, 1); TopContIconAst = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( TopContAst, (Kandidaat) => (string.Equals("Icon", Kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase) || string.Equals("EveIcon", Kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase)), 2, 1); var TopContSpacerAst = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( TopContAst, (Kandidaat) => Kandidaat.PyObjTypNameIsContainer() && string.Equals("spacerCont", Kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 2, 1); var ExpandCollapseToggleFläce = TopContSpacerAst.AsUIElementIfVisible(); LabelAst = TopContLabelAst; if (null != MengeChildAst) { MengeChildAuswert = MengeChildAst .Select((Ast) => { var Auswert = new SictAuswertTreeViewEntry(Ast); Auswert.Berecne(); return(Auswert); }).ToArray(); } IUIElement TopContFläce = (null == TopContAst) ? null : new UIElement( TopContAst.AsUIElementIfVisible()); var TopContLabel = (null == TopContLabelAst) ? null : new UIElementText( TopContLabelAst.AsUIElementIfVisible(), TopContLabelAst.LabelText()); var TopContIconTyp = (null == TopContIconAst) ? null : TopContIconAst.TextureIdent0; var TopContIconColor = (null == TopContIconAst) ? null : TopContIconAst.Color; var LabelText = (null == LabelAst) ? null : LabelAst.LabelText(); var MengeChild = (null == MengeChildAuswert) ? null : MengeChildAuswert .Select((Auswert) => Auswert.Ergeebnis) .Where((Kandidaat) => null != Kandidaat) .ToArray(); var Ergeebnis = new TreeViewEntry(TreeViewEntryAst.AlsContainer()) { ExpandToggleButton = ExpandCollapseToggleFläce, Child = MengeChild, IsSelected = TreeViewEntryAst?.isSelected, }; this.Ergeebnis = Ergeebnis; }
virtual public void Berecne() { if (null == InfoPanelAst) { return; } if (!(true == InfoPanelAst.VisibleIncludingInheritance)) { return; } TopContAst = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( InfoPanelAst, (Kandidaat) => Kandidaat.PyObjTypNameIsContainer() && string.Equals("topCont", Kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 3, 1); HeaderBtnContAst = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( TopContAst, (Kandidaat) => Kandidaat.PyObjTypNameIsContainer() && string.Equals("headerBtnCont", Kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 3, 1); HeaderBtnContExpandButtonAst = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( HeaderBtnContAst, (Kandidaat) => string.Equals("Sprite", Kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase), 3, 1); HeaderContAst = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( TopContAst, (Kandidaat) => Kandidaat.PyObjTypNameIsContainer() && string.Equals("headerCont", Kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 3, 1); MainContAst = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( InfoPanelAst, (Kandidaat) => string.Equals("ContainerAutoSize", Kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase) && string.Equals("mainCont", Kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 3, 1); var ExpandedContent = MainContAst.AlsContainer(); var ExpandedListLabelString = MainContAst?.ExtraktMengeLabelString()?.OrdnungLabel()?.ToArray(); bool? MainContSictbar = null; IUIElement ExpandToggleButton = null; if (null != MainContAst) { MainContSictbar = MainContAst.VisibleIncludingInheritance; } if (null != HeaderBtnContExpandButtonAst) { ExpandToggleButton = HeaderBtnContExpandButtonAst.AlsSprite(); } // var HeaderLabel = TopContAst.GröösteLabel().AlsUIElementLabelStringFalsLabelString(); var HeaderLabel = TopContAst?.ExtraktMengeLabelString()?.Grööste(); var HeaderContent = TopContAst?.AlsContainer(); var Ergeebnis = new InfoPanel(InfoPanelAst.AlsContainer()) { IsExpanded = MainContSictbar, ExpandToggleButton = ExpandToggleButton, ExpandedContent = ExpandedContent, HeaderContent = HeaderContent, }; this.Ergeebnis = Ergeebnis; }