Cleaned the Settings.cs and added some responsiveness
This commit is contained in:
+58
-39
@@ -14,8 +14,6 @@ namespace Test_Merge
|
||||
public partial class Settings : Form
|
||||
{
|
||||
private string _grandPrixUrl = "";
|
||||
private string _grandPrixName = "";
|
||||
private int _grandPrixYear = 2000;
|
||||
private string _selectedConfigFile;
|
||||
private List<string> _driverList = new List<string>();
|
||||
|
||||
@@ -33,11 +31,17 @@ namespace Test_Merge
|
||||
List<Rectangle> WindowsToAdd = new List<Rectangle>();
|
||||
|
||||
public string GrandPrixUrl { get => _grandPrixUrl; private set => _grandPrixUrl = value; }
|
||||
public string GrandPrixName { get => _grandPrixName; private set => _grandPrixName = value; }
|
||||
public int GrandPrixYear { get => _grandPrixYear; private set => _grandPrixYear = value; }
|
||||
public List<string> DriverList { get => _driverList; private set => _driverList = value; }
|
||||
public string SelectedConfigFile { get => _selectedConfigFile; private set => _selectedConfigFile = value; }
|
||||
|
||||
//For the responsive content
|
||||
Size oldSize = new Size();
|
||||
Size oldGpbxPreviewSize = new Size();
|
||||
Size oldGpbxWindowPreviewSize = new Size();
|
||||
|
||||
Size oldPbxPreviewSize = new Size();
|
||||
Size oldPbxWindowPreviewSize = new Size();
|
||||
|
||||
public Settings()
|
||||
{
|
||||
InitializeComponent();
|
||||
@@ -46,6 +50,11 @@ namespace Test_Merge
|
||||
private void Load()
|
||||
{
|
||||
RefreshUI();
|
||||
oldSize = this.Size;
|
||||
oldGpbxPreviewSize = gpbxPreview.Size;
|
||||
oldGpbxWindowPreviewSize = gpbxWindowPreview.Size;
|
||||
oldPbxPreviewSize = pbxPreview.Size;
|
||||
oldPbxWindowPreviewSize = pbxWindowPreview.Size;
|
||||
}
|
||||
private void RefreshUI()
|
||||
{
|
||||
@@ -93,15 +102,15 @@ namespace Test_Merge
|
||||
}
|
||||
if (Config != null)
|
||||
{
|
||||
pbxMain.Image = Config.MainZone.Draw();
|
||||
pbxPreview.Image = Config.MainZone.Draw();
|
||||
if (Config.MainZone.Zones.Count > 0)
|
||||
pbxDriverZone.Image = Config.MainZone.Zones[0].Draw();
|
||||
pbxWindowPreview.Image = Config.MainZone.Zones[0].Draw();
|
||||
}
|
||||
}
|
||||
private void CreateNewZone(Point p1, Point p2)
|
||||
{
|
||||
Rectangle dimensions = CreateAbsoluteRectangle(p1, p2);
|
||||
Config = new ConfigurationTool((Bitmap)pbxMain.Image, dimensions);
|
||||
Config = new ConfigurationTool((Bitmap)pbxPreview.Image, dimensions);
|
||||
RefreshUI();
|
||||
}
|
||||
private void CreateWindows(List<Rectangle> dimensions)
|
||||
@@ -116,25 +125,6 @@ namespace Test_Merge
|
||||
GrandPrixUrl = tbxGpUrl.Text;
|
||||
}
|
||||
|
||||
private void tbxGpName_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
GrandPrixName = tbxGpName.Text;
|
||||
}
|
||||
|
||||
private void tbxGpYear_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
int year;
|
||||
try
|
||||
{
|
||||
year = Convert.ToInt32(tbxGpYear.Text);
|
||||
}
|
||||
catch
|
||||
{
|
||||
year = 1545;
|
||||
}
|
||||
GrandPrixYear = year;
|
||||
}
|
||||
|
||||
private void btnAddDriver_Click(object sender, EventArgs e)
|
||||
{
|
||||
string newDriver = tbxDriverName.Text;
|
||||
@@ -171,7 +161,7 @@ namespace Test_Merge
|
||||
if (Emulator != null && Emulator.Ready)
|
||||
{
|
||||
Config = null;
|
||||
pbxMain.Image = Emulator.Screenshot();
|
||||
pbxPreview.Image = Emulator.Screenshot();
|
||||
}
|
||||
|
||||
ZoneP1 = new Point(-1, -1);
|
||||
@@ -214,12 +204,12 @@ namespace Test_Merge
|
||||
}
|
||||
private void pbxMain_MouseClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (CreatingZone && pbxMain.Image != null)
|
||||
if (CreatingZone && pbxPreview.Image != null)
|
||||
{
|
||||
//Point coordinates = pbxMain.PointToClient(new Point(MousePosition.X, MousePosition.Y));
|
||||
Point coordinates = e.Location;
|
||||
float xOffset = (float)pbxMain.Image.Width / (float)pbxMain.Width;
|
||||
float yOffset = (float)pbxMain.Image.Height / (float)pbxMain.Height;
|
||||
float xOffset = (float)pbxPreview.Image.Width / (float)pbxPreview.Width;
|
||||
float yOffset = (float)pbxPreview.Image.Height / (float)pbxPreview.Height;
|
||||
Point newPoint = new Point(Convert.ToInt32((float)coordinates.X * xOffset), Convert.ToInt32((float)coordinates.Y * yOffset));
|
||||
|
||||
//MessageBox.Show("Coordinates" + Environment.NewLine + "Old : " + coordinates.ToString() + Environment.NewLine + "New : " + newPoint.ToString());
|
||||
@@ -243,12 +233,12 @@ namespace Test_Merge
|
||||
}
|
||||
private void pbxDriverZone_MouseClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (CreatingWindow && pbxDriverZone.Image != null)
|
||||
if (CreatingWindow && pbxWindowPreview.Image != null)
|
||||
{
|
||||
Point coordinates = e.Location;
|
||||
|
||||
float xOffset = (float)pbxDriverZone.Image.Width / (float)pbxDriverZone.Width;
|
||||
float yOffset = (float)pbxDriverZone.Image.Height / (float)pbxDriverZone.Height;
|
||||
float xOffset = (float)pbxWindowPreview.Image.Width / (float)pbxWindowPreview.Width;
|
||||
float yOffset = (float)pbxWindowPreview.Image.Height / (float)pbxWindowPreview.Height;
|
||||
|
||||
Point newPoint = new Point(Convert.ToInt32((float)coordinates.X * xOffset), Convert.ToInt32((float)coordinates.Y * yOffset));
|
||||
|
||||
@@ -269,7 +259,7 @@ namespace Test_Merge
|
||||
else
|
||||
{
|
||||
WindowP1 = new Point(WindowP1.X, 0);
|
||||
WindowP2 = new Point(WindowP2.X, pbxDriverZone.Image.Height);
|
||||
WindowP2 = new Point(WindowP2.X, pbxWindowPreview.Image.Height);
|
||||
CreateWindows(WindowsToAdd);
|
||||
SwitchWindowCreation();
|
||||
}
|
||||
@@ -353,12 +343,12 @@ namespace Test_Merge
|
||||
}
|
||||
else
|
||||
{
|
||||
pbxMain.Image = Emulator.Screenshot();
|
||||
pbxPreview.Image = Emulator.Screenshot();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pbxMain.Image = Emulator.Screenshot();
|
||||
pbxPreview.Image = Emulator.Screenshot();
|
||||
}
|
||||
btnRefresh.Enabled = true;
|
||||
}
|
||||
@@ -397,14 +387,14 @@ namespace Test_Merge
|
||||
private void btnLoadPreset_Click(object sender, EventArgs e)
|
||||
{
|
||||
//MessageBox.Show(lsbPresets.SelectedIndex.ToString());
|
||||
if (lsbPresets.SelectedIndex >= 0 && pbxMain.Image != null)
|
||||
if (lsbPresets.SelectedIndex >= 0 && pbxPreview.Image != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
string fileName = lsbPresets.Items[lsbPresets.SelectedIndex].ToString();
|
||||
Reader reader = new Reader(fileName, (Bitmap)pbxMain.Image, false);
|
||||
Reader reader = new Reader(fileName, (Bitmap)pbxPreview.Image, false);
|
||||
//MainZones #0 is the big main zone containing driver zones
|
||||
Config = new ConfigurationTool((Bitmap)pbxMain.Image, reader.MainZones[0].Bounds);
|
||||
Config = new ConfigurationTool((Bitmap)pbxPreview.Image, reader.MainZones[0].Bounds);
|
||||
Config.MainZone = reader.MainZones[0];
|
||||
DriverList = reader.Drivers;
|
||||
SelectedConfigFile = fileName;
|
||||
@@ -416,5 +406,34 @@ namespace Test_Merge
|
||||
RefreshUI();
|
||||
}
|
||||
}
|
||||
|
||||
private void Settings_Resize(object sender, EventArgs e)
|
||||
{
|
||||
int xDiff = this.Width - oldSize.Width;
|
||||
int yDiff = this.Height - oldSize.Height;
|
||||
|
||||
gpbxPreview.Size = new Size(oldGpbxPreviewSize.Width + xDiff,oldGpbxPreviewSize.Height + yDiff);
|
||||
gpbxWindowPreview.Size = new Size(oldGpbxWindowPreviewSize.Width + xDiff,oldGpbxWindowPreviewSize.Height);
|
||||
pbxPreview.Size = new Size(oldPbxPreviewSize.Width + xDiff,oldPbxPreviewSize.Height + yDiff);
|
||||
pbxWindowPreview.Size = new Size(oldPbxWindowPreviewSize.Width + xDiff,oldPbxWindowPreviewSize.Height);
|
||||
}
|
||||
|
||||
private void btnDeletePreset_Click(object sender, EventArgs e)
|
||||
{
|
||||
int selectedIndex = lsbPresets.SelectedIndex;
|
||||
if (selectedIndex >= 0)
|
||||
{
|
||||
string fileName = lsbPresets.Items[selectedIndex].ToString();
|
||||
if (File.Exists(fileName))
|
||||
{
|
||||
File.Delete(fileName);
|
||||
RefreshUI();
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Could not delete the preset because it does not exists");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user