mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2024-12-18 08:01:36 +00:00
bafb8ed511
Texture scale controls now have "Link" button. Thing, Sector (UDMF) and Linedef edit forms now work in realtime mode. Some more fixes in Edit form realtime update stuff. Removed some unused variables and functions.
84 lines
2.1 KiB
C#
84 lines
2.1 KiB
C#
#region ================== Namespaces
|
|
|
|
using System;
|
|
using System.Windows.Forms;
|
|
using CodeImp.DoomBuilder.Map;
|
|
|
|
#endregion
|
|
|
|
namespace CodeImp.DoomBuilder.GZBuilder.Controls
|
|
{
|
|
public partial class PairedIntControl : UserControl
|
|
{
|
|
#region ================== Events
|
|
|
|
public event EventHandler OnValuesChanged;
|
|
|
|
#endregion
|
|
|
|
#region ================== Variables
|
|
|
|
private int defaultValue;
|
|
private bool blockUpdate;
|
|
|
|
#endregion
|
|
|
|
#region ================== Properties
|
|
|
|
public string Label { get { return label.Text; } set { label.Text = value; } }
|
|
public int DefaultValue { get { return defaultValue; } set { defaultValue = value; } }
|
|
public int ButtonStep { get { return (int)value1.ButtonStep; } set { value1.ButtonStep = value; value2.ButtonStep = value; } }
|
|
|
|
#endregion
|
|
|
|
public PairedIntControl() {
|
|
InitializeComponent();
|
|
}
|
|
|
|
public void SetValues(int val1, int val2) {
|
|
blockUpdate = true;
|
|
|
|
if(!string.IsNullOrEmpty(value1.Text) && value1.Text != val1.ToString())
|
|
value1.Text = "";
|
|
else
|
|
value1.Text = val1.ToString();
|
|
|
|
if(!string.IsNullOrEmpty(value2.Text) && value2.Text != val2.ToString())
|
|
value2.Text = "";
|
|
else
|
|
value2.Text = val2.ToString();
|
|
|
|
blockUpdate = false;
|
|
}
|
|
|
|
public int GetValue1(int original) {
|
|
return value1.GetResult(original);
|
|
}
|
|
|
|
public int GetValue2(int original) {
|
|
return value2.GetResult(original);
|
|
}
|
|
|
|
private void checkValues() {
|
|
bool changed = (string.IsNullOrEmpty(value1.Text) || string.IsNullOrEmpty(value2.Text));
|
|
|
|
if(!changed)
|
|
changed = (value1.GetResult(defaultValue) != defaultValue || value2.GetResult(defaultValue) != defaultValue);
|
|
|
|
label.Enabled = changed;
|
|
bReset.Visible = changed;
|
|
|
|
if(!blockUpdate && OnValuesChanged != null) OnValuesChanged(this, EventArgs.Empty);
|
|
}
|
|
|
|
private void bReset_Click(object sender, EventArgs e) {
|
|
value1.Text = defaultValue.ToString();
|
|
value2.Text = defaultValue.ToString();
|
|
checkValues();
|
|
}
|
|
|
|
private void value1_WhenTextChanged(object sender, EventArgs e) {
|
|
checkValues();
|
|
}
|
|
}
|
|
}
|