in Editor/Scripts/DeleteEnumWindow.cs [49:115]
void OnGUI()
{
var enumNames = m_EnumInfoHelper.GetAllEditableNames().ToArray();
if (enumNames.Length == 0)
{
EditorGUILayout.LabelField(
"Fidelity and Annotation messages don't contain any enums you can update or delete.",
EditorStyles.wordWrappedLabel);
return;
}
if (m_EnumToDelete < 0)
{
m_EnumToDelete = 0;
m_ErrorMessage = CheckForDeleteErrors(enumNames[m_EnumToDelete]);
}
EditorGUI.BeginChangeCheck();
EditorGUILayout.LabelField("Select enum to update or delete");
m_EnumToDelete = EditorGUILayout.Popup(m_EnumToDelete, enumNames);
if (EditorGUI.EndChangeCheck())
{
m_ErrorMessage = CheckForDeleteErrors(enumNames[m_EnumToDelete]);
}
GUILayout.Space(10);
using (new GUILayout.HorizontalScope())
{
GUILayout.FlexibleSpace();
if (GUILayout.Button("Update Enum", Styles.button, GUILayout.ExpandWidth(false)))
{
EnumInfo? enumInfoToUpdate = m_EnumInfoHelper.GetInfo(enumNames[m_EnumToDelete]);
if (enumInfoToUpdate.HasValue)
{
NewEnumWindow.ShowWindow(m_ProtoFile, m_EnumInfoHelper, enumInfoToUpdate.Value);
}
else
{
Debug.LogErrorFormat("Information for [{0}] enum was not found", enumNames[m_EnumToDelete]);
NewEnumWindow.ShowNewEnumWindow(m_ProtoFile, m_EnumInfoHelper);
}
this.Close();
}
}
GUILayout.Space(10);
if (!string.IsNullOrEmpty(m_ErrorMessage))
{
EditorGUILayout.HelpBox(m_ErrorMessage, MessageType.Error);
}
EditorGUI.BeginDisabledGroup(!string.IsNullOrEmpty(m_ErrorMessage));
using (new GUILayout.HorizontalScope())
{
GUILayout.FlexibleSpace();
if (GUILayout.Button("Delete Enum", Styles.button, GUILayout.ExpandWidth(false)))
{
m_ProtoFile.DeleteEnum(enumNames[m_EnumToDelete]);
this.Close();
}
}
EditorGUI.EndDisabledGroup();
}