From 146fc3f4a1bbf62b1eec1a4d662701d253bc6975 Mon Sep 17 00:00:00 2001 From: MaxED Date: Mon, 29 Sep 2014 08:41:12 +0000 Subject: [PATCH] Map Analysis form: fixed a crash caused by running analysis, opening another map then trying to run analysis again. Map Analysis form: error checks are now alphabetically sorted. Map Analysis form: added "Toggle All" check box. Internal: CheckboxArrayControl now has Sort() method. More fixes in ZDoom_DECORATE.cfg --- Build/Scripting/ZDoom_DECORATE.cfg | 16 +++++++++----- Source/Core/Controls/CheckboxArrayControl.cs | 12 ++++++++++ .../Interface/ErrorCheckForm.Designer.cs | 22 ++++++++++++++++--- .../BuilderModes/Interface/ErrorCheckForm.cs | 18 ++++++++++++--- .../Interface/ErrorCheckForm.resx | 6 ++--- 5 files changed, 59 insertions(+), 15 deletions(-) diff --git a/Build/Scripting/ZDoom_DECORATE.cfg b/Build/Scripting/ZDoom_DECORATE.cfg index 14c2eab2..ddfc9dda 100644 --- a/Build/Scripting/ZDoom_DECORATE.cfg +++ b/Build/Scripting/ZDoom_DECORATE.cfg @@ -29,12 +29,12 @@ keywords A_ClearLastHeard = "A_ClearLastHeard"; A_ClearSoundTarget = "A_ClearSoundTarget"; A_ClearTarget = "A_ClearTarget"; - A_DamageChildren = "A_DamageChildren(int amount[, string type])"; - A_DamageMaster = "A_DamageMaster(int amount[, string type])"; - A_DamageSelf = "A_DamageSelf(int amount, string damagetype)"; - A_DamageSiblings = "A_DamageSiblings(int amount[, string type])"; - A_DamageTarget = "A_DamageTarget(int amount, string damagetype)"; - A_DamageTracer = "A_DamageTracer(int amount, string damagetype)"; + A_DamageChildren = "A_DamageChildren(int amount[, string damagetype[, int flags]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict. Default is 'None'.\nflags: DMSS flags."; + A_DamageMaster = "A_DamageMaster(int amount[, string damagetype[, int flags]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict. Default is 'None'.\nflags: DMSS flags."; + A_DamageSelf = "A_DamageSelf(int amount[, string damagetype[, int flags]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict. Default is 'None'.\nflags: DMSS flags."; + A_DamageSiblings = "A_DamageSiblings(int amount[, string damagetype[, int flags]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict. Default is 'None'.\nflags: DMSS flags."; + A_DamageTarget = "A_DamageTarget(int amount[, string damagetype[, int flags]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict. Default is 'None'.\nflags: DMSS flags."; + A_DamageTracer = "A_DamageTracer(int amount[, string damagetype[, int flags]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict. Default is 'None'.\nflags: DMSS flags."; A_Die = "A_Die[(string damagetype)]"; A_FaceTarget = "A_FaceTarget[(float angle[, float pitch])]"; A_FaceMaster = "A_FaceMaster[(float angle[, float pitch])]"; @@ -418,6 +418,10 @@ constants CLOFF_CHECKPARTIAL; CLOFF_SKIPOBSTACLES; CLOFF_NOAIM; +//A_Damage flags + DMSS_FOILINVUL; + DMSS_AFFECTARMOR; + DMSS_KILL; //A_FireCustomMissile flags FPF_AIMATANGLE; FPF_TRANSFERTRANSLATION; diff --git a/Source/Core/Controls/CheckboxArrayControl.cs b/Source/Core/Controls/CheckboxArrayControl.cs index 7577c66e..6911716a 100644 --- a/Source/Core/Controls/CheckboxArrayControl.cs +++ b/Source/Core/Controls/CheckboxArrayControl.cs @@ -123,6 +123,18 @@ namespace CodeImp.DoomBuilder.Controls } } + //mxd + public void Sort() + { + checkboxes.Sort(CheckboxesComparison); + } + + //mxd + private int CheckboxesComparison(CheckBox cb1, CheckBox cb2) + { + return String.Compare(cb1.Text, cb2.Text, StringComparison.Ordinal); + } + // When layout must change private void CheckboxArrayControl_Layout(object sender, LayoutEventArgs e) { diff --git a/Source/Plugins/BuilderModes/Interface/ErrorCheckForm.Designer.cs b/Source/Plugins/BuilderModes/Interface/ErrorCheckForm.Designer.cs index fef9c33c..1b843fb0 100644 --- a/Source/Plugins/BuilderModes/Interface/ErrorCheckForm.Designer.cs +++ b/Source/Plugins/BuilderModes/Interface/ErrorCheckForm.Designer.cs @@ -52,6 +52,7 @@ namespace CodeImp.DoomBuilder.BuilderModes this.copytoclipboard = new System.Windows.Forms.ToolStripMenuItem(); this.saveFileDialog = new System.Windows.Forms.SaveFileDialog(); this.exportresults = new CodeImp.DoomBuilder.Controls.SplitButton(); + this.toggleall = new System.Windows.Forms.CheckBox(); this.resultcontextmenustrip.SuspendLayout(); this.resultspanel.SuspendLayout(); this.exporttrsultsmenustrip.SuspendLayout(); @@ -64,10 +65,10 @@ namespace CodeImp.DoomBuilder.BuilderModes this.checks.AutoScroll = true; this.checks.AutoSize = true; this.checks.Columns = 2; - this.checks.Location = new System.Drawing.Point(10, 15); + this.checks.Location = new System.Drawing.Point(10, 32); this.checks.Margin = new System.Windows.Forms.Padding(1); this.checks.Name = "checks"; - this.checks.Size = new System.Drawing.Size(360, 63); + this.checks.Size = new System.Drawing.Size(360, 53); this.checks.TabIndex = 0; this.checks.VerticalSpacing = 1; // @@ -113,7 +114,7 @@ namespace CodeImp.DoomBuilder.BuilderModes this.toolStripSeparator1, this.resultcopytoclipboard}); this.resultcontextmenustrip.Name = "resultcontextmenustrip"; - this.resultcontextmenustrip.Size = new System.Drawing.Size(232, 142); + this.resultcontextmenustrip.Size = new System.Drawing.Size(232, 120); this.resultcontextmenustrip.Opening += new System.ComponentModel.CancelEventHandler(this.resultcontextmenustrip_Opening); // // resultshowall @@ -304,6 +305,19 @@ namespace CodeImp.DoomBuilder.BuilderModes this.exportresults.Text = "Export to File"; this.exportresults.UseVisualStyleBackColor = true; // + // toggleall + // + this.toggleall.AutoSize = true; + this.toggleall.Checked = true; + this.toggleall.CheckState = System.Windows.Forms.CheckState.Checked; + this.toggleall.Location = new System.Drawing.Point(10, 12); + this.toggleall.Name = "toggleall"; + this.toggleall.Size = new System.Drawing.Size(71, 18); + this.toggleall.TabIndex = 5; + this.toggleall.Text = "Toggle All"; + this.toggleall.UseVisualStyleBackColor = true; + this.toggleall.CheckedChanged += new System.EventHandler(this.toggleall_CheckedChanged); + // // ErrorCheckForm // this.AcceptButton = this.buttoncheck; @@ -311,6 +325,7 @@ namespace CodeImp.DoomBuilder.BuilderModes this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; this.CancelButton = this.closebutton; this.ClientSize = new System.Drawing.Size(380, 566); + this.Controls.Add(this.toggleall); this.Controls.Add(this.exportresults); this.Controls.Add(this.closebutton); this.Controls.Add(this.resultspanel); @@ -362,5 +377,6 @@ namespace CodeImp.DoomBuilder.BuilderModes private System.Windows.Forms.ToolStripMenuItem resultcopytoclipboard; private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; private System.Windows.Forms.ToolStripMenuItem resulthidecurrent; + private System.Windows.Forms.CheckBox toggleall; } } \ No newline at end of file diff --git a/Source/Plugins/BuilderModes/Interface/ErrorCheckForm.cs b/Source/Plugins/BuilderModes/Interface/ErrorCheckForm.cs index 67bc887c..0b8d4693 100644 --- a/Source/Plugins/BuilderModes/Interface/ErrorCheckForm.cs +++ b/Source/Plugins/BuilderModes/Interface/ErrorCheckForm.cs @@ -88,6 +88,7 @@ namespace CodeImp.DoomBuilder.BuilderModes c.Checked = checkerattr.DefaultChecked; } } + checks.Sort(); //mxd //mxd. Store initial height initialsize = this.Size; @@ -272,7 +273,10 @@ namespace CodeImp.DoomBuilder.BuilderModes } ClearSelectedResult(); - applyToAll = cbApplyToAll.Checked; //mxd + + //mxd. Clear results + resultslist.Clear(); + results.Items.Clear(); this.Hide(); } @@ -401,11 +405,13 @@ namespace CodeImp.DoomBuilder.BuilderModes // Window closing private void ErrorCheckForm_FormClosing(object sender, FormClosingEventArgs e) { - //mxd. Store export mode + //mxd. Store persistent settings exportmode = exportresults.CurrentMenuStripItem; + applyToAll = cbApplyToAll.Checked; - //mxd. Clear stored results + //mxd. Clear results resultslist.Clear(); + results.Items.Clear(); // If the user closes the form, then just cancel the mode if(e.CloseReason == CloseReason.UserClosing) @@ -592,6 +598,12 @@ namespace CodeImp.DoomBuilder.BuilderModes General.Interface.DisplayStatus(StatusType.Info, "Analysis results copied to clipboard."); } + //mxd + private void toggleall_CheckedChanged(object sender, EventArgs e) + { + foreach(CheckBox cb in checks.Checkboxes) cb.Checked = toggleall.Checked; + } + private void ErrorCheckForm_HelpRequested(object sender, HelpEventArgs hlpevent) { General.ShowHelp("e_mapanalysis.html"); diff --git a/Source/Plugins/BuilderModes/Interface/ErrorCheckForm.resx b/Source/Plugins/BuilderModes/Interface/ErrorCheckForm.resx index 7a7cf3ec..e86ef219 100644 --- a/Source/Plugins/BuilderModes/Interface/ErrorCheckForm.resx +++ b/Source/Plugins/BuilderModes/Interface/ErrorCheckForm.resx @@ -117,15 +117,15 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - True - 321, 17 True + + True + True