Worms4Editor/W4Gui/Tabs/OtherTabs/InputMappingsTab.cs

74 lines
2.4 KiB
C#

using LibW4M.Data.Highscores;
using LibW4M.Data.InputMapping;
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.OtherTabs
{
public partial class InputMappingsTab : UserControl
{
private List<InputMappingData> mappingData;
public InputMappingData[] MappingDataArray
{
get
{
return mappingData.ToArray();
}
}
public InputMappingsTab()
{
InitializeComponent();
this.inputMappingsList.List.Selected += inputMappingsList_Selected;
this.inputMappingsList.List.Unselected += inputMappingsList_Unselected;
this.mappingData = new List<InputMappingData>();
}
public void SaveData()
{
if (this.inputMappingsList.List.IsItemSelected)
inputMappingsList_Unselected(null, null);
}
public void LoadData(ref InputMappingData[] data)
{
this.inputMappingsList.List.LoadArray(data);
inputMappingsPanel.Enabled = false;
mappingData.AddRange(data);
}
private void inputMappingsList_Unselected(object? sender, EventArgs? e)
{
InputMappingData inputMappingsData = mappingData[inputMappingsList.List.LastSelected] as InputMappingData;
inputMappingsPanel.SaveInputMappingsData(ref inputMappingsData);
inputMappingsList.List.UpdateName(inputMappingsList.List.LastSelected, inputMappingsData.FriendlyName);
}
private void inputMappingsList_Selected(object? sender, EventArgs e)
{
InputMappingData inputMappingsData = mappingData[inputMappingsList.List.CurrentlySelected] as InputMappingData;
inputMappingsPanel.LoadInputMappingsData(inputMappingsData);
inputMappingsPanel.Enabled = true;
}
private void inputMappingsList_NewButton(object sender, EventArgs e)
{
throw new NotImplementedException("Adding new inputMappings from here not implemented yet ;)");
}
private void inputMappingsList_DelButton(object sender, EventArgs e)
{
throw new NotImplementedException("Removing inputMappings from here not implemented yet ;)");
}
}
}