public void OnGUI() { if (AddSchemaDirButton == null) { AddSchemaDirButton = new GUIContent(EditorGUIUtility.IconContent("Toolbar Plus")) { tooltip = "Add schema directory" }; RemoveSchemaDirButton = new GUIContent(EditorGUIUtility.IconContent("Toolbar Minus")) { tooltip = "Remove schema directory" }; } using (new EditorGUILayout.VerticalScope()) using (var scroll = new EditorGUILayout.ScrollViewScope(scrollPosition)) using (var check = new EditorGUI.ChangeCheckScope()) { DrawGeneralSection(); DrawCodeGenerationOptions(); DrawCustomSnapshotDir(); if (check.changed) { configErrors = toolsConfig.Validate(); if (configErrors.Count == 0) { hasUnsavedData = true; } } GUILayout.Space(10f); using (new EditorGUILayout.HorizontalScope()) { GUILayout.FlexibleSpace(); if (GUILayout.Button(ResetConfigurationButtonText, EditorStyles.miniButtonMid, GUILayout.Width(150))) { if (EditorUtility.DisplayDialog("Confirmation", "Are you sure you want to reset to defaults?", "Yes", "No")) { GUI.FocusControl(null); toolsConfig.ResetToDefault(); } } GUILayout.FlexibleSpace(); } scrollPosition = scroll.scrollPosition; } foreach (var error in configErrors) { EditorGUILayout.HelpBox(error, MessageType.Error); } }
public void OnGUI() { if (AddSchemaDirButton == null) { AddSchemaDirButton = new GUIContent(EditorGUIUtility.IconContent("Toolbar Plus")) { tooltip = "Add schema directory" }; RemoveSchemaDirButton = new GUIContent(EditorGUIUtility.IconContent("Toolbar Minus")) { tooltip = "Remove schema directory" }; } using (new EditorGUILayout.VerticalScope()) using (var scroll = new EditorGUILayout.ScrollViewScope(scrollPosition)) using (var check = new EditorGUI.ChangeCheckScope()) { using (new EditorGUILayout.HorizontalScope(EditorStyles.toolbar)) { var canSave = configErrors.Count > 0; using (new EditorGUI.DisabledScope(canSave)) { if (GUILayout.Button(SaveConfigurationButtonText, EditorStyles.toolbarButton)) { toolsConfig.Save(); } } if (GUILayout.Button(ResetConfigurationButtonText, EditorStyles.toolbarButton)) { if (EditorUtility.DisplayDialog("Confirmation", "Are you sure you want to reset to defaults?", "Yes", "No")) { toolsConfig.ResetToDefault(); } } } DrawGeneralSection(); DrawCodeGenerationOptions(); DrawCustomSnapshotDir(); if (check.changed) { configErrors = toolsConfig.Validate(); } scrollPosition = scroll.scrollPosition; } foreach (var error in configErrors) { EditorGUILayout.HelpBox(error, MessageType.Error); } }
public void OnGUI() { EditorGUI.BeginChangeCheck(); using (var check = new EditorGUI.ChangeCheckScope()) { DrawCoreSdkOptions(); DrawHorizontalBreak(); DrawCodeGenerationOptions(); DrawHorizontalBreak(); using (new EditorGUI.DisabledScope(configErrors.Count != 0)) { if (GUILayout.Button(SaveConfigurationButtonText, GUILayout.Width(250))) { toolsConfig.Save(); } } GUILayout.Space(15); if (GUILayout.Button(ResetConfigurationButtonText, GUILayout.Width(250))) { toolsConfig.ResetToDefault(); } if (check.changed) { configErrors = toolsConfig.Validate(); } } if (configErrors.Count <= 0) { return; } DrawHorizontalBreak(); foreach (var error in configErrors) { EditorGUILayout.HelpBox(error, MessageType.Error); } }