Add an indication to changed flag/angle/parameter labels, to show when flags or angle/parameter values have changed behavior.
This commit is contained in:
parent
83e5cebe8f
commit
8b6406075c
|
@ -71,15 +71,19 @@ namespace CodeImp.DoomBuilder.Controls
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateCheckboxes(IDictionary<string,string> newflags)
|
public void UpdateCheckboxes(IDictionary<string,string> newflags, IDictionary<string, string> baseflags)
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
foreach (KeyValuePair<string,string> p in newflags)
|
foreach (KeyValuePair<string,string> p in newflags)
|
||||||
{
|
{
|
||||||
checkboxes[i].Text = p.Value;
|
checkboxes[i].Text = p.Value;
|
||||||
i++;
|
|
||||||
}
|
baseflags.TryGetValue(p.Key, out string basevalue);
|
||||||
}
|
checkboxes[i].BackColor = (p.Value != basevalue) ? Color.LightGray : Color.White;
|
||||||
|
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//mxd
|
//mxd
|
||||||
public int GetWidth()
|
public int GetWidth()
|
||||||
|
|
|
@ -371,6 +371,7 @@ namespace CodeImp.DoomBuilder.Controls
|
||||||
int offset = 2 + (int)g.MeasureString(parametercaption.Text, parametercaption.Font).Width;
|
int offset = 2 + (int)g.MeasureString(parametercaption.Text, parametercaption.Font).Width;
|
||||||
parametercaption.Location = new System.Drawing.Point(Math.Max(60 - offset, 0), 27);
|
parametercaption.Location = new System.Drawing.Point(Math.Max(60 - offset, 0), 27);
|
||||||
parametercaption.Size = new System.Drawing.Size(offset, 13);
|
parametercaption.Size = new System.Drawing.Size(offset, 13);
|
||||||
|
parametercaption.BackColor = (parametercaption.Text != "Parameter:") ? Color.LightGray : Color.White;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(doupdatenode)
|
if(doupdatenode)
|
||||||
|
|
|
@ -339,7 +339,7 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
linedefprops.Add(new LinedefProperties(l));
|
linedefprops.Add(new LinedefProperties(l));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (allsameaction) flags.UpdateCheckboxes(newFlags);
|
if (allsameaction) flags.UpdateCheckboxes(newFlags, General.Map.Config.LinedefFlags);
|
||||||
|
|
||||||
// Refresh controls so that they show their image
|
// Refresh controls so that they show their image
|
||||||
backhigh.Refresh();
|
backhigh.Refresh();
|
||||||
|
@ -560,7 +560,7 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
|
|
||||||
LinedefActionInfo li = General.Map.Config.GetLinedefActionInfo(action.Value);
|
LinedefActionInfo li = General.Map.Config.GetLinedefActionInfo(action.Value);
|
||||||
IDictionary<string, string> newFlags = (li == null || li.Flags.Count == 0) ? General.Map.Config.LinedefFlags : li.Flags;
|
IDictionary<string, string> newFlags = (li == null || li.Flags.Count == 0) ? General.Map.Config.LinedefFlags : li.Flags;
|
||||||
flags.UpdateCheckboxes(newFlags);
|
flags.UpdateCheckboxes(newFlags, General.Map.Config.LinedefFlags);
|
||||||
|
|
||||||
// (Re)set hacky flat alignment
|
// (Re)set hacky flat alignment
|
||||||
foreach (Linedef l in lines)
|
foreach (Linedef l in lines)
|
||||||
|
|
|
@ -284,11 +284,12 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
|
|
||||||
if (allsametype)
|
if (allsametype)
|
||||||
{
|
{
|
||||||
flags.UpdateCheckboxes(newFlags);
|
flags.UpdateCheckboxes(newFlags, General.Map.Config.ThingFlags);
|
||||||
if (ti != null)
|
if (ti != null)
|
||||||
{
|
{
|
||||||
groupBox4.Text = ti.AngleText;
|
groupBox4.Text = ti.AngleText;
|
||||||
label3.Text = ti.FlagsValueText + ":";
|
groupBox4.BackColor = (groupBox4.Text != "Angle") ? Color.LightGray : Color.White;
|
||||||
|
label3.Text = ti.FlagsValueText + ":";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -300,8 +301,9 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
flags_OnValueChanged(flags, EventArgs.Empty);
|
flags_OnValueChanged(flags, EventArgs.Empty);
|
||||||
preventmapchange = false;
|
preventmapchange = false;
|
||||||
flagsvalue.Text = evaluateFlagsValue();
|
flagsvalue.Text = evaluateFlagsValue();
|
||||||
|
label3.BackColor = (label3.Text != "Flags value:") ? Color.LightGray : Color.White;
|
||||||
|
|
||||||
argscontrol.UpdateScriptControls(); //mxd
|
argscontrol.UpdateScriptControls(); //mxd
|
||||||
actionhelp.UpdateAction(action.GetValue()); //mxd
|
actionhelp.UpdateAction(action.GetValue()); //mxd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -635,11 +637,13 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
}
|
}
|
||||||
|
|
||||||
IDictionary<string, string> newFlags = (thinginfo == null || thinginfo.Flags.Count == 0) ? General.Map.Config.ThingFlags : thinginfo.Flags;
|
IDictionary<string, string> newFlags = (thinginfo == null || thinginfo.Flags.Count == 0) ? General.Map.Config.ThingFlags : thinginfo.Flags;
|
||||||
flags.UpdateCheckboxes(newFlags);
|
flags.UpdateCheckboxes(newFlags, General.Map.Config.ThingFlags);
|
||||||
groupBox4.Text = (thinginfo == null) ? "Angle" : thinginfo.AngleText;
|
groupBox4.Text = (thinginfo == null) ? "Angle" : thinginfo.AngleText;
|
||||||
|
groupBox4.BackColor = (groupBox4.Text != "Angle") ? Color.LightGray : Color.White;
|
||||||
label3.Text = (thinginfo == null) ? "Flags value:" : thinginfo.FlagsValueText + ":";
|
label3.Text = (thinginfo == null) ? "Flags value:" : thinginfo.FlagsValueText + ":";
|
||||||
|
label3.BackColor = (label3.Text != "Flags value:") ? Color.LightGray : Color.White;
|
||||||
|
|
||||||
General.Map.IsChanged = true;
|
General.Map.IsChanged = true;
|
||||||
if(OnValuesChanged != null) OnValuesChanged(this, EventArgs.Empty);
|
if(OnValuesChanged != null) OnValuesChanged(this, EventArgs.Empty);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue