コード例 #1
0
        /// <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();
        }
コード例 #2
0
        /// <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;
        }
コード例 #3
0
ファイル: GuiVesselsManager.cs プロジェクト: trumb/KML
        /// <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();
        }