virtual public void Berecne() { if (null == TabAst) { return; } if (!(true == TabAst.VisibleIncludingInheritance)) { return; } LabelAst = TabAst.LargestLabelInSubtree(3); if (null == LabelAst) { return; } LabelColor = ColorORGB.VonVal(LabelAst.Color); LabelText = LabelAst.LabelText(); if (null == LabelText || null == LabelColor) { return; } var LabelColorOpazitäätMili = LabelColor.OMilli; var Label = new UIElementText(LabelAst.AsUIElementIfVisible(), LabelText); Ergeebnis = new Tab(TabAst.AsUIElementIfVisible()) { Label = Label, LabelColorOpacityMilli = LabelColorOpazitäätMili, }; }
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() { var Container = EntryAst.AlsContainer(regionConstraint: RegionConstraint); if (null == Container) return; LabelAst = EntryAst.LargestLabelInSubtree(); FläceFürMenuAst = LabelAst; LabelGrenzeLinx = (int?)LabelAst.LaagePlusVonParentErbeLaageA(); /* * 2014.11.08 * * Änderung für Release "Rhea": * "PyObjTypName": "GlowSprite" * ExpanderAst = EntryAst.SuuceFlacMengeAstFrüheste( (Kandidaat) => AuswertGbs.Glob.GbsAstTypeIstEveIcon(Kandidaat) && Regex.Match(Kandidaat.Name ?? "", "expander", RegexOptions.IgnoreCase).Success); * */ ExpanderAst = EntryAst.FirstMatchingNodeFromSubtreeBreadthFirst( (kandidaat) => (AuswertGbs.Glob.GbsAstTypeIstEveIcon(kandidaat) || AuswertGbs.Glob.GbsAstTypeIstSprite(kandidaat)) && Regex.Match(kandidaat.Name ?? "", "expander", RegexOptions.IgnoreCase).Success); IstGroup = ((null == ExpanderAst) ? null : ExpanderAst.VisibleIncludingInheritance) ?? false; var MengeIconOderSpriteAst = EntryAst.MatchingNodesFromSubtreeBreadthFirst( (kandidaat) => (AuswertGbs.Glob.GbsAstTypeIstEveIcon(kandidaat) || Regex.Match(kandidaat.PyObjTypName ?? "", "sprite", RegexOptions.IgnoreCase).Success) && (kandidaat.VisibleIncludingInheritance ?? false)); IstItem = (!MengeIconOderSpriteAst.IsNullOrEmpty() || null != LabelAst) && !(IstGroup ?? false); var MengeIconOderSpriteGrenzeLinx = MengeIconOderSpriteAst ?.Select((iconAst) => iconAst.LaagePlusVonParentErbeLaageA()) ?.Where((kandidaat) => kandidaat.HasValue) ?.Select((iconAstGrenzeLinx) => iconAstGrenzeLinx.Value) ?.ToArray(); if (!MengeIconOderSpriteGrenzeLinx.IsNullOrEmpty()) InhaltGrenzeLinx = (int)Math.Min(InhaltGrenzeLinx ?? int.MaxValue, MengeIconOderSpriteGrenzeLinx.Min()); if (LabelGrenzeLinx.HasValue) InhaltGrenzeLinx = (int)Math.Min(InhaltGrenzeLinx ?? int.MaxValue, LabelGrenzeLinx.Value); var ListEntryInZeleTrenung = this.ListEntryInZeleTrenung(); if (ListEntryTrenungZeleTypEnum.Ast == ListEntryInZeleTrenung) { // genuzt z.B. für "OverviewScrollEntry". var EntryListeZeleLabel = EntryAst.ExtraktMengeLabelString()?.ToArray(); ListeZuHeaderZeleString = EntryListeZeleLabel ?.Select(zeleLabel => new KeyValuePair<IColumnHeader, string>( HeaderBestFit(zeleLabel, ListeColumnHeader), zeleLabel?.Text)) ?.ToArray(); } else { Label = LabelAst.AsUIElementTextIfTextNotEmpty(); var Bescriftung = Label?.Text; if (null != Bescriftung) { if (!(IstGroup ?? false)) { ItemListeZeleTextMitFormat = Bescriftung.Split(new string[] { "<t>" }, StringSplitOptions.None); var ItemListeZeleText = ItemListeZeleTextMitFormat ?.Select((zeleTextMitFormat) => ZeleTextAusZeleTextMitFormat(zeleTextMitFormat)) ?.ToArray(); ListeZuHeaderZeleString = ItemListeZeleText ?.Select((zeleText, index) => new KeyValuePair<IColumnHeader, string>( ListeColumnHeader?.FirstOrDefault(kandidaat => kandidaat.ColumnIndex == index), zeleText)) ?.ToArray(); } } } var backgroundColorNode = EntryAst?.FirstMatchingNodeFromSubtreeBreadthFirst(node => (node?.PyObjTypNameMatchesRegexPatternIgnoreCase("fill") ?? false) && (node?.Name?.RegexMatchSuccessIgnoreCase("bgColor") ?? false)); var ListBackgroundColor = EntryAst?.BackgroundList ?.Select(background => background.Color.AlsColorORGB()) .ConcatNullable(new[] { backgroundColorNode?.Color.AlsColorORGB() }) ?.WhereNotDefault() ?.ToArrayIfNotEmpty(); var SetSprite = EntryAst.SetSpriteFromChildren() ?.ToArrayIfNotEmpty(); ErgeebnisListEntry = new ListEntry(Container) { ContentBoundLeft = InhaltGrenzeLinx, ListColumnCellLabel = ListeZuHeaderZeleString, GroupExpander = ExpanderAst?.AsUIElementIfVisible(), IsGroup = IstGroup, IsExpanded = ExpanderSpriteIsExpanded(ExpanderAst), IsSelected = EntryAst.isSelected, ListBackgroundColor = ListBackgroundColor, SetSprite = SetSprite, }; }