Worms4Editor/W4Gui/Tabs/SchemeTab.cs

68 lines
2.2 KiB
C#

using LibW4M.Data.Schemes;
using LibW4M.Data.Teams;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace W4Gui.Tabs
{
public partial class SchemeTab : TabEntry
{
public SchemeTab()
{
InitializeComponent();
this.schemesList.List.Selected += schemesList_Selected;
this.schemesList.List.Unselected += schemesList_Unselected;
}
public override void SaveFromControl()
{
if (schemesList.List.IsItemSelected)
schemesList_Unselected(null, null);
}
public override void LoadIntoControl()
{
this.schemesList.List.LoadCollective(DataManager.SaveFile.SchemesCollective);
schemesPanel.Enabled = false;
}
private void schemesList_Unselected(object? sender, EventArgs e)
{
SchemeData scheme = DataManager.SaveFile.SchemesCollective[schemesList.List.LastSelected] as SchemeData;
schemesPanel.SaveSchemeData(ref scheme);
schemesList.List.UpdateName(schemesList.List.LastSelected, scheme.Name.Value);
}
private void schemesList_Selected(object? sender, EventArgs e)
{
SchemeData scheme = DataManager.SaveFile.SchemesCollective[schemesList.List.CurrentlySelected] as SchemeData;
schemesPanel.LoadSchemeData(scheme);
schemesPanel.Enabled = true;
}
private void schemesList_NewButton(object sender, EventArgs e)
{
DataManager.SaveFile.SchemesCollective.Create();
schemesList.List.Add(DataManager.SaveFile.SchemesCollective.Last().FriendlyName);
schemesList.List.SelectedIndex = (schemesList.List.Items.Count - 1);
}
private void schemesList_DeleteButton(object sender, EventArgs e)
{
int sel = schemesList.List.CurrentlySelected;
SchemeData scheme = DataManager.SaveFile.SchemesCollective[sel] as SchemeData;
DataManager.SaveFile.SchemesCollective.Delete(scheme);
schemesList.List.Delete(sel);
}
}
}