예제 #1
0
 internal void SetItems(IEnumerable <string> newItems)
 {
     listNode = GUIListNode.CreateListNode1Lvl(newItems.Select(x => new string[] { x }).ToList(), DoItemSelected);
     listNode.SetIcons(" ", " ");
     selectedItemName = "";
     UpdateButtonText();
 }
예제 #2
0
 internal void AddNode(GUIListNode newNode)
 {
     if (newNode != null)
     {
         Nodes.Add(newNode);
         newNode.Parent = this;
     }
 }
예제 #3
0
 protected void DoUpdateLists(GUIButton sender = null, object value = null)
 {
     listSuggestions = GUIListNode.CreateListNode2Lvl(KLVCore.GetVehicleSuggestions(payloadMass, ignoreMass), null, DoShowSuggestionInfo);
     listSuggestions.SetCollapsedAll(false);
     listSuggestions.SetLevelStyle(2, klvGUIStyles.PanelLabel);
     editVehicleList = GUIListNode.CreateListNode3Lvl(KLVCore.GetFullVehicleSummary(), null, DoEditVehicle);
     UpdateFamilies(true);
 }
예제 #4
0
        //Factory

        internal static GUIListNode CreateListNode1Lvl(List <string[]> allNodes, DoButtonPress Action = null)
        {
            GUIListNode rootNode = new GUIListNode(new string[] { "" }, false, null, false, 0, true);

            foreach (var value in allNodes)
            {
                rootNode.AddNode(new GUIListNode(value, Action != null, Action, false, 1));
            }

            return(rootNode);
        }
예제 #5
0
 protected void UpdateFamilies(bool forceNoEdit = false)
 {
     if (!forceNoEdit && GlobalSettings.AllowFamilyEdit)
     {
         familyList = GUIListNode.CreateListNode3Lvl(KLVCore.GetFullVehicleSummary(), null, null, DoBeginFamilyEdit);
     }
     else
     {
         familyList = GUIListNode.CreateListNode3Lvl(KLVCore.GetFullVehicleSummary());
     }
 }
예제 #6
0
        internal static GUIListNode CreateListNode2Lvl(Dictionary <string[], List <string[]> > allNodes,
                                                       DoButtonPress lvl2Action = null, DoButtonPress lvl1Action = null)
        {
            GUIListNode rootNode = new GUIListNode(new string[] { "" }, false, null, false, 0, true);

            foreach (var lvl1Pair in allNodes)
            {
                var lvl1Node = new GUIListNode(lvl1Pair.Key, true, lvl1Action, true, 1);

                foreach (var value in lvl1Pair.Value)
                {
                    lvl1Node.AddNode(new GUIListNode(value, lvl2Action != null, lvl2Action, false, 2));
                }
                rootNode.AddNode(lvl1Node);
            }
            return(rootNode);
        }
예제 #7
0
        protected override void CreateControls()
        {
            base.CreateControls();

            //Tabs
            buttonTabSubassemblies = new GUIButton("Get Vehicle", DoChangeTab, new GUILayoutOption[] { GUILayout.ExpandWidth(true) });

            //Edit Vehicle
            textVehicleName         = new GUITextBox("Name :", "", "", 150, 210);
            textVehicleNote         = new GUIFreeText("Notes...", 475, 60);
            buttonSaveVehicle       = new GUIButton("Save Vehicle", DoSaveVehicle, new GUILayoutOption[] { GUILayout.Width(165) });
            buttonCancelVehicleEdit = new GUIButton("Cancel", EndVehicleEdit, new GUILayoutOption[] { GUILayout.Width(85) });
            comboFamily             = new DropDown(new Vector2(180, 108), KLVCore.GetAllFamilyNames(), null, "Select Family");
            RegisterCombos(comboFamily);
            editVehicleList       = GUIListNode.CreateListNode3Lvl(KLVCore.GetFullVehicleSummary(), null, DoEditVehicle);
            dropZone              = new GUIButton("ADD VESSEL AS LAUNCH VEHICLE", DoAddSubassembly, new GUILayoutOption[] { GUILayout.Height(60) });
            buttonAddLaunchConfig = new GUIButton("Add Launch Config", DoAddLaunchConfig, new GUILayoutOption[] { GUILayout.Width(175) });

            //Suggestions
            buttonUpdateSuggestions = new GUIButton("Update Suggestions", DoUpdateLists, new GUILayoutOption[] { GUILayout.Width(180) });
            buttonGetSuggestion     = new GUIButton("Load", DoLoadSuggestion, new GUILayoutOption[] { GUILayout.Width(80) });

            DoUpdateLists();
        }
예제 #8
0
        // Layout

        protected void LayoutGUIList(GUIListNode listNode, int width, int height)
        {
            scrollPos = GUILayout.BeginScrollView(scrollPos, GUILayout.Width(width), GUILayout.Height(height));
            scrollPos = (Vector2)listNode.DoLayout(null, null, scrollPos);
            GUILayout.EndScrollView();
        }