virtual public void Berecne() { if (null == PanelGroupAst) { return; } if (!(true == PanelGroupAst.VisibleIncludingInheritance)) { return; } var ContainerMengeEntryName = this.ContainerMengeEntryName; ContainerMengeEntryAst = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( PanelGroupAst, (Kandidaat) => Kandidaat.PyObjTypNameIsContainer() && string.Equals(ContainerMengeEntryName, Kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 2, 1); var Ergeebnis = new PanelGroup(PanelGroupAst.AlsContainer()); this.Ergeebnis = Ergeebnis; }
static public IColumnHeader Read(UINodeInfoInTree ColumnHeaderAst) { if (!(ColumnHeaderAst?.VisibleIncludingInheritance ?? false)) return null; var container = ColumnHeaderAst?.AlsContainer( treatIconAsSprite: true); if (null == container) return null; return new ColumnHeader(container); }
static public IInSpaceBracket AsInSpaceBracket(this UINodeInfoInTree node) { var container = node?.AlsContainer(); if (null == container) { return(null); } return(new InSpaceBracket(container) { Name = node.Name, }); }
static public IShipUiTimer AlsTimer(UINodeInfoInTree node) { var container = node?.AlsContainer(); if (null == container) { return(null); } return(new ShipUiTimer(container) { Name = node?.Name, }); }
static public MenuEntry MenuEntry( this UINodeInfoInTree menuEntryAst, RectInt regionConstraint, bool?highlight = null) { var container = menuEntryAst.AlsContainer(regionConstraint: regionConstraint); if (null == container) { return(null); } return(new MenuEntry(container) { HighlightVisible = highlight, }); }
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; }
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, }; }