Added, Find and Replace mode: added usage hints to some search modes.

This commit is contained in:
MaxED 2016-04-18 13:58:08 +00:00
parent 5121619dc1
commit 38105c4b98
12 changed files with 80 additions and 14 deletions

View file

@ -16,6 +16,7 @@
#region ================== Namespaces
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Windows.Forms;
@ -42,6 +43,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
#region ================== Properties
public override Image BrowseImage { get { return Properties.Resources.List_Images; } }
public override string UsageHint { get { return "Supported wildcards:" + Environment.NewLine
+ "* - zero or more characters" + Environment.NewLine
+ "? - one character"; } }
#endregion

View file

@ -43,6 +43,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
#region ================== Properties
public override Image BrowseImage { get { return Properties.Resources.List; } }
public override string UsageHint { get { return "Usage: action [arg1 [arg2 [arg3 [arg4 [arg5]]]]]" + Environment.NewLine
+ "Arg value can be \"*\" (any value)" + Environment.NewLine
+ "Arg1 can be script name when searching for ACS specials"; } }
#endregion

View file

@ -44,6 +44,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
public FindReplaceAttribute Attributes { get { return attribs; } }
public virtual Image BrowseImage { get { return null; } }
public bool AllowDelete { get { return false; } }
public virtual string UsageHint { get { return string.Empty; } } //mxd
public virtual Presentation RenderPresentation { get { return Presentation.Standard; } }
#endregion

View file

@ -16,6 +16,7 @@
#region ================== Namespaces
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Windows.Forms;
@ -41,6 +42,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
#region ================== Properties
public override Image BrowseImage { get { return Properties.Resources.List_Images; } }
public override string UsageHint { get { return "Supported wildcards:" + Environment.NewLine
+ "* - zero or more characters" + Environment.NewLine
+ "? - one character"; } }
#endregion

View file

@ -1,5 +1,6 @@
#region ================== Namespaces
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Drawing;
@ -17,6 +18,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
#region ================== Properties
public override Image BrowseImage { get { return Properties.Resources.List; } }
public override string UsageHint { get { return "Supported wildcards:" + Environment.NewLine
+ "* - zero or more characters;" + Environment.NewLine
+ "? - any char."; } }
#endregion

View file

@ -1,5 +1,6 @@
#region ================== Namespaces
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Drawing;
@ -17,6 +18,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
#region ================== Properties
public override Image BrowseImage { get { return Properties.Resources.List; } }
public override string UsageHint { get { return "Supported wildcards:" + Environment.NewLine
+ "* - zero or more characters;" + Environment.NewLine
+ "? - any char."; } }
#endregion

View file

@ -16,6 +16,7 @@
#region ================== Namespaces
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Windows.Forms;
@ -41,6 +42,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
#region ================== Properties
public override Image BrowseImage { get { return Properties.Resources.List; } }
public override string UsageHint { get { return "Supported wildcards:" + Environment.NewLine
+ "* - zero or more characters" + Environment.NewLine
+ "? - one character"; }}
#endregion

View file

@ -1,5 +1,6 @@
#region ================== Namespaces
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Drawing;
@ -17,6 +18,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
#region ================== Properties
public override Image BrowseImage { get { return Properties.Resources.List; } }
public override string UsageHint { get { return "Supported wildcards:" + Environment.NewLine
+ "* - zero or more characters" + Environment.NewLine
+ "? - one character"; } }
#endregion

View file

@ -45,7 +45,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
public override Presentation RenderPresentation { get { return Presentation.Things; } }
public override Image BrowseImage { get { return Properties.Resources.List; } }
public override string UsageHint { get { return "Usage: action [arg1 [arg2 [arg3 [arg4 [arg5]]]]]" + Environment.NewLine
+ "Arg value can be \"*\" (any value)" + Environment.NewLine
+ "Arg1 can be script name when searching for ACS specials"; } }
#endregion
#region ================== Constructor / Destructor

View file

