/// <summary> /// Load all kerbals from KML Tree. /// </summary> /// <param name="master">The GuiTreeManager that manages the loaded tree</param> public void Load(GuiTreeManager master) { Kerbals.Clear(); KerbalsList.Items.Clear(); KerbalsDetails.Items.Clear(); List <KmlKerbal> list = master.GetFlatList <KmlKerbal>(); foreach (KmlKerbal kerbal in list) { if (kerbal.Origin == KmlKerbal.KerbalOrigin.Roster) { Kerbals.Add(kerbal); } } // Sort the list Kerbals = Kerbals.OrderBy(x => x.Name).ToList(); foreach (KmlKerbal kerbal in Kerbals) { GuiKerbalsNode node = new GuiKerbalsNode(kerbal); node.MouseDoubleClick += KerbalsNode_MouseDoubleClick; KerbalsList.Items.Add(node); } // Apply current filter and count visible items UpdateVisibility(); }
/// <summary> /// Creates a GuiTabsManager to manage all the given visual elements. /// </summary> /// <param name="treeTab">The TabItem for the KML tree</param> /// <param name="tree">The TreeView to manage the KML tree in</param> /// <param name="treeDetails">The ListView to manage KML tree details</param> /// <param name="vesselsTab">The TabItem for the vessels list</param> /// <param name="vesselsList">The ListView to manage the vessels list</param> /// <param name="vesselsDetails">The ListView to manage the vessels details</param> /// <param name="vesselsCount">The Label to display the item count in the vessels list</param> /// <param name="kerbalsTab">The TabItem for the kerbals list</param> /// <param name="kerbalsList">The ListView to manage the kerbals list</param> /// <param name="kerbalsDetails">The ListView to manage the kerbals details</param> /// <param name="kerbalsCount">The Label to display the item count in the kerbals list</param> /// <param name="warningsTab">The TabItem for the warnings list</param> /// <param name="warningsList">The ListView to manage the warnings list</param> public GuiTabsManager( TabItem treeTab, TreeView tree, ListView treeDetails, TabItem vesselsTab, ListView vesselsList, Canvas vesselsDetails, Label vesselsCount, TabItem kerbalsTab, ListView kerbalsList, ListView kerbalsDetails, Label kerbalsCount, TabItem warningsTab, ListView warningsList) { FileIsCraft = false; FileKspDirectory = ""; FileGamedataDirectory = ""; if (treeTab.Parent is TabControl && treeTab.Parent == vesselsTab.Parent && treeTab.Parent == kerbalsTab.Parent && treeTab.Parent == warningsTab.Parent) { Tabs = (TabControl)treeTab.Parent; TreeTab = treeTab; TreeManager = new GuiTreeManager(this, tree, treeDetails); VesselsTab = vesselsTab; VesselsManager = new GuiVesselsManager(this, vesselsList, vesselsDetails, vesselsCount); KerbalsTab = kerbalsTab; KerbalsManager = new GuiKebalsManager(this, kerbalsList, kerbalsDetails, kerbalsCount); WarningsTab = warningsTab; WarningsManager = new GuiWarningsManager(this, warningsList); } else { throw new ArgumentException("Given TabItems don't have the same parent TabControl or it is not valid"); } _currentTabsManager = this; }
/// <summary> /// Load all vessels from KML Tree. /// </summary> /// <param name="master">The GuiTreeManager that manages the loaded tree</param> public void Load(GuiTreeManager master) { Vessels.Clear(); VesselsList.Items.Clear(); VesselsDetails.Children.Clear(); List <KmlVessel> list = master.GetFlatList <KmlVessel>(); foreach (KmlVessel vessel in list) { if (vessel.Origin == KmlVessel.VesselOrigin.Flightstate) { Vessels.Add(vessel); } } // Sort the list Vessels = Vessels.OrderBy(x => x.Name).ToList(); foreach (KmlVessel vessel in Vessels) { GuiVesselsNode node = new GuiVesselsNode(vessel); node.MouseDoubleClick += VesselsNode_MouseDoubleClick; VesselsList.Items.Add(node); } // Apply current filter and count visible items UpdateVisibility(); }