override public void Berecne() { base.Berecne(); if (null == Ergeebnis) { return; } var scanResultScrollAst = AstMainContainerMain ?.MatchingNodesFromSubtreeBreadthFirst(node => node?.PyObjTypNameIsScroll() ?? false) ?.OrderBy(node => node.LaagePlusVonParentErbeLaageB() ?? int.MinValue) ?.LastOrDefault(); var listView = scanResultScrollAst?.AlsListView( (node, setHeader, regionConstraint) => SictAuswertGbsListViewport <IListEntry> .ListEntryKonstruktSctandard(node, setHeader, regionConstraint, ListEntryTrenungZeleTypEnum.Ast)); ErgeebnisWindowProbeScanner = new WindowProbeScanner(Ergeebnis) { ScanResultView = listView, }; }
static public ChatParticipantEntry ListEntryParticipantConstruct( UINodeInfoInTree ast, IColumnHeader[] listHeader, RectInt?regionConstraint) { var ListEntry = SictAuswertGbsListViewport <IListEntry> .ListEntryKonstruktSctandard(ast, listHeader, regionConstraint); if (null == ListEntry) { return(null); } var StatusIconSprite = ast.MengeChildAstTransitiiveHüle() ?.OfType <UINodeInfoInTree>() ?.FirstOrDefault(k => k.PyObjTypNameIsSprite() && (k.PyObjTypName?.ToLower().Contains("status") ?? false)) ?.AlsSprite(); var SetFlagWithStateIconNode = ast?.MengeChildAstTransitiiveHüle() ?.OfType <UINodeInfoInTree>() ?.Where(k => k?.PyObjTypNameMatchesRegexPatternIgnoreCase("FlagIconWithState") ?? false) ?.ToArray(); var SetFlagWithStateIcon = SetFlagWithStateIconNode ?.Select(flagNode => { var FlagIcon = flagNode.AlsSprite(); var childSprite = flagNode?.MengeChildAstTransitiiveHüle()?.OfType <UINodeInfoInTree>() ?.Where(k => k.PyObjTypNameIsSprite()) ?.Select(k => k?.AlsSprite())?.WhereNotDefault()?.FirstOrDefault(); if (null != FlagIcon) { FlagIcon.Texture0Id = FlagIcon.Texture0Id ?? childSprite?.Texture0Id; FlagIcon.TexturePath = FlagIcon.TexturePath ?? childSprite?.TexturePath; FlagIcon.Color = FlagIcon.Color ?? childSprite?.Color; } return(FlagIcon); }) ?.WhereNotDefault() ?.ToArrayIfNotEmpty(); return(new ChatParticipantEntry(ListEntry) { NameLabel = ast.LargestLabelInSubtree().AsUIElementTextIfTextNotEmpty(), StatusIcon = StatusIconSprite, FlagIcon = SetFlagWithStateIcon, }); }