static public void LabelTaileBerecne( this TreeViewEntry Entry) { string LabelTextTailObjektName = null; string LabelTextTailObjektDistance = null; Int64? ObjektDistance = null; try { var LabelText = Entry.LabelText; if (null == LabelText) { return; } var LabelTextMatch = Regex.Match(LabelText, TreeViewEntryLabelTextRegexPattern); if (!LabelTextMatch.Success) { return; } LabelTextTailObjektName = Bib3.Glob.TrimNullable(LabelTextMatch.Groups[1].Value); LabelTextTailObjektDistance = Bib3.Glob.TrimNullable(LabelTextMatch.Groups[3].Value); } finally { ObjektDistance = TempAuswertGbs.Extension.AusDistanceSictStringAbbildGanzzaalDurcMeeterScrankeMax(LabelTextTailObjektDistance); Entry.LabelTextTailObjektName = LabelTextTailObjektName; Entry.LabelTextTailObjektDistance = LabelTextTailObjektDistance; Entry.ObjektDistance = ObjektDistance; } }
static public ShipCargoSpaceTypeEnum?CargoSpaceTypeOfTreeEntry( this TreeViewEntry EntryShip, TreeViewEntry EntryCargoSpace) => FromShipExtractSetCargoSpaceTypeAndTreeEntry(EntryShip) ?.Where(CargoShipTypeAndTreeEntry => CargoShipTypeAndTreeEntry.Value == EntryCargoSpace) ?.Select(CargoShipTypeAndTreeEntry => CargoShipTypeAndTreeEntry.Key) ?.CastToNullable() ?.FirstOrDefault();
public static PortingOption GetMergeType(Window w, TreeViewEntry sourceItem, TreeViewEntry targetItem) { TreeMergeDialog tmd = new TreeMergeDialog(sourceItem.Entry, targetItem.Entry); tmd.Owner = w; tmd.ShowDialog(); //modal return(tmd.PortingOptionChosen); }
static public IEnumerable <KeyValuePair <ShipCargoSpaceTypeEnum, TreeViewEntry> > FromShipExtractSetCargoSpaceTypeAndTreeEntry( this TreeViewEntry ShipTreeEntry) => new[] { new KeyValuePair <ShipCargoSpaceTypeEnum, TreeViewEntry>(ShipCargoSpaceTypeEnum.General, ShipTreeEntry) } .ConcatNullable(InventoryCargoTypeAndSetLabel?.Select(CargoTypeAndSetLabel => new KeyValuePair <ShipCargoSpaceTypeEnum, TreeViewEntry>( CargoTypeAndSetLabel.Key, ShipTreeEntry?.EnumerateChildNodeTransitive() ?.FirstOrDefault(Node => Node?.LabelText?.FromIventoryLabelParseShipCargoSpaceType() == CargoTypeAndSetLabel.Key)))) ?.Where(TreeEntryForCargoSpaceType => null != TreeEntryForCargoSpaceType.Value);
public static EntryImporter.PortingOption GetMergeType(Window w, TreeViewEntry sourceItem, TreeViewEntry targetItem, MEGame targetGame) { TreeMergeDialog tmd = new TreeMergeDialog(sourceItem.Entry, targetItem.Entry, targetGame) { Owner = w }; tmd.ShowDialog(); //modal return(tmd.PortingOptionChosen); }
private void GetNpcTreeItemFiles(NpcCollection npcCollection, string path, TreeNodeEntry node) { WowEnvironment env = Engine.Instance.WowEnvironment; env.ClearOwnCascFiles(); foreach (Npc npc in npcCollection) { env.AddOwnCascFile(npc.Path); } env.FinishOwnCascFiles(); TreeViewFiles.Clear(); TreeNodeEntry treeNode = TreeViewEntry.TraverseAllUseOwn(path, "*", node); for (int i = 0; i < treeNode.NodeEntrys.Count; i++) { TreeViewFiles.Add(treeNode.NodeEntrys[i]); } }
private void GetSpellTreeItemFiles(SpellVisualEffectCollection spellVisualEffects, string path, TreeNodeEntry node) { WowEnvironment env = Engine.Instance.WowEnvironment; env.ClearOwnCascFiles(); foreach (SpellVisualEffect spell in spellVisualEffects) { string s = Engine.Instance.WowDatabase.GetSpellVisualEffectPath(spell.Id); env.AddOwnCascFile(s); } env.FinishOwnCascFiles(); TreeViewFiles.Clear(); TreeNodeEntry treeNode = TreeViewEntry.TraverseAllUseOwn(path, "*", node); for (int i = 0; i < treeNode.NodeEntrys.Count; i++) { TreeViewFiles.Add(treeNode.NodeEntrys[i]); } }
private void GetWorldM2TreeItemFiles(string path, TreeNodeEntry node) { WowEnvironment env = Engine.Instance.WowEnvironment; env.ClearOwnCascFiles(); WowDatabase database = Engine.Instance.WowDatabase; for (uint i = 0; i < database.WorldModelCount; ++i) { env.AddOwnCascFile(database.GetWorldModelName(i, false)); } env.FinishOwnCascFiles(); TreeViewFiles.Clear(); TreeNodeEntry treeNode = TreeViewEntry.TraverseAllUseOwn(path, "*", node); for (int i = 0; i < treeNode.NodeEntrys.Count; i++) { TreeViewFiles.Add(treeNode.NodeEntrys[i]); } }
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; }
static public TreeViewEntry TreeEntryForCargoSpaceType( this TreeViewEntry ShipTreeEntry, ShipCargoSpaceTypeEnum CargoSpaceType) => FromShipExtractSetCargoSpaceTypeAndTreeEntry(ShipTreeEntry) ?.FirstOrDefault(TreeEntryForCargoShipType => TreeEntryForCargoShipType.Key == CargoSpaceType).Value;
static public ShipCargoSpaceTypeEnum? CargoSpaceTypeOfTreeEntry( this TreeViewEntry EntryShip, TreeViewEntry EntryCargoSpace) => FromShipExtractSetCargoSpaceTypeAndTreeEntry(EntryShip) ?.Where(CargoShipTypeAndTreeEntry => CargoShipTypeAndTreeEntry.Value == EntryCargoSpace) ?.Select(CargoShipTypeAndTreeEntry => CargoShipTypeAndTreeEntry.Key) ?.CastToNullable() ?.FirstOrDefault();
private void OnTreeViewSelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { SelectedItem = e.NewValue as TreeViewEntry; }
static public IEnumerable <TreeViewEntry> EnumerateChildNodeTransitive( this TreeViewEntry TreeViewEntry) => TreeViewEntry?.BaumEnumFlacListeKnoote(Node => Node.Child);