mirror of
https://github.com/jaquadro/NBTExplorer.git
synced 2025-01-09 09:26:25 +00:00
Ready for search and replace beta release (no replace-all yet)
This commit is contained in:
parent
152213e2cf
commit
db1662dc9b
15 changed files with 380 additions and 116 deletions
|
@ -62,12 +62,6 @@ namespace NBTExplorer.Controllers
|
|||
public string VirtualRootDisplay
|
||||
{
|
||||
get { return _rootData.NodeDisplay; }
|
||||
/*set
|
||||
{
|
||||
_rootData.SetDisplayName(value);
|
||||
if (ShowVirtualRoot && _nodeTree.Nodes.Count > 0)
|
||||
UpdateNodeText(_nodeTree.Nodes[0]);
|
||||
}*/
|
||||
}
|
||||
|
||||
public void DeleteSelection ()
|
||||
|
@ -80,25 +74,20 @@ namespace NBTExplorer.Controllers
|
|||
if (node == null || !(node.Tag is SearchRule))
|
||||
return;
|
||||
|
||||
SearchRule dataNode = node.Tag as SearchRule;
|
||||
//if (!dataNode.CanDeleteNode)
|
||||
// return;
|
||||
TreeNode parent = node.Parent;
|
||||
if (parent == null || !(parent.Tag is GroupRule))
|
||||
return;
|
||||
|
||||
/*if (dataNode.DeleteNode()) {
|
||||
UpdateNodeText(node.Parent);
|
||||
node.Remove();
|
||||
GroupRule parentData = parent.Tag as GroupRule;
|
||||
SearchRule nodeData = node.Tag as SearchRule;
|
||||
|
||||
RemoveNodeFromSelection(node);
|
||||
OnSelectionInvalidated();
|
||||
}*/
|
||||
parentData.Rules.Remove(nodeData);
|
||||
parent.Nodes.Remove(node);
|
||||
}
|
||||
|
||||
private TreeNode SelectedNode
|
||||
{
|
||||
get
|
||||
{
|
||||
return _nodeTree.SelectedNode;
|
||||
}
|
||||
get { return _nodeTree.SelectedNode; }
|
||||
}
|
||||
|
||||
private TreeNode CreateIntegralNode<T, K> (string typeName)
|
||||
|
@ -125,6 +114,26 @@ namespace NBTExplorer.Controllers
|
|||
return node;
|
||||
}
|
||||
|
||||
private void EditIntegralNode<T, K> (TreeNode node, T rule, string typeName)
|
||||
where K : TagNode
|
||||
where T : IntegralTagRule<K>
|
||||
{
|
||||
using (ValueRuleForm form = new ValueRuleForm(SearchRule.NumericOpStrings) {
|
||||
Text = "Edit " + typeName + " Tag Rule",
|
||||
TagName = rule.Name,
|
||||
TagValue = rule.Value.ToString(),
|
||||
Operator = rule.Operator,
|
||||
}) {
|
||||
if (form.ShowDialog() == DialogResult.OK) {
|
||||
rule.Name = form.TagName;
|
||||
rule.Value = form.TagValueAsLong;
|
||||
rule.Operator = form.Operator;
|
||||
}
|
||||
}
|
||||
|
||||
node.Text = rule.NodeDisplay;
|
||||
}
|
||||
|
||||
private TreeNode CreateFloatNode<T, K> (string typeName)
|
||||
where K : TagNode
|
||||
where T : FloatTagRule<K>, new()
|
||||
|
@ -149,6 +158,26 @@ namespace NBTExplorer.Controllers
|
|||
return node;
|
||||
}
|
||||
|
||||
private void EditFloatNode<T, K> (TreeNode node, T rule, string typeName)
|
||||
where K : TagNode
|
||||
where T : FloatTagRule<K>
|
||||
{
|
||||
using (ValueRuleForm form = new ValueRuleForm(SearchRule.NumericOpStrings) {
|
||||
Text = "Edit " + typeName + " Tag Rule",
|
||||
TagName = rule.Name,
|
||||
TagValue = rule.Value.ToString(),
|
||||
Operator = rule.Operator,
|
||||
}) {
|
||||
if (form.ShowDialog() == DialogResult.OK) {
|
||||
rule.Name = form.TagName;
|
||||
rule.Value = form.TagValueAsDouble;
|
||||
rule.Operator = form.Operator;
|
||||
}
|
||||
}
|
||||
|
||||
node.Text = rule.NodeDisplay;
|
||||
}
|
||||
|
||||
private TreeNode CreateStringNode (string typeName)
|
||||
{
|
||||
StringTagRule rule = new StringTagRule();
|
||||
|
@ -171,6 +200,24 @@ namespace NBTExplorer.Controllers
|
|||
return node;
|
||||
}
|
||||
|
||||
private void EditStringNode (TreeNode node, StringTagRule rule, string typeName)
|
||||
{
|
||||
using (StringRuleForm form = new StringRuleForm(SearchRule.StringOpStrings) {
|
||||
Text = "Edit " + typeName + " Tag Rule",
|
||||
TagName = rule.Name,
|
||||
TagValue = rule.Value,
|
||||
Operator = rule.Operator,
|
||||
}) {
|
||||
if (form.ShowDialog() == DialogResult.OK) {
|
||||
rule.Name = form.TagName;
|
||||
rule.Value = form.TagValue;
|
||||
rule.Operator = form.Operator;
|
||||
}
|
||||
}
|
||||
|
||||
node.Text = rule.NodeDisplay;
|
||||
}
|
||||
|
||||
private TreeNode CreateWildcardNode (string typeName)
|
||||
{
|
||||
WildcardRule rule = new WildcardRule();
|
||||
|
@ -193,6 +240,24 @@ namespace NBTExplorer.Controllers
|
|||
return node;
|
||||
}
|
||||
|
||||
private void EditWildcardNode (TreeNode node, WildcardRule rule, string typeName)
|
||||
{
|
||||
using (WildcardRuleForm form = new WildcardRuleForm(SearchRule.WildcardOpStrings) {
|
||||
Text = "Edit " + typeName + " Rule",
|
||||
TagName = rule.Name,
|
||||
TagValue = rule.Value,
|
||||
Operator = rule.Operator,
|
||||
}) {
|
||||
if (form.ShowDialog() == DialogResult.OK) {
|
||||
rule.Name = form.TagName;
|
||||
rule.Value = form.TagValue;
|
||||
rule.Operator = form.Operator;
|
||||
}
|
||||
}
|
||||
|
||||
node.Text = rule.NodeDisplay;
|
||||
}
|
||||
|
||||
public void CreateNode (TreeNode node, TagType type)
|
||||
{
|
||||
if (node == null || !(node.Tag is GroupRule))
|
||||
|
@ -231,12 +296,39 @@ namespace NBTExplorer.Controllers
|
|||
|
||||
node.Expand();
|
||||
}
|
||||
}
|
||||
|
||||
/*if (dataNode.CreateNode(type)) {
|
||||
node.Text = dataNode.NodeDisplay;
|
||||
RefreshChildNodes(node, dataNode);
|
||||
OnSelectionInvalidated();
|
||||
}*/
|
||||
public void EditNode (TreeNode node)
|
||||
{
|
||||
if (node == null || !(node.Tag is SearchRule))
|
||||
return;
|
||||
|
||||
SearchRule rule = node.Tag as SearchRule;
|
||||
|
||||
if (rule is ByteTagRule)
|
||||
EditIntegralNode<ByteTagRule, TagNodeByte>(node, rule as ByteTagRule, "Byte");
|
||||
else if (rule is ShortTagRule)
|
||||
EditIntegralNode<ShortTagRule, TagNodeShort>(node, rule as ShortTagRule, "Short");
|
||||
else if (rule is IntTagRule)
|
||||
EditIntegralNode<IntTagRule, TagNodeInt>(node, rule as IntTagRule, "Int");
|
||||
else if (rule is LongTagRule)
|
||||
EditIntegralNode<LongTagRule, TagNodeLong>(node, rule as LongTagRule, "Long");
|
||||
else if (rule is FloatTagRule)
|
||||
EditFloatNode<FloatTagRule, TagNodeFloat>(node, rule as FloatTagRule, "Float");
|
||||
else if (rule is DoubleTagRule)
|
||||
EditFloatNode<DoubleTagRule, TagNodeDouble>(node, rule as DoubleTagRule, "Double");
|
||||
else if (rule is StringTagRule)
|
||||
EditStringNode(node, rule as StringTagRule, "String");
|
||||
else if (rule is WildcardRule)
|
||||
EditWildcardNode(node, rule as WildcardRule, "Wildcard");
|
||||
}
|
||||
|
||||
public void EditSelection ()
|
||||
{
|
||||
if (_nodeTree.SelectedNode == null)
|
||||
return;
|
||||
|
||||
EditNode(_nodeTree.SelectedNode);
|
||||
}
|
||||
|
||||
public void CreateWildcardNode (TreeNode node)
|
||||
|
|
|
@ -41,6 +41,11 @@ namespace NBTExplorer.Model
|
|||
get { return !IsExpanded; }
|
||||
}
|
||||
|
||||
public override string NodePathName
|
||||
{
|
||||
get { return Path.GetFileName(_path); }
|
||||
}
|
||||
|
||||
public override string NodeDisplay
|
||||
{
|
||||
get { return Path.GetFileName(_path); }
|
||||
|
|
|
@ -174,6 +174,22 @@ namespace NBTExplorer.Model
|
|||
get { return ""; }
|
||||
}
|
||||
|
||||
public string NodePath
|
||||
{
|
||||
get {
|
||||
string name = NodePathName;
|
||||
if (string.IsNullOrEmpty(name))
|
||||
name = "*";
|
||||
|
||||
return (Parent != null) ? Parent.NodePath + '/' + name : '/' + name;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual string NodePathName
|
||||
{
|
||||
get { return NodeName; }
|
||||
}
|
||||
|
||||
public virtual string NodeDisplay
|
||||
{
|
||||
get { return ""; }
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
|
||||
namespace NBTExplorer.Model
|
||||
{
|
||||
|
@ -21,6 +22,17 @@ namespace NBTExplorer.Model
|
|||
}
|
||||
}
|
||||
|
||||
public override string NodePathName
|
||||
{
|
||||
get
|
||||
{
|
||||
string name = Path.GetDirectoryName(_path);
|
||||
int sepIndex = Math.Max(name.LastIndexOf('/'), name.LastIndexOf('\\'));
|
||||
|
||||
return (sepIndex > 0) ? name.Substring(sepIndex + 1) : name;
|
||||
}
|
||||
}
|
||||
|
||||
public override string NodeDisplay
|
||||
{
|
||||
get { return Path.GetFileName(_path); }
|
||||
|
|
|
@ -70,6 +70,11 @@ namespace NBTExplorer.Model
|
|||
get { return Path.GetFileName(_path); }
|
||||
}
|
||||
|
||||
public override string NodePathName
|
||||
{
|
||||
get { return Path.GetFileName(_path); }
|
||||
}
|
||||
|
||||
public override string NodeDisplay
|
||||
{
|
||||
get
|
||||
|
|
|
@ -36,6 +36,11 @@ namespace NBTExplorer.Model
|
|||
get { return !IsExpanded; }
|
||||
}
|
||||
|
||||
public override string NodePathName
|
||||
{
|
||||
get { return _x + "." + _z; }
|
||||
}
|
||||
|
||||
public override string NodeDisplay
|
||||
{
|
||||
get { return "Chunk [" + _x + ", " + _z + "]"; }
|
||||
|
|
|
@ -42,6 +42,11 @@ namespace NBTExplorer.Model
|
|||
get { return !IsExpanded; }
|
||||
}
|
||||
|
||||
public override string NodePathName
|
||||
{
|
||||
get { return Path.GetFileName(_path); }
|
||||
}
|
||||
|
||||
public override string NodeDisplay
|
||||
{
|
||||
get { return Path.GetFileName(_path); }
|
||||
|
|
|
@ -170,13 +170,31 @@ namespace NBTExplorer.Model.Search
|
|||
TagDataNode childNode = GetChild(container, Name);
|
||||
T data = LookupTag<T>(container, Name);
|
||||
|
||||
if (data != null && data.ToTagLong() == Value) {
|
||||
if (!matchedNodes.Contains(childNode))
|
||||
matchedNodes.Add(childNode);
|
||||
return true;
|
||||
if (data != null) {
|
||||
switch (Operator) {
|
||||
case NumericOperator.Equals:
|
||||
if (data.ToTagLong() != Value)
|
||||
return false;
|
||||
break;
|
||||
case NumericOperator.NotEquals:
|
||||
if (data.ToTagLong() == Value)
|
||||
return false;
|
||||
break;
|
||||
case NumericOperator.GreaterThan:
|
||||
if (data.ToTagLong() <= Value)
|
||||
return false;
|
||||
break;
|
||||
case NumericOperator.LessThan:
|
||||
if (data.ToTagLong() >= Value)
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
if (!matchedNodes.Contains(childNode))
|
||||
matchedNodes.Add(childNode);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -209,13 +227,31 @@ namespace NBTExplorer.Model.Search
|
|||
TagDataNode childNode = GetChild(container, Name);
|
||||
T data = LookupTag<T>(container, Name);
|
||||
|
||||
if (data != null && data.ToTagDouble() == Value) {
|
||||
if (!matchedNodes.Contains(childNode))
|
||||
matchedNodes.Add(childNode);
|
||||
return true;
|
||||
if (data != null) {
|
||||
switch (Operator) {
|
||||
case NumericOperator.Equals:
|
||||
if (data.ToTagDouble() != Value)
|
||||
return false;
|
||||
break;
|
||||
case NumericOperator.NotEquals:
|
||||
if (data.ToTagDouble() == Value)
|
||||
return false;
|
||||
break;
|
||||
case NumericOperator.GreaterThan:
|
||||
if (data.ToTagDouble() <= Value)
|
||||
return false;
|
||||
break;
|
||||
case NumericOperator.LessThan:
|
||||
if (data.ToTagDouble() >= Value)
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!matchedNodes.Contains(childNode))
|
||||
matchedNodes.Add(childNode);
|
||||
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -241,13 +277,39 @@ namespace NBTExplorer.Model.Search
|
|||
TagDataNode childNode = GetChild(container, Name);
|
||||
TagNodeString data = LookupTag<TagNodeString>(container, Name);
|
||||
|
||||
if (data != null && data.ToTagString() == Value) {
|
||||
if (!matchedNodes.Contains(childNode))
|
||||
matchedNodes.Add(childNode);
|
||||
return true;
|
||||
if (data != null) {
|
||||
switch (Operator) {
|
||||
case StringOperator.Equals:
|
||||
if (data.ToTagString().Data != Value)
|
||||
return false;
|
||||
break;
|
||||
case StringOperator.NotEquals:
|
||||
if (data.ToTagString().Data == Value)
|
||||
return false;
|
||||
break;
|
||||
case StringOperator.Contains:
|
||||
if (!data.ToTagString().Data.Contains(Value))
|
||||
return false;
|
||||
break;
|
||||
case StringOperator.NotContains:
|
||||
if (data.ToTagString().Data.Contains(Value))
|
||||
return false;
|
||||
break;
|
||||
case StringOperator.StartsWith:
|
||||
if (!data.ToTagString().Data.StartsWith(Value))
|
||||
return false;
|
||||
break;
|
||||
case StringOperator.EndsWith:
|
||||
if (!data.ToTagString().Data.EndsWith(Value))
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
if (!matchedNodes.Contains(childNode))
|
||||
matchedNodes.Add(childNode);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -276,27 +338,51 @@ namespace NBTExplorer.Model.Search
|
|||
case TagType.TAG_INT:
|
||||
case TagType.TAG_LONG:
|
||||
case TagType.TAG_SHORT:
|
||||
if (long.Parse(Value) == tag.ToTagLong()) {
|
||||
if (!matchedNodes.Contains(childNode))
|
||||
matchedNodes.Add(childNode);
|
||||
return true;
|
||||
switch (Operator) {
|
||||
case WildcardOperator.Equals:
|
||||
if (long.Parse(Value) != tag.ToTagLong())
|
||||
return false;
|
||||
break;
|
||||
case WildcardOperator.NotEquals:
|
||||
if (long.Parse(Value) == tag.ToTagLong())
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
if (!matchedNodes.Contains(childNode))
|
||||
matchedNodes.Add(childNode);
|
||||
return true;
|
||||
case TagType.TAG_FLOAT:
|
||||
case TagType.TAG_DOUBLE:
|
||||
if (double.Parse(Value) == tag.ToTagDouble()) {
|
||||
if (!matchedNodes.Contains(childNode))
|
||||
matchedNodes.Add(childNode);
|
||||
return true;
|
||||
switch (Operator) {
|
||||
case WildcardOperator.Equals:
|
||||
if (double.Parse(Value) != tag.ToTagDouble())
|
||||
return false;
|
||||
break;
|
||||
case WildcardOperator.NotEquals:
|
||||
if (double.Parse(Value) == tag.ToTagDouble())
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
if (!matchedNodes.Contains(childNode))
|
||||
matchedNodes.Add(childNode);
|
||||
return true;
|
||||
case TagType.TAG_STRING:
|
||||
if (Value == tag.ToTagString()) {
|
||||
if (!matchedNodes.Contains(childNode))
|
||||
matchedNodes.Add(childNode);
|
||||
return true;
|
||||
switch (Operator) {
|
||||
case WildcardOperator.Equals:
|
||||
if (Value != tag.ToTagString().Data)
|
||||
return false;
|
||||
break;
|
||||
case WildcardOperator.NotEquals:
|
||||
if (Value == tag.ToTagString().Data)
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
if (!matchedNodes.Contains(childNode))
|
||||
matchedNodes.Add(childNode);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
|
|
|
@ -194,6 +194,20 @@ namespace NBTExplorer.Model
|
|||
}
|
||||
}
|
||||
|
||||
public override string NodePathName
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Parent is TagDataNode.Container) {
|
||||
TagDataNode.Container container = Parent as TagDataNode.Container;
|
||||
if (container.IsOrderedContainer)
|
||||
return container.OrderedTagContainer.GetTagIndex(Tag).ToString();
|
||||
}
|
||||
|
||||
return base.NodePathName;
|
||||
}
|
||||
}
|
||||
|
||||
protected string NodeDisplayPrefix
|
||||
{
|
||||
get
|
||||
|
|
|
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("2.4.0.0")]
|
||||
[assembly: AssemblyFileVersion("2.4.0.0")]
|
||||
[assembly: AssemblyVersion("2.5.0.0")]
|
||||
[assembly: AssemblyFileVersion("2.5.0.0")]
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using NBTExplorer.Model;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace NBTExplorer
|
||||
{
|
||||
|
@ -11,6 +12,8 @@ namespace NBTExplorer
|
|||
IEnumerator<DataNode> State { get; set; }
|
||||
bool TerminateOnDiscover { get; set; }
|
||||
|
||||
float ProgressRate { get; set; }
|
||||
|
||||
void InvokeDiscoverCallback (DataNode node);
|
||||
void InvokeProgressCallback (DataNode node);
|
||||
void InvokeCollapseCallback (DataNode node);
|
||||
|
@ -27,6 +30,7 @@ namespace NBTExplorer
|
|||
public DataNode RootNode { get; set; }
|
||||
public IEnumerator<DataNode> State { get; set; }
|
||||
public bool TerminateOnDiscover { get; set; }
|
||||
public float ProgressRate { get; set; }
|
||||
|
||||
public abstract void InvokeDiscoverCallback (DataNode node);
|
||||
public abstract void InvokeProgressCallback (DataNode node);
|
||||
|
@ -36,6 +40,7 @@ namespace NBTExplorer
|
|||
protected NameValueSearchState ()
|
||||
{
|
||||
TerminateOnDiscover = true;
|
||||
ProgressRate = .5f;
|
||||
}
|
||||
|
||||
public bool TestNode (DataNode node)
|
||||
|
@ -68,6 +73,10 @@ namespace NBTExplorer
|
|||
private bool _cancel;
|
||||
private object _lock;
|
||||
|
||||
private Stopwatch _progressWatch;
|
||||
private float _progressTime;
|
||||
private float _lastSampleTime;
|
||||
|
||||
public SearchWorker (ISearchState state)
|
||||
{
|
||||
_state = state;
|
||||
|
@ -83,11 +92,16 @@ namespace NBTExplorer
|
|||
|
||||
public void Run ()
|
||||
{
|
||||
_progressWatch = new Stopwatch();
|
||||
_progressWatch.Start();
|
||||
|
||||
if (_state.State == null)
|
||||
_state.State = FindNode(_state.RootNode).GetEnumerator();
|
||||
|
||||
if (!_state.State.MoveNext())
|
||||
InvokeEndCallback();
|
||||
|
||||
_progressWatch.Stop();
|
||||
}
|
||||
|
||||
private IEnumerable<DataNode> FindNode (DataNode node)
|
||||
|
@ -108,7 +122,14 @@ namespace NBTExplorer
|
|||
|
||||
TagDataNode tagNode = node as TagDataNode;
|
||||
if (tagNode != null) {
|
||||
InvokeProgressCallback(node);
|
||||
float currentSampleTime = (float)_progressWatch.Elapsed.TotalSeconds;
|
||||
_progressTime += (currentSampleTime - _lastSampleTime);
|
||||
_lastSampleTime = currentSampleTime;
|
||||
|
||||
if (_progressTime > _state.ProgressRate) {
|
||||
InvokeProgressCallback(node);
|
||||
_progressTime -= _state.ProgressRate;
|
||||
}
|
||||
|
||||
if (_state.TestNode(tagNode)) {
|
||||
InvokeDiscoverCallback(node);
|
||||
|
|
7
Windows/CancelSearchForm.Designer.cs
generated
7
Windows/CancelSearchForm.Designer.cs
generated
|
@ -34,7 +34,7 @@
|
|||
// _buttonCancel
|
||||
//
|
||||
this._buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this._buttonCancel.Location = new System.Drawing.Point(167, 57);
|
||||
this._buttonCancel.Location = new System.Drawing.Point(232, 45);
|
||||
this._buttonCancel.Name = "_buttonCancel";
|
||||
this._buttonCancel.Size = new System.Drawing.Size(75, 23);
|
||||
this._buttonCancel.TabIndex = 0;
|
||||
|
@ -45,17 +45,16 @@
|
|||
//
|
||||
this._searchPathLabel.Location = new System.Drawing.Point(12, 19);
|
||||
this._searchPathLabel.Name = "_searchPathLabel";
|
||||
this._searchPathLabel.Size = new System.Drawing.Size(385, 23);
|
||||
this._searchPathLabel.Size = new System.Drawing.Size(514, 23);
|
||||
this._searchPathLabel.TabIndex = 1;
|
||||
this._searchPathLabel.Text = "...";
|
||||
this._searchPathLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// CancelSearchForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.CancelButton = this._buttonCancel;
|
||||
this.ClientSize = new System.Drawing.Size(409, 92);
|
||||
this.ClientSize = new System.Drawing.Size(538, 84);
|
||||
this.Controls.Add(this._searchPathLabel);
|
||||
this.Controls.Add(this._buttonCancel);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
|
|
32
Windows/FindReplace.Designer.cs
generated
32
Windows/FindReplace.Designer.cs
generated
|
@ -171,7 +171,7 @@
|
|||
this._tbFindEdit.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this._tbFindEdit.Name = "_tbFindEdit";
|
||||
this._tbFindEdit.Size = new System.Drawing.Size(23, 22);
|
||||
this._tbFindEdit.Text = "toolStripButton1";
|
||||
this._tbFindEdit.Text = "Edit Selected Rule";
|
||||
this._tbFindEdit.Click += new System.EventHandler(this._tbFindEdit_Click);
|
||||
//
|
||||
// _tbFindDelete
|
||||
|
@ -181,7 +181,7 @@
|
|||
this._tbFindDelete.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this._tbFindDelete.Name = "_tbFindDelete";
|
||||
this._tbFindDelete.Size = new System.Drawing.Size(23, 22);
|
||||
this._tbFindDelete.Text = "toolStripButton1";
|
||||
this._tbFindDelete.Text = "Delete Selected Rule";
|
||||
this._tbFindDelete.Click += new System.EventHandler(this._tbFindDelete_Click);
|
||||
//
|
||||
// toolStripSeparator1
|
||||
|
@ -364,7 +364,7 @@
|
|||
this._tbReplaceEdit.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this._tbReplaceEdit.Name = "_tbReplaceEdit";
|
||||
this._tbReplaceEdit.Size = new System.Drawing.Size(23, 22);
|
||||
this._tbReplaceEdit.Text = "toolStripButton1";
|
||||
this._tbReplaceEdit.Text = "Edit Selected Tag";
|
||||
this._tbReplaceEdit.Click += new System.EventHandler(this._tbReplaceEdit_Click);
|
||||
//
|
||||
// _tbReplaceDelete
|
||||
|
@ -374,7 +374,7 @@
|
|||
this._tbReplaceDelete.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this._tbReplaceDelete.Name = "_tbReplaceDelete";
|
||||
this._tbReplaceDelete.Size = new System.Drawing.Size(23, 22);
|
||||
this._tbReplaceDelete.Text = "toolStripButton2";
|
||||
this._tbReplaceDelete.Text = "Delete Selected Tag";
|
||||
this._tbReplaceDelete.Click += new System.EventHandler(this._tbReplaceDelete_Click);
|
||||
//
|
||||
// toolStripSeparator2
|
||||
|
@ -389,7 +389,7 @@
|
|||
this._tbReplaceByte.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this._tbReplaceByte.Name = "_tbReplaceByte";
|
||||
this._tbReplaceByte.Size = new System.Drawing.Size(23, 22);
|
||||
this._tbReplaceByte.Text = "toolStripButton11";
|
||||
this._tbReplaceByte.Text = "Add Byte Tag";
|
||||
this._tbReplaceByte.Click += new System.EventHandler(this._tbReplaceByte_Click);
|
||||
//
|
||||
// _tbReplaceShort
|
||||
|
@ -399,7 +399,7 @@
|
|||
this._tbReplaceShort.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this._tbReplaceShort.Name = "_tbReplaceShort";
|
||||
this._tbReplaceShort.Size = new System.Drawing.Size(23, 22);
|
||||
this._tbReplaceShort.Text = "toolStripButton12";
|
||||
this._tbReplaceShort.Text = "Add Short Tag";
|
||||
this._tbReplaceShort.Click += new System.EventHandler(this._tbReplaceShort_Click);
|
||||
//
|
||||
// _tbReplaceInt
|
||||
|
@ -409,7 +409,7 @@
|
|||
this._tbReplaceInt.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this._tbReplaceInt.Name = "_tbReplaceInt";
|
||||
this._tbReplaceInt.Size = new System.Drawing.Size(23, 22);
|
||||
this._tbReplaceInt.Text = "toolStripButton13";
|
||||
this._tbReplaceInt.Text = "Add Int Tag";
|
||||
this._tbReplaceInt.Click += new System.EventHandler(this._tbReplaceInt_Click);
|
||||
//
|
||||
// _tbReplaceLong
|
||||
|
@ -419,7 +419,7 @@
|
|||
this._tbReplaceLong.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this._tbReplaceLong.Name = "_tbReplaceLong";
|
||||
this._tbReplaceLong.Size = new System.Drawing.Size(23, 22);
|
||||
this._tbReplaceLong.Text = "toolStripButton14";
|
||||
this._tbReplaceLong.Text = "Add Long Tag";
|
||||
this._tbReplaceLong.Click += new System.EventHandler(this._tbReplaceLong_Click);
|
||||
//
|
||||
// _tbReplaceFloat
|
||||
|
@ -429,7 +429,7 @@
|
|||
this._tbReplaceFloat.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this._tbReplaceFloat.Name = "_tbReplaceFloat";
|
||||
this._tbReplaceFloat.Size = new System.Drawing.Size(23, 22);
|
||||
this._tbReplaceFloat.Text = "toolStripButton15";
|
||||
this._tbReplaceFloat.Text = "Add Float Tag";
|
||||
this._tbReplaceFloat.Click += new System.EventHandler(this._tbReplaceFloat_Click);
|
||||
//
|
||||
// _tbReplaceDouble
|
||||
|
@ -439,7 +439,7 @@
|
|||
this._tbReplaceDouble.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this._tbReplaceDouble.Name = "_tbReplaceDouble";
|
||||
this._tbReplaceDouble.Size = new System.Drawing.Size(23, 22);
|
||||
this._tbReplaceDouble.Text = "toolStripButton16";
|
||||
this._tbReplaceDouble.Text = "Add Double Tag";
|
||||
this._tbReplaceDouble.Click += new System.EventHandler(this._tbReplaceDouble_Click);
|
||||
//
|
||||
// _tbReplaceByteArray
|
||||
|
@ -449,7 +449,7 @@
|
|||
this._tbReplaceByteArray.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this._tbReplaceByteArray.Name = "_tbReplaceByteArray";
|
||||
this._tbReplaceByteArray.Size = new System.Drawing.Size(23, 22);
|
||||
this._tbReplaceByteArray.Text = "toolStripButton17";
|
||||
this._tbReplaceByteArray.Text = "Add Byte Array Tag";
|
||||
this._tbReplaceByteArray.Click += new System.EventHandler(this._tbReplaceByteArray_Click);
|
||||
//
|
||||
// _tbReplaceIntArray
|
||||
|
@ -459,7 +459,7 @@
|
|||
this._tbReplaceIntArray.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this._tbReplaceIntArray.Name = "_tbReplaceIntArray";
|
||||
this._tbReplaceIntArray.Size = new System.Drawing.Size(23, 22);
|
||||
this._tbReplaceIntArray.Text = "toolStripButton18";
|
||||
this._tbReplaceIntArray.Text = "Add Int Array Tag";
|
||||
this._tbReplaceIntArray.Click += new System.EventHandler(this._tbReplaceIntArray_Click);
|
||||
//
|
||||
// _tbReplaceString
|
||||
|
@ -469,7 +469,7 @@
|
|||
this._tbReplaceString.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this._tbReplaceString.Name = "_tbReplaceString";
|
||||
this._tbReplaceString.Size = new System.Drawing.Size(23, 22);
|
||||
this._tbReplaceString.Text = "toolStripButton19";
|
||||
this._tbReplaceString.Text = "Add String Tag";
|
||||
this._tbReplaceString.Click += new System.EventHandler(this._tbReplaceString_Click);
|
||||
//
|
||||
// _tbReplaceList
|
||||
|
@ -479,7 +479,7 @@
|
|||
this._tbReplaceList.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this._tbReplaceList.Name = "_tbReplaceList";
|
||||
this._tbReplaceList.Size = new System.Drawing.Size(23, 22);
|
||||
this._tbReplaceList.Text = "toolStripButton20";
|
||||
this._tbReplaceList.Text = "Add List Tag";
|
||||
this._tbReplaceList.Click += new System.EventHandler(this._tbReplaceList_Click);
|
||||
//
|
||||
// _tbReplaceCompound
|
||||
|
@ -489,7 +489,7 @@
|
|||
this._tbReplaceCompound.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this._tbReplaceCompound.Name = "_tbReplaceCompound";
|
||||
this._tbReplaceCompound.Size = new System.Drawing.Size(23, 22);
|
||||
this._tbReplaceCompound.Text = "toolStripButton21";
|
||||
this._tbReplaceCompound.Text = "Add Compound Tag";
|
||||
this._tbReplaceCompound.Click += new System.EventHandler(this._tbReplaceCompound_Click);
|
||||
//
|
||||
// _buttonFind
|
||||
|
@ -549,7 +549,7 @@
|
|||
this.Controls.Add(this.groupBox2);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Name = "FindReplace";
|
||||
this.Text = "Replace";
|
||||
this.Text = "Find and Replace";
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
|
|
|
@ -239,8 +239,10 @@ namespace NBTExplorer.Windows
|
|||
|
||||
private void SearchProgressCallback (DataNode node)
|
||||
{
|
||||
if (node is TagCompoundDataNode && !string.IsNullOrEmpty(node.NodeName) && node.NodeName != _searchForm.SearchPathLabel)
|
||||
_searchForm.SearchPathLabel = node.NodeName;
|
||||
try {
|
||||
_searchForm.SearchPathLabel = node.NodePath;
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
private void SearchCollapseCallback (DataNode node)
|
||||
|
@ -296,7 +298,7 @@ namespace NBTExplorer.Windows
|
|||
|
||||
private void _tbFindEdit_Click (object sender, EventArgs e)
|
||||
{
|
||||
//_findController.EditSelection();
|
||||
_findController.EditSelection();
|
||||
}
|
||||
|
||||
private void _tbReplaceEdit_Click (object sender, EventArgs e)
|
||||
|
@ -312,6 +314,7 @@ namespace NBTExplorer.Windows
|
|||
public DataNode RootNode { get; set; }
|
||||
public IEnumerator<DataNode> State { get; set; }
|
||||
public bool TerminateOnDiscover { get; set; }
|
||||
public float ProgressRate { get; set; }
|
||||
|
||||
public abstract void InvokeDiscoverCallback (DataNode node);
|
||||
public abstract void InvokeProgressCallback (DataNode node);
|
||||
|
@ -321,6 +324,7 @@ namespace NBTExplorer.Windows
|
|||
protected ContainerRuleSearchState ()
|
||||
{
|
||||
TerminateOnDiscover = true;
|
||||
ProgressRate = .5f;
|
||||
}
|
||||
|
||||
public bool TestNode (DataNode node)
|
||||
|
|
|
@ -125,7 +125,7 @@
|
|||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABA
|
||||
QgAAAk1TRnQBSQFMAgEBFAEAAYABAQGAAQEBEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
QgAAAk1TRnQBSQFMAgEBFAEAAZABAQGQAQEBEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
AwABYAMAAQEBAAEYBgABSP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AOEAA/8D/AP6GPgD+QP6A/wMAAP9
|
||||
A/oS+AP5A/0D/2kAA/4D+QPxAboBogGKAbYBhgFWAbYBhgFWAbYBhgFWAbYBhgFWAbYBhgFWAbYBhgFW
|
||||
AbYBhgFWAbYBhgFWAbwBpAGNA/cMAAP8A/YD8wG8AcoBzQFVAZUBowFVAZUBowHQAdcB2QPzA/UD+wP/
|
||||
|
@ -443,48 +443,48 @@
|
|||
<data name="_tbFindGroupAnd.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJPSURBVDhPzZHdT1JxHMbPqqsuwpdq5kVrqzbW9CZj66Ju
|
||||
aulFW671MtpSt9asxVbhAnux0JqzQHtBXhrDpqYlCIOAwh0MY6EhGWVFih4EPIAIaoJRN110Hjpt/Qf1
|
||||
2z473z3P89nYIP6fV1bv4OwUk7uZb2XZZfIEvhWS8UPg74zdcFjt92OCzRW3hqr6hmlVOPV9IJX+4esd
|
||||
XHKfbqHTADcydNhgC+ePzDnQ6KzxR9KGyELWGUpmyeGPSx5+A5VRGOcjADcydNhgCyf3S0ovWvc+ds2o
|
||||
mNJBzWXsM8nsoED2KXRBOpnocXz9AnAjQ4cNtnDgEtzzZv5ENGP7zBKczw6VHran73THJ+4bU+7mJ0nH
|
||||
dU3oLY9vWbb54u09r8PNRg/dOhJY6IZLcAWmWirxzfUhvGwCk3SG3Lan/2ebPuW61hG3AJk+9QqZdSz2
|
||||
UElSN1QDlOTFuzkNXGLrGX31WHDRPDq9aLC/T2hN3piae9CYFslD3nptzApwI9OP0Ip7zwONwOChlXCJ
|
||||
Laeelj+w+TVmL62VWQI31WRQWil0Tx0R+2avdkTtADcydNJngSaFffq2pM93Fy5RXNVVWCLQ1XU5qfY2
|
||||
a6Clqd/f2GqgdLyToysieXQc4EaGDhtsd5zTCeHm/srC8ivc7bW9InGnR/7IGVQb3sx2ihRTL3k1oRWA
|
||||
Gxk6bLCFk5OZt5ph/Zqikl15+y9V5x9V1hUc1zQUHFMLi/ZJzgLcyNBhgy0c1iVWMaxlg2KGTQwbGPIY
|
||||
1rHkM2xkQIcNtnDg/tNHEL8AacmTsOs1fTEAAAAASUVORK5CYII=
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJPSURBVDhPzZHdT1JxHMbPqqsuwpdq5kVrqzbW9CZja23d
|
||||
1NKLtlzrZbSlbq1Zi63CBfZioTVngfaCvDSGTU1LEAYBhTsYxkJDMsqKFD0IeAAR1ASjbrroPHTa+g/q
|
||||
t312vnue57OxQfw/r6zewdkpJncz38qyy+QJfCsk44fA3xm74bDa78cEmytuDVX1DdOqcOr7QCr9w9c7
|
||||
uOQ+3UKnAW5k6LDBFs4fmXOg0Vnjj6QNkYWsM5TMksMflzz8BiqjMM5HAG5k6LDBFk7ul5RetO597JpR
|
||||
MaWDmsvYZ5LZQYHsU+iCdDLR4/j6BeBGhg4bbOHAJbjnzfyJaMb2mSU4nx0qPWxP3+mOT9w3ptzNT5KO
|
||||
65rQWx7fsmzzxdt7XoebjR66dSSw0A2X4ApMtVTim+tDeNkEJukMuW1P/882fcp1rSNuATJ96hUy61js
|
||||
oZKkbqgGKMmLd3MauMTWM/rqseCieXR60WB/n9CavDE196AxLZKHvPXamBXgRqYfoRX3ngcagcFDK+ES
|
||||
W049LX9g82vMXlorswRuqsmgtFLonjoi9s1e7YjaAW5k6KTPAk0K+/RtSZ/vLlyiuKqrsESgq+tyUu1t
|
||||
1kBLU7+/sdVA6XgnR1dE8ug4wI0MHTbY7jinE8LN/ZWF5Ve422t7ReJOj/yRM6g2vJntFCmmXvJqQisA
|
||||
NzJ02GALJyczbzXD+jVFJbvy9l+qzj+qrCs4rmkoOKYWFu2TnAW4kaHDBls4rEusYljLBsUMmxg2MOQx
|
||||
rGPJZ9jIgA4bbOHA/aePIH4BYSWTrEIU7H8AAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="_tbFindGroupOr.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAI8SURBVDhPzZHda1JxHMYPdddFFLRgXUaEsCC6ChYRvSBR
|
||||
xECL3HpjtIvAQcTSkTIqp1bOjS5qDFNn5k6ohKRuNmfbXNpYLI6Wc6eV6RHPyzwObZdedR4zor+gfvDh
|
||||
PDzf53N1iP/nXTOJsh6j6Lw+KOY777J1fHuMFTf4uxOd2Da1X+/inbyiS8fwOluZfxasfPO//VF84Bap
|
||||
S4ZCGiCjww0bbOE0ZHnvsuzcTYq3kOUcGd2kPbFq1jVdXem25AKOcC0DkNHhhg22cOAS7V3zTrWR5j0z
|
||||
1eyLaC1Dxqqr/TZm1ujhkugAMjrcsEEHBy7RdjaYHya5Ndeb2ifgiW1+URlXQ/bXFerxKzFhIsszVq+w
|
||||
cN6wEhzyrs8a3MKU2VOODo4zKbhEq9xfHw9vfLVPVijgjlSzZ3SpwLBPjOsdXBAM+cR5dFbvn+4hySfg
|
||||
EntP+vNmF0OPBjY+Wn1i4hEpxpX3Pk+aSCHeb2dDALnRTazP/e76nuSX4BL7T085L+vTnOVl+Z3GxoYH
|
||||
nPz0jZG12K2nuTmdoxQByOhw046xIXQXNKkCXOKAIik7pFwSeq0MpbWVIn1jxZDBxS10DKQj911cEiCj
|
||||
w01rL0WwPdiR4OE2fmXbqeeKI1dooVPPMLdHSx/ME+yieuT78gl1hgbI6DTSDRts4TRk6W2V2NWyTyk/
|
||||
rHzvP9bNMMdVbP3o1WKhXUX5ADI63LDBFk7TJbZIbGsWeyRaJVokdkhsb7JTYrcEbthgCwfuP30E8RMF
|
||||
76m+HADFNQAAAABJRU5ErkJggg==
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAI+SURBVDhPzZHvaxJxHMePetaDKGjBehgRwoLoUbCI6AcS
|
||||
jRhotbV+MdqDwEHE0pEyKqdWzo0e1Bimt8vchUpI6mZzts2lxWJxupyzlemJd+c8h7aHPureZkR/QX3h
|
||||
xb15f96vR0f8P++aUZT1GETy+qCY7bjL1fDtMZQd4O9OJLFtaL9ex52sokvLClprSXjmK3/zvP2Rf+AQ
|
||||
mUv6XAIgo8MNG2zh1GV575Ls7E1GMNOlDB3aTDvDlRQ1XVnpNme89kA1CZDR4YYNtnDgEq1d86TKkBac
|
||||
M5XUi1A1SYcrq/1Wdtbg5GPoADI63LBBBwcu0dLmyw7T/Br1proMnOHNL52GVb/tdZl5/EqMGunSjMVV
|
||||
XDinX/ENudZn9Y7ilMlZCg2Os3G4RLPcUxsPbHy1TZYZ4AhWUme0ce+wW4zo7LwPDLnFeXQW15/uIS1E
|
||||
4RJ7T3qyJopNj3o3PlncYvQRLUaU9z5PGulipN/G+QFyvZtYn/vd9T3JLsIl9p+eIi/rErz5Zemd2soF
|
||||
Bkhh+sbIWvjW08yc1l4IAmR0uGnGOD+68+p4Di5xQBGTHVIuFnstLKOxFoJ9Y3m/nuIX2gcSwfsUHwPI
|
||||
6HDT2ApBbA+2RwW49V/Zcuq54siVdPGijmVvjxY+mia4D6qR70snVMk0QEanlm7YYAunLktvq8Supn1K
|
||||
+WHle8+xbpY9foGrHb2az7V2Mm6AjA43bLCF03CJLRLbGsUeiWaJJokdEtsb7JTYLYEbNtjCgftPH0H8
|
||||
BPSUqbbrmUHrAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="_tbFindAny.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIHSURBVDhPY6AZ2LWY2XnXYsa9ILxzMVM8VBg/2DKfQQLK
|
||||
ZNg2j3Hf+9f93z8+7v2zbQHjLqgwihoUsHEOU8KmuYz7Ns1lXr5xNrMHiP373cz/r27m/UWIMS8HiYPU
|
||||
QrUhwIaZjPu/v5r8//3D9u8HN+ieB/G/vej///JM9I91MxlXH1yjc/7tlYbvX551/QfJQbUhwOrJTAfu
|
||||
ZNg2j3Hf+9f9398/7P6zbQHjLqgwihoUsHEOU8KmuYz7Ns1lXr5xNrMHiP373cz/L67n/EWIMS8HiYPU
|
||||
QrUhwIaZjPu/v5r8//3D9u8HN+ieB/G/vej///JU9I91MxlXH1yjc/7tpYbvX551/QfJQbUhwOrJTAfu
|
||||
nwj/8fRK4v9Xt4r/71+lceH9w+b/t08GftoHZL+8WfAfJAdSA1IL1YYAyycyWC3vZ1y5Z4XyzZPbLF48
|
||||
upT6H4TvnA7+//Bi8n+QGEgOpAakFqoNEyzsYnZZ0M106PAmqw/Xjnr8B2EQGyQGkoMqwwSzWxms57Qx
|
||||
rt6x0ujmyc32L68cdvkPwjdO+IPpY5utX+5YonUTpAakFqoNAabWMx25eyL6x62T3v+vH3P5v3SS8OWT
|
||||
W0w/3zsXBmaDxG6c8Ph/+qjPD5BaqDYE6KtgOnrntMv/E4fMfizqFrrSX8m44dRhsx/3zwf+B8mBxEBy
|
||||
IDUgPlQbArQXMKS05DCeaMllXA9ke4Poq0fs/z694vMfJA4Tg7JToNpQgZUhgxSUyVCZzHjs1kn7v3cP
|
||||
2P+sTGI8BRVGUYMN8AKxIhCr+9kzVNRlclwAYXsThkSQGBArA7EAEDMCMVbAAcRiQAyyBRsWB2IuIMZp
|
||||
AImAgQEAGUocntp9HGkAAAAASUVORK5CYII=
|
||||
W0w/3zsXBmaDxG6c8Ph/8qjPD5BaqDYE6KtgOnrntMv/E4fMfizqFrrSX8m44cRhsx/3zwf+B8mBxEBy
|
||||
IDUgPlQbArQXMKS05DCeaMllXA9ke4Poy4fs/z694vMfJA4Tg7JToNpQgZUhgxSUyVCZzHjsxnH7v3f3
|
||||
2/+sTGI8BRVGUYMN8AKxIhCr+9kzVNRlclwAYXsThkSQGBArA7EAEDMCMVbAAcRiQAyyBRsWB2IuIMZp
|
||||
AImAgQEA1wkcgSmiF0cAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="_tbFindByte.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
|
@ -733,13 +733,13 @@
|
|||
<data name="_tbReplaceCompound.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFzSURBVDhPrdFPRINxHMfx7+MZHTtGhy6dOqfrFKOS0qGS
|
||||
Sf8oIx1SjCbbOtRSJLaU0Q6tjU0zno3ZypJFZZJuHWaLipKVRnTIr33m9/w8z+2Zenh7+P0+r+fy0L88
|
||||
WSeZstMm29mUvKnmNFNem/YOWxjOiU7HG1qvHW1H7ycbrJzx1PLbOnSp59hgC8M5UXpS7r739uW0Hwgv
|
||||
dYmCC2bdB7CF4ZwoNWGaL4bmSs+Ki6kl3AOimKNHnCNsYTgnSo7Jvspt+IcVIkytELGL8vuz4hxhC8M5
|
||||
kWKV977vAqxy6RNlPMMixdWvu8MWhnOiuFX2f9342UduRwQYsVtq79Bip+4OWxjOiaKjcuDzape9ZbdE
|
||||
wNq3NmxhOCcKj8iH5fNt9pJeNxS2MJwTBYek0Gv1Fz0lVw2FLQznRIFBKfqYcLOH+IqhsIXhnMjbK6VK
|
||||
MQcrHi8bClsYzqllpl06WLNIF/UEA4sPNFZrqtZcZzCwf3mIfgFEYd2QbOcxhgAAAABJRU5ErkJggg==
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFySURBVDhPrdE/SAJhHMbx33FCY2PQ0NLUHK1SIFRE0VAR
|
||||
Ev2DQoiGKBCSUBvKKIhAoxByyE5QEkEF0cIIgwpxaGsQDSoowv5B0BBvPvLey912UgdfDt73+dxy9C9P
|
||||
1kmm7LTJdjYlb6o5zZTXpr3DFoZzotPxhtZrR9vR68kGq2Q8tfy2Dl3qOTbYwnBOlJ6Uu2+9fTntB0JL
|
||||
XaLggln3AWxhOCdKTZjmS8pc+THuYmoJ94Ao6ugR5whbGM6JkmOy770Q+mHFMFMrhu2i/P6sOEfYwnBO
|
||||
FLfKe983AfZ56RNlPMOiuKtfd4ctDOdEMavs/yr42VtuRwQYtltqb2WxU3eHLQznRJFROfBxtcteslsi
|
||||
YO1bG7YwnBOFRuTDyvk2e0qvGwpbGM6JgkOS8lz9RQ/JVUNhC8M5UWBQitwn3OwutmIobGE4J/L2Sqly
|
||||
1MFKx8uGwhaGc2qZaZcO1izSRT3BwOIDjdWaqjXXGQzsXx6iXy8F3Ygxdd78AAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
Loading…
Reference in a new issue