void ShowNeuralNetPopupGroup(string[] neuralNetsArray) { ShowNeuralNetPopup(neuralNetsArray); // + button if (GUILayout.Button(duplicateButtonContent, EditorStyles.miniButtonMid, miniButtonWidth)) { newNeuralNetName = ""; GUI.FocusControl("Clear"); neuralNetGUIMode = NeuralNetGUIMode.EnterNewNetName; } // - button if (GUILayout.Button(deleteButtonContent, EditorStyles.miniButtonRight, miniButtonWidth)) { if (ShowNeuralNetDeleteDialog(vrGestureManager.currentNeuralNet)) { vrGestureManager.DeleteNeuralNet(vrGestureManager.currentNeuralNet); if (vrGestureManager.neuralNets.Count > 0) { selectedNeuralNetIndex = 0; } } } }
void ShowNeuralNetCreateNewOptions() { newNeuralNetName = EditorGUILayout.TextField(newNeuralNetName); if (GUILayout.Button("Create Network")) { if (string.IsNullOrEmpty(newNeuralNetName)) { EditorUtility.DisplayDialog("Please give the new neural network a name", " ", "ok"); } else if (vrGestureManager.CheckForDuplicateNeuralNetName(newNeuralNetName)) { EditorUtility.DisplayDialog( "The name " + newNeuralNetName + " is already being used, " + "please name it something else.", " ", "ok" ); } else { vrGestureManager.CreateNewNeuralNet(newNeuralNetName); //This is incorrect because the list will always be sorted alphabetically //We need to find the list in alphbetical order. List <string> sortedList = new List <string>(vrGestureManager.neuralNets); sortedList.Sort( delegate(String s1, String s2) { return(s1.CompareTo(s2)); } ); selectedNeuralNetIndex = sortedList.IndexOf(newNeuralNetName); neuralNetGUIMode = NeuralNetGUIMode.ShowPopup; } } }
void ShowNeuralNets() { // must refresh the neural net list every OnGUI // to detect when the neural nets have been deleted from the folder gestureSettings.RefreshNeuralNetList(); string[] neuralNetsArray = GetNeuralNetsList(); //if (neuralNetsArray.Length == 0) // STATE CONTROL if (neuralNetGUIMode == NeuralNetGUIMode.EnterNewNetName) { EditorGUILayout.LabelField("NAME THE NEW NEURAL NET"); ShowNeuralNetCreateNewOptions(); if (GUILayout.Button("Back")) { neuralNetGUIMode = NeuralNetGUIMode.None; } } else if (neuralNetsArray.Length == 0) // if the neural nets list is empty show a big + button { EditorGUILayout.LabelField("CREATE A NEW NEURAL NET"); neuralNetGUIMode = NeuralNetGUIMode.None; } else // draw the popup and little plus and minus buttons { neuralNetGUIMode = NeuralNetGUIMode.ShowPopup; } // RENDER GUILayout.BeginHorizontal(); switch (neuralNetGUIMode) { case (NeuralNetGUIMode.None): // PLUS + BUTTON if (GUILayout.Button(neuralNetNoneButtonContent)) { newNeuralNetName = ""; GUI.FocusControl("Clear"); neuralNetGUIMode = NeuralNetGUIMode.EnterNewNetName; newNeuralNetName = ""; GUILayout.EndHorizontal(); } break; // NEURAL NET POPUP case (NeuralNetGUIMode.ShowPopup): ShowNeuralNetPopupGroup(neuralNetsArray); GUILayout.EndHorizontal(); ShowNeuralNetTrainedGestures(); break; } }
void ShowNeuralNets() { EditorGUILayout.LabelField("NEURAL NETWORK"); string[] neuralNetsArray = GetNeuralNetsList(); // STATE CONTROL if (neuralNetGUIMode == NeuralNetGUIMode.EnterNewNetName) { ShowNeuralNetCreateNewOptions(); } else if (neuralNetsArray.Length == 0) // if the neural nets list is empty show a big + button { neuralNetGUIMode = NeuralNetGUIMode.None; } else // draw the popup and little plus and minus buttons { neuralNetGUIMode = NeuralNetGUIMode.ShowPopup; } // RENDER GUILayout.BeginHorizontal(); switch (neuralNetGUIMode) { case (NeuralNetGUIMode.None): // PLUS + BUTTON if (GUILayout.Button(neuralNetNoneButtonContent)) { newNeuralNetName = ""; GUI.FocusControl("Clear"); neuralNetGUIMode = NeuralNetGUIMode.EnterNewNetName; newNeuralNetName = ""; GUILayout.EndHorizontal(); } break; // NEURAL NET POPUP case (NeuralNetGUIMode.ShowPopup): ShowNeuralNetPopupGroup(neuralNetsArray); GUILayout.EndHorizontal(); ShowNeuralNetTrainedGestures(); break; } }