void ConfigsGUI()
 {
     GUILayout.BeginVertical();
     GUILayout.Label("Manage named configurations", Styles.label, GUILayout.ExpandWidth(true));
     GUILayout.BeginHorizontal();
     GUILayout.Label("Name:", GUILayout.ExpandWidth(false));
     config_name = GUILayout.TextField(config_name, GUILayout.ExpandWidth(true), GUILayout.MinWidth(50));
     if (TCAScenario.NamedConfigs.ContainsKey(config_name))
     {
         if (GUILayout.Button(new GUIContent("Overwrite", "Overwrite selected configuration with the current one"),
                              Styles.danger_button, GUILayout.ExpandWidth(false)))
         {
             TCAScenario.SaveNamedConfig(config_name, CFG, true);
         }
     }
     else if (GUILayout.Button(new GUIContent("Add", "Save current configuration"),
                               Styles.add_button, GUILayout.ExpandWidth(false)) &&
              config_name != string.Empty)
     {
         TCAScenario.SaveNamedConfig(config_name, CFG);
         UpdateNamedConfigs();
         named_configs.SelectItem(TCAScenario.NamedConfigs.IndexOfKey(config_name));
     }
     SelectConfig();
     if (GUILayout.Button(new GUIContent("Load", "Load selected configuration"),
                          Styles.active_button, GUILayout.ExpandWidth(false)) &&
         selected_config != null)
     {
         CFG.CopyFrom(selected_config);
     }
     if (GUILayout.Button(new GUIContent("Delete", "Delete selected configuration"),
                          Styles.danger_button, GUILayout.ExpandWidth(false)) &&
         selected_config != null)
     {
         TCAScenario.NamedConfigs.Remove(selected_config.Name);
         named_configs.SelectItem(named_configs.SelectedIndex - 1);
         UpdateNamedConfigs();
         selected_config = null;
     }
     GUILayout.EndHorizontal();
     GUILayout.EndVertical();
 }