@ -28,8 +28,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.Windows.Forms.Label label1;
System.Windows.Forms.Label label2;
this.labelfind = new System.Windows.Forms.Label();
this.searchtypes = new System.Windows.Forms.ComboBox();
this.findinput = new CodeImp.DoomBuilder.Controls.AutoSelectTextbox();
this.browsefind = new System.Windows.Forms.Button();
@ -44,8 +45,8 @@ namespace CodeImp.DoomBuilder.BuilderModes
this.deletebutton = new System.Windows.Forms.Button();
this.editbutton = new System.Windows.Forms.Button();
this.doreplace = new System.Windows.Forms.CheckBox();
this.tooltip = new System.Windows.Forms.ToolTip(this.components);
label1 = new System.Windows.Forms.Label();
label2 = new System.Windows.Forms.Label();
this.resultspanel.SuspendLayout();
this.SuspendLayout();
//
@ -58,14 +59,14 @@ namespace CodeImp.DoomBuilder.BuilderModes
label1.TabIndex = 0;
label1.Text = "Search type:";
//
// label2
// labelfind
//
label2.AutoSize = true;
label2.Location = new System.Drawing.Point(47, 51);
label2.Name = "label2";
label2.Size = new System.Drawing.Size(56, 13);
label2.TabIndex = 2;
label2.Text = "Find what:";
this.labelfind.AutoSize = true;
this.labelfind.Location = new System.Drawing.Point(47, 51);
this.labelfind.Name = "labelfind";
this.labelfind.Size = new System.Drawing.Size(56, 13);
this.labelfind.TabIndex = 2;
this.labelfind.Text = "Find what:";
//
// searchtypes
//
@ -219,6 +220,12 @@ namespace CodeImp.DoomBuilder.BuilderModes
this.doreplace.UseVisualStyleBackColor = true;
this.doreplace.CheckedChanged += new System.EventHandler(this.doreplace_CheckedChanged);
//
// tooltip
//
this.tooltip.AutoPopDelay = 10000;
this.tooltip.InitialDelay = 100;
this.tooltip.ReshowDelay = 100;
//
// FindReplaceForm
//
this.AcceptButton = this.findbutton;
@ -234,7 +241,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
this.Controls.Add(this.withinselection);
this.Controls.Add(this.browsefind);
this.Controls.Add(this.findinput);
this.Controls.Add(label2);
this.Controls.Add(this.labelfind);
this.Controls.Add(this.searchtypes);
this.Controls.Add(label1);
this.Controls.Add(this.resultspanel);
@ -274,5 +281,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
private System.Windows.Forms.CheckBox doreplace;
private System.Windows.Forms.Button editbutton;
private System.Windows.Forms.Button deletebutton;
private System.Windows.Forms.ToolTip tooltip;
private System.Windows.Forms.Label labelfind;
}
}

View file

@ -43,6 +43,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
private bool controlpressed;
private bool shiftpressed;
private bool suppressevents;
private Font hintfont; //mxd
#endregion
@ -60,6 +61,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
// Initialize
InitializeComponent();
//mxd. Create hint font
hintfont = new Font(this.Font, FontStyle.Underline);
// Find all find/replace types
Type[] findtypes = BuilderPlug.Me.FindClasses(typeof(FindReplaceType));
findtypeslist = new List<FindReplaceType>(findtypes.Length);
@ -121,6 +125,22 @@ namespace CodeImp.DoomBuilder.BuilderModes
if(!newfinder.CanReplace()) doreplace.Checked = false;
doreplace_CheckedChanged(this, EventArgs.Empty); //mxd. Update the rest of replace controls
doreplace.Enabled = newfinder.CanReplace();
//mxd. Update hint text
if(!string.IsNullOrEmpty(newfinder.UsageHint))
{
tooltip.SetToolTip(labelfind, newfinder.UsageHint);
labelfind.Font = hintfont;
labelfind.ForeColor = SystemColors.HotTrack;
labelfind.Cursor = Cursors.Hand;
}
else if(labelfind.ForeColor == SystemColors.HotTrack)
{
tooltip.SetToolTip(labelfind, string.Empty);
labelfind.Font = this.Font;
labelfind.ForeColor = SystemColors.ControlText;
labelfind.Cursor = Cursors.Default;
}
}
// Browse find button clicked

View file

@ -120,9 +120,6 @@
<metadata name="label1.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label2.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="resultslist.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@ -135,4 +132,13 @@
<metadata name="editbutton.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="deletebutton.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="editbutton.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="tooltip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>