Replace form progress

This commit is contained in:
Justin Aquadro 2012-11-20 01:02:35 -05:00
parent 1aea80c7fd
commit d0f125632f
15 changed files with 2030 additions and 1413 deletions

View file

@ -5,24 +5,152 @@ using System.Windows.Forms;
using NBTExplorer.Model;
using Substrate.Nbt;
using NBTExplorer.Windows;
using NBTExplorer.Vendor.MultiSelectTreeView;
using System.IO;
namespace NBTExplorer.Controllers
{
public class MessageBoxEventArgs : EventArgs
{
public bool Cancel { get; set; }
public string Message { get; set; }
public MessageBoxEventArgs (string message)
{
Message = message;
}
}
public class NodeTreeController
{
private TreeView _nodeTree;
private MultiSelectTreeView _multiTree;
private IconRegistry _iconRegistry;
private TagCompoundDataNode _rootData;
//private TagCompoundDataNode _rootData;
private RootDataNode _rootData;
public NodeTreeController (TreeView nodeTree)
{
_nodeTree = nodeTree;
InitializeIconRegistry();
_multiTree = nodeTree as MultiSelectTreeView;
_rootData = new TagCompoundDataNode(new TagNodeCompound());
InitializeIconRegistry();
ShowVirtualRoot = true;
//_rootData = new TagCompoundDataNode(new TagNodeCompound());
_rootData = new RootDataNode();
RefreshRootNodes();
}
public RootDataNode Root
{
get { return _rootData; }
}
public TreeView Tree
{
get { return _nodeTree; }
}
public bool ShowVirtualRoot { get; set; }
public string VirtualRootDisplay
{
get { return _rootData.NodeDisplay; }
set
{
_rootData.SetDisplayName(value);
if (ShowVirtualRoot && _nodeTree.Nodes.Count > 0)
UpdateNodeText(_nodeTree.Nodes[0]);
}
}
public event EventHandler SelectionInvalidated;
protected virtual void OnSelectionInvalidated (EventArgs e)
{
if (SelectionInvalidated != null)
SelectionInvalidated(this, e);
}
private void OnSelectionInvalidated ()
{
OnSelectionInvalidated(EventArgs.Empty);
}
public event EventHandler<MessageBoxEventArgs> ConfirmAction;
protected virtual void OnConfirmAction (MessageBoxEventArgs e)
{
if (ConfirmAction != null)
ConfirmAction(this, e);
}
private bool OnConfirmAction (string message)
{
MessageBoxEventArgs e = new MessageBoxEventArgs(message);
OnConfirmAction(e);
return !e.Cancel;
}
private TreeNode SelectedNode
{
get
{
if (_multiTree != null)
return _multiTree.SelectedNode;
else
return _nodeTree.SelectedNode;
}
}
#region Load / Save
public void Save ()
{
foreach (TreeNode node in _nodeTree.Nodes) {
DataNode dataNode = node.Tag as DataNode;
if (dataNode != null)
dataNode.Save();
}
OnSelectionInvalidated();
}
public void OpenPaths (string[] paths)
{
_nodeTree.Nodes.Clear();
foreach (string path in paths) {
if (Directory.Exists(path)) {
DirectoryDataNode node = new DirectoryDataNode(path);
_nodeTree.Nodes.Add(CreateUnexpandedNode(node));
}
else if (File.Exists(path)) {
DataNode node = null;
foreach (var item in FileTypeRegistry.RegisteredTypes) {
if (item.Value.NamePatternTest(path))
node = item.Value.NodeCreate(path);
}
if (node != null) {
_nodeTree.Nodes.Add(CreateUnexpandedNode(node));
}
}
}
if (_nodeTree.Nodes.Count > 0) {
_nodeTree.Nodes[0].Expand();
}
OnSelectionInvalidated();
}
#endregion
public void CreateNode (TreeNode node, TagType type)
{
if (node == null || !(node.Tag is DataNode))
@ -35,19 +163,19 @@ namespace NBTExplorer.Controllers
if (dataNode.CreateNode(type)) {
node.Text = dataNode.NodeDisplay;
RefreshChildNodes(node, dataNode);
UpdateUI(dataNode);
OnSelectionInvalidated();
}
}
public void CreateRootNode (TagType type)
public void CreateNode (TagType type)
{
if (_rootData.CreateNode(type)) {
RefreshRootNodes();
UpdateUI(_rootData);
}
if (_nodeTree.SelectedNode == null)
return;
CreateNode(_nodeTree.SelectedNode, type);
}
private void DeleteNode (TreeNode node)
public void DeleteNode (TreeNode node)
{
if (node == null || !(node.Tag is DataNode))
return;
@ -57,13 +185,263 @@ namespace NBTExplorer.Controllers
return;
if (dataNode.DeleteNode()) {
UpdateUI(node.Parent.Tag as DataNode);
UpdateNodeText(node.Parent);
node.Remove();
RemoveNodeFromSelection(node);
OnSelectionInvalidated();
}
}
private void ExpandNode (TreeNode node)
private bool DeleteNode (IList<TreeNode> nodes)
{
bool? elideChildren = null;
if (!CanOperateOnNodesEx(nodes, Predicates.DeleteNodePred, out elideChildren))
return false;
if (elideChildren == true)
nodes = ElideChildren(nodes);
bool selectionModified = false;
foreach (TreeNode node in nodes) {
DataNode dataNode = node.Tag as DataNode;
if (dataNode.DeleteNode()) {
UpdateNodeText(node.Parent);
node.Remove();
RemoveNodeFromSelection(node);
selectionModified = true;
}
}
if (selectionModified)
OnSelectionInvalidated();
return true;
}
private bool RemoveNodeFromSelection (TreeNode node)
{
bool selectionModified = false;
if (_multiTree != null) {
if (_multiTree.SelectedNodes.Contains(node)) {
_multiTree.SelectedNodes.Remove(node);
selectionModified = true;
}
if (_multiTree.SelectedNode == node) {
_multiTree.SelectedNode = null;
selectionModified = true;
}
}
if (_nodeTree.SelectedNode == node) {
_nodeTree.SelectedNode = null;
selectionModified = true;
}
return selectionModified;
}
public void DeleteSelection ()
{
if (_multiTree != null)
DeleteNode(_multiTree.SelectedNodes);
else
DeleteNode(SelectedNode);
}
public void EditNode (TreeNode node)
{
if (node == null || !(node.Tag is DataNode))
return;
DataNode dataNode = node.Tag as DataNode;
if (!dataNode.CanEditNode)
return;
if (dataNode.EditNode()) {
node.Text = dataNode.NodeDisplay;
OnSelectionInvalidated();
}
}
public void EditSelection ()
{
EditNode(SelectedNode);
}
private void RenameNode (TreeNode node)
{
if (node == null || !(node.Tag is DataNode))
return;
DataNode dataNode = node.Tag as DataNode;
if (!dataNode.CanRenameNode)
return;
if (dataNode.RenameNode()) {
node.Text = dataNode.NodeDisplay;
OnSelectionInvalidated();
}
}
public void RenameSelection ()
{
RenameNode(SelectedNode);
}
private void RefreshNode (TreeNode node)
{
if (node == null || !(node.Tag is DataNode))
return;
DataNode dataNode = node.Tag as DataNode;
if (!dataNode.CanRefreshNode)
return;
if (!OnConfirmAction("Refresh data anyway?"))
return;
if (dataNode.RefreshNode()) {
RefreshChildNodes(node, dataNode);
ExpandToEdge(node);
OnSelectionInvalidated();
}
}
public void RefreshSelection ()
{
RefreshNode(SelectedNode);
}
private void ExpandToEdge (TreeNode node)
{
if (node == null || !(node.Tag is DataNode))
return;
DataNode dataNode = node.Tag as DataNode;
if (dataNode.IsExpanded) {
if (!node.IsExpanded)
node.Expand();
foreach (TreeNode child in node.Nodes)
ExpandToEdge(child);
}
}
private void CopyNode (TreeNode node)
{
if (node == null || !(node.Tag is DataNode))
return;
DataNode dataNode = node.Tag as DataNode;
if (!dataNode.CanCopyNode)
return;
dataNode.CopyNode();
}
private void CutNode (TreeNode node)
{
if (node == null || !(node.Tag is DataNode))
return;
DataNode dataNode = node.Tag as DataNode;
if (!dataNode.CanCutNode)
return;
if (dataNode.CutNode()) {
UpdateNodeText(node.Parent);
node.Remove();
RemoveNodeFromSelection(node);
OnSelectionInvalidated();
}
}
private void PasteNode (TreeNode node)
{
if (node == null || !(node.Tag is DataNode))
return;
DataNode dataNode = node.Tag as DataNode;
if (!dataNode.CanPasteIntoNode)
return;
if (dataNode.PasteNode()) {
node.Text = dataNode.NodeDisplay;
RefreshChildNodes(node, dataNode);
OnSelectionInvalidated();
}
}
public void CopySelection ()
{
CopyNode(SelectedNode);
}
public void CutSelection ()
{
CutNode(SelectedNode);
}
public void PasteIntoSelection ()
{
PasteNode(SelectedNode);
}
public void MoveNodeUp (TreeNode node)
{
if (node == null)
return;
DataNode datanode = node.Tag as DataNode;
if (datanode == null || !datanode.CanMoveNodeUp)
return;
if (datanode.ChangeRelativePosition(-1)) {
RefreshChildNodes(node.Parent, datanode.Parent);
OnSelectionInvalidated();
}
}
public void MoveNodeDown (TreeNode node)
{
if (node == null)
return;
DataNode datanode = node.Tag as DataNode;
if (datanode == null || !datanode.CanMoveNodeDown)
return;
if (datanode.ChangeRelativePosition(1)) {
RefreshChildNodes(node.Parent, datanode.Parent);
OnSelectionInvalidated();
}
}
public void MoveSelectionUp ()
{
MoveNodeUp(SelectedNode);
}
public void MoveSelectionDown ()
{
MoveNodeDown(SelectedNode);
}
/*public void CreateRootNode (TagType type)
{
if (_rootData.CreateNode(type)) {
RefreshRootNodes();
UpdateUI(_rootData);
}
}*/
public void ExpandNode (TreeNode node)
{
if (node == null || !(node.Tag is DataNode))
return;
@ -81,8 +459,121 @@ namespace NBTExplorer.Controllers
node.Nodes.Add(CreateUnexpandedNode(child));
}
public void ExpandSelectedNode ()
{
ExpandNode(SelectedNode);
if (SelectedNode != null)
SelectedNode.Expand();
}
public void CollapseNode (TreeNode node)
{
if (node == null || !(node.Tag is DataNode))
return;
DataNode backNode = node.Tag as DataNode;
if (backNode.IsModified)
return;
backNode.Collapse();
node.Nodes.Clear();
if (backNode.HasUnexpandedChildren)
node.Nodes.Add(new TreeNode());
}
public void CollapseSelectedNode ()
{
CollapseNode(SelectedNode);
}
private TreeNode GetRootFromDataNodePath (DataNode node, out Stack<DataNode> hierarchy)
{
hierarchy = new Stack<DataNode>();
while (node != null) {
hierarchy.Push(node);
node = node.Parent;
}
DataNode rootDataNode = hierarchy.Pop();
TreeNode frontNode = null;
foreach (TreeNode child in _nodeTree.Nodes) {
if (child.Tag == rootDataNode)
frontNode = child;
}
return frontNode;
}
private TreeNode FindFrontNode (DataNode node)
{
Stack<DataNode> hierarchy;
TreeNode frontNode = GetRootFromDataNodePath(node, out hierarchy);
if (frontNode == null)
return null;
while (hierarchy.Count > 0) {
if (!frontNode.IsExpanded) {
frontNode.Nodes.Add(new TreeNode());
frontNode.Expand();
}
DataNode childData = hierarchy.Pop();
foreach (TreeNode childFront in frontNode.Nodes) {
if (childFront.Tag == childData) {
frontNode = childFront;
break;
}
}
}
return frontNode;
}
public void CollapseBelow (DataNode node)
{
Stack<DataNode> hierarchy;
TreeNode frontNode = GetRootFromDataNodePath(node, out hierarchy);
if (frontNode == null)
return;
while (hierarchy.Count > 0) {
if (!frontNode.IsExpanded)
return;
DataNode childData = hierarchy.Pop();
foreach (TreeNode childFront in frontNode.Nodes) {
if (childFront.Tag == childData) {
frontNode = childFront;
break;
}
}
}
if (frontNode.IsExpanded)
frontNode.Collapse();
}
public void SelectNode (DataNode node)
{
if (_multiTree != null) {
_multiTree.SelectedNode = FindFrontNode(node);
}
else {
_nodeTree.SelectedNode = FindFrontNode(node);
}
}
public void RefreshRootNodes ()
{
if (ShowVirtualRoot) {
_nodeTree.Nodes.Clear();
_nodeTree.Nodes.Add(CreateUnexpandedNode(_rootData));
return;
}
if (_rootData.HasUnexpandedChildren)
_rootData.Expand();
@ -131,8 +622,10 @@ namespace NBTExplorer.Controllers
}
}
public virtual void UpdateUI (DataNode node)
public void RefreshTreeNode (DataNode dataNode)
{
TreeNode node = FindFrontNode(dataNode);
RefreshChildNodes(node, dataNode);
}
private void InitializeIconRegistry ()
@ -168,6 +661,17 @@ namespace NBTExplorer.Controllers
node.Text = dataNode.NodeDisplay;
}
public bool CheckModifications ()
{
foreach (TreeNode node in _nodeTree.Nodes) {
DataNode dataNode = node.Tag as DataNode;
if (dataNode != null && dataNode.IsModified)
return true;
}
return false;
}
private TreeNode CreateUnexpandedNode (DataNode node)
{
TreeNode frontNode = new TreeNode(node.NodeDisplay);
@ -181,5 +685,264 @@ namespace NBTExplorer.Controllers
return frontNode;
}
#region Capability Checking
#region Capability Predicates
public delegate bool DataNodePredicate (DataNode dataNode, out GroupCapabilities caps);
public static class Predicates
{
public static bool CreateByteNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = GroupCapabilities.Single;
return (dataNode != null) && dataNode.CanCreateTag(TagType.TAG_BYTE);
}
public static bool CreateShortNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = GroupCapabilities.Single;
return (dataNode != null) && dataNode.CanCreateTag(TagType.TAG_SHORT);
}
public static bool CreateIntNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = GroupCapabilities.Single;
return (dataNode != null) && dataNode.CanCreateTag(TagType.TAG_INT);
}
public static bool CreateLongNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = GroupCapabilities.Single;
return (dataNode != null) && dataNode.CanCreateTag(TagType.TAG_LONG);
}
public static bool CreateFloatNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = GroupCapabilities.Single;
return (dataNode != null) && dataNode.CanCreateTag(TagType.TAG_FLOAT);
}
public static bool CreateDoubleNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = GroupCapabilities.Single;
return (dataNode != null) && dataNode.CanCreateTag(TagType.TAG_DOUBLE);
}
public static bool CreateByteArrayNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = GroupCapabilities.Single;
return (dataNode != null) && dataNode.CanCreateTag(TagType.TAG_BYTE_ARRAY);
}
public static bool CreateIntArrayNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = GroupCapabilities.Single;
return (dataNode != null) && dataNode.CanCreateTag(TagType.TAG_INT_ARRAY);
}
public static bool CreateStringNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = GroupCapabilities.Single;
return (dataNode != null) && dataNode.CanCreateTag(TagType.TAG_STRING);
}
public static bool CreateListNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = GroupCapabilities.Single;
return (dataNode != null) && dataNode.CanCreateTag(TagType.TAG_LIST);
}
public static bool CreateCompoundNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = GroupCapabilities.Single;
return (dataNode != null) && dataNode.CanCreateTag(TagType.TAG_COMPOUND);
}
public static bool RenameNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = dataNode.RenameNodeCapabilities;
return (dataNode != null) && dataNode.CanRenameNode;
}
public static bool EditNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = dataNode.EditNodeCapabilities;
return (dataNode != null) && dataNode.CanEditNode;
}
public static bool DeleteNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = dataNode.DeleteNodeCapabilities;
return (dataNode != null) && dataNode.CanDeleteNode;
}
public static bool MoveNodeUpPred (DataNode dataNode, out GroupCapabilities caps)
{
caps = dataNode.ReorderNodeCapabilities;
return (dataNode != null) && dataNode.CanMoveNodeUp;
}
public static bool MoveNodeDownPred (DataNode dataNode, out GroupCapabilities caps)
{
caps = dataNode.ReorderNodeCapabilities;
return (dataNode != null) && dataNode.CanMoveNodeDown;
}
public static bool CutNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = dataNode.CutNodeCapabilities;
return (dataNode != null) && dataNode.CanCutNode;
}
public static bool CopyNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = dataNode.CopyNodeCapabilities;
return (dataNode != null) && dataNode.CanCopyNode;
}
public static bool PasteIntoNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = dataNode.PasteIntoNodeCapabilities;
return (dataNode != null) && dataNode.CanPasteIntoNode;
}
public static bool SearchNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = dataNode.SearchNodeCapabilites;
return (dataNode != null) && dataNode.CanSearchNode;
}
public static bool ReorderNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = dataNode.ReorderNodeCapabilities;
return (dataNode != null) && dataNode.CanReoderNode;
}
public static bool RefreshNodePred (DataNode dataNode, out GroupCapabilities caps)
{
caps = dataNode.RefreshNodeCapabilites;
return (dataNode != null) && dataNode.CanRefreshNode;
}
}
#endregion
public bool CanOperateOnSelection (DataNodePredicate pred)
{
if (_multiTree != null)
return CanOperateOnNodes(_multiTree.SelectedNodes, pred);
else
return CanOperateOnNodes(new List<TreeNode>() { _nodeTree.SelectedNode }, pred);
}
private bool CanOperateOnNodes (IList<TreeNode> nodes, DataNodePredicate pred)
{
bool? elideChildren = null;
return CanOperateOnNodesEx(nodes, pred, out elideChildren);
}
private bool CanOperateOnNodesEx (IList<TreeNode> nodes, DataNodePredicate pred, out bool? elideChildren)
{
GroupCapabilities caps = GroupCapabilities.All;
elideChildren = null;
foreach (TreeNode node in nodes) {
if (node == null || !(node.Tag is DataNode))
return false;
DataNode dataNode = node.Tag as DataNode;
GroupCapabilities dataCaps;
if (!pred(dataNode, out dataCaps))
return false;
caps &= dataCaps;
bool elideChildrenFlag = (dataNode.DeleteNodeCapabilities & GroupCapabilities.ElideChildren) == GroupCapabilities.ElideChildren;
if (elideChildren == null)
elideChildren = elideChildrenFlag;
if (elideChildren != elideChildrenFlag)
return false;
}
if (nodes.Count > 1 && !SufficientCapabilities(nodes, caps))
return false;
return true;
}
private IList<TreeNode> ElideChildren (IList<TreeNode> nodes)
{
List<TreeNode> filtered = new List<TreeNode>();
foreach (TreeNode node in nodes) {
TreeNode parent = node.Parent;
bool foundParent = false;
while (parent != null) {
if (nodes.Contains(parent)) {
foundParent = true;
break;
}
parent = parent.Parent;
}
if (!foundParent)
filtered.Add(node);
}
return filtered;
}
private bool CommonContainer (IEnumerable<TreeNode> nodes)
{
object container = null;
foreach (TreeNode node in nodes) {
DataNode dataNode = node.Tag as DataNode;
if (container == null)
container = dataNode.Parent;
if (container != dataNode.Parent)
return false;
}
return true;
}
private bool CommonType (IEnumerable<TreeNode> nodes)
{
Type datatype = null;
foreach (TreeNode node in nodes) {
DataNode dataNode = node.Tag as DataNode;
if (datatype == null)
datatype = dataNode.GetType();
if (datatype != dataNode.GetType())
return false;
}
return true;
}
private bool SufficientCapabilities (IEnumerable<TreeNode> nodes, GroupCapabilities commonCaps)
{
bool commonContainer = CommonContainer(nodes);
bool commonType = CommonType(nodes);
bool pass = true;
if (commonContainer && commonType)
pass &= ((commonCaps & GroupCapabilities.SiblingSameType) == GroupCapabilities.SiblingSameType);
else if (commonContainer && !commonType)
pass &= ((commonCaps & GroupCapabilities.SiblingMixedType) == GroupCapabilities.SiblingMixedType);
else if (!commonContainer && commonType)
pass &= ((commonCaps & GroupCapabilities.MultiSameType) == GroupCapabilities.MultiSameType);
else if (!commonContainer && !commonType)
pass &= ((commonCaps & GroupCapabilities.MultiMixedType) == GroupCapabilities.MultiMixedType);
return pass;
}
#endregion
}
}

View file

@ -32,6 +32,14 @@ namespace NBTExplorer.Model
return null;
}
public TagNode GetTagNode (string name)
{
TagNode tag;
if (_tag.TryGetValue(name, out tag))
return tag;
return null;
}
public bool AddTag (TagNode tag, string name)
{
if (_tag.ContainsKey(name))
@ -61,5 +69,18 @@ namespace NBTExplorer.Model
return false;
}
public bool DeleteTag (string name)
{
if (!_tag.ContainsKey(name))
return false;
return DeleteTag(_tag[name]);
}
public bool ContainsTag (string name)
{
return _tag.ContainsKey(name);
}
}
}

View file

@ -1,24 +1,43 @@
using Substrate.Nbt;
using System.Collections.Generic;
using System;
namespace NBTExplorer.Model
{
public class RootDataNode : DataNode
public class RootDataNode : TagCompoundDataNode
{
private string _name = "Root";
private string _display = "";
public RootDataNode ()
: base(new TagNodeCompound())
{
}
public override string NodeName
{
get { return _name; }
set { _name = value; }
}
public override string NodeDisplay
{
get { return _display; }
set { _display = value; }
}
public void SetNodeName (string name)
{
_name = name;
}
public void SetDisplayName (string name)
{
_display = name;
}
/*public override bool CanCreateTag (TagType type)
{
return Enum.IsDefined(typeof(TagType), type) && type != TagType.TAG_END;
}*/
}
// FilterDataNode
@ -173,8 +192,12 @@ namespace NBTExplorer.Model
Dictionary<string, object> dict = new Dictionary<string, object>();
foreach (DataNode child in node.Nodes) {
Dictionary<string, object> childDict = BuildExpandSet(child);
if (childDict != null)
dict[child.NodeDisplay] = childDict;
if (childDict != null) {
if (!String.IsNullOrEmpty(child.NodeName))
dict[child.NodeName] = childDict;
else
dict[child.NodeDisplay] = childDict;
}
}
return dict;
@ -185,7 +208,12 @@ namespace NBTExplorer.Model
node.Expand();
foreach (DataNode child in node.Nodes) {
if (expandSet.ContainsKey(child.NodeDisplay)) {
if (expandSet.ContainsKey(child.NodeName)) {
Dictionary<string, object> childDict = (Dictionary<string, object>)expandSet[child.NodeName];
if (childDict != null)
RestoreExpandSet(child, childDict);
}
else if (expandSet.ContainsKey(child.NodeDisplay)) {
Dictionary<string, object> childDict = (Dictionary<string, object>)expandSet[child.NodeDisplay];
if (childDict != null)
RestoreExpandSet(child, childDict);

View file

@ -100,6 +100,36 @@ namespace NBTExplorer.Model
return _container.DeleteTag(tag);
}
public bool ContainsTag (string name)
{
return _container.ContainsTag(name);
}
public override void SyncTag ()
{
Dictionary<TagNode, TagDataNode> lookup = new Dictionary<TagNode, TagDataNode>();
foreach (TagDataNode node in Nodes)
lookup[node.Tag] = node;
foreach (var kvp in lookup) {
if (!Tag.Values.Contains(kvp.Key))
Nodes.Remove(kvp.Value);
}
foreach (TagNode tag in Tag.Values) {
if (!lookup.ContainsKey(tag)) {
TagDataNode newnode = TagDataNode.CreateFromTag(tag);
if (newnode != null) {
Nodes.Add(newnode);
newnode.Expand();
}
}
}
foreach (TagDataNode node in Nodes)
node.SyncTag();
}
private void AddTag (TagNode tag, string name)
{
_container.AddTag(tag, name);

View file

@ -24,8 +24,12 @@ namespace NBTExplorer.Model
IEnumerable<string> TagNamesInUse { get; }
string GetTagName (TagNode tag);
TagNode GetTagNode (string name);
bool AddTag (TagNode tag, string name);
bool RenameTag (TagNode tag, string name);
bool ContainsTag (string name);
bool DeleteTag (string name);
}
public interface IOrderedTagContainer : ITagContainer

View file

@ -140,10 +140,10 @@ namespace NBTExplorer.Model
get { return base.Parent as IMetaTagContainer; }
}
protected TagNode Tag
public TagNode Tag
{
get { return _tag; }
set
protected set
{
if (_tag.GetTagType() == value.GetTagType())
_tag = value;
@ -356,5 +356,9 @@ namespace NBTExplorer.Model
return false;
}
public virtual void SyncTag ()
{
}
}
}

View file

@ -7,8 +7,6 @@ namespace NBTExplorer
internal interface ISearchState
{
DataNode RootNode { get; set; }
string SearchName { get; set; }
string SearchValue { get; set; }
IEnumerator<DataNode> State { get; set; }
@ -16,6 +14,45 @@ namespace NBTExplorer
void InvokeProgressCallback (DataNode node);
void InvokeCollapseCallback (DataNode node);
void InvokeEndCallback (DataNode node);
bool TestNode (DataNode node);
}
internal abstract class NameValueSearchState : ISearchState
{
public virtual string SearchName { get; set; }
public virtual string SearchValue { get; set; }
public DataNode RootNode { get; set; }
public IEnumerator<DataNode> State { get; set; }
public abstract void InvokeDiscoverCallback (DataNode node);
public abstract void InvokeProgressCallback (DataNode node);
public abstract void InvokeCollapseCallback (DataNode node);
public abstract void InvokeEndCallback (DataNode node);
public bool TestNode (DataNode node)
{
bool mName = SearchName == null;
bool mValue = SearchValue == null;
if (SearchName != null) {
string tagName = node.NodeName;
if (tagName != null)
mName = tagName.Contains(SearchName);
}
if (SearchValue != null) {
string tagValue = node.NodeDisplay;
if (tagValue != null)
mValue = tagValue.Contains(SearchValue);
}
if (mName && mValue) {
return true;
}
return false;
}
}
internal class SearchWorker
@ -64,7 +101,12 @@ namespace NBTExplorer
TagDataNode tagNode = node as TagDataNode;
if (tagNode != null) {
bool mName = _state.SearchName == null;
if (_state.TestNode(tagNode)) {
InvokeDiscoverCallback(node);
yield return node;
}
/*bool mName = _state.SearchName == null;
bool mValue = _state.SearchValue == null;
if (_state.SearchName != null) {
@ -81,7 +123,7 @@ namespace NBTExplorer
if (mName && mValue) {
InvokeDiscoverCallback(node);
yield return node;
}
}*/
}
foreach (DataNode sub in node.Nodes) {

View file

@ -92,6 +92,8 @@ namespace NBTExplorer.Vendor.MultiSelectTreeView
if( node != null )
{
int leftBound = node.Bounds.X; // - 20; // Allow user to click on image
if (node.TreeView.ImageList != null)
leftBound -= 20;
int rightBound = node.Bounds.Right + 10; // Give a little extra room
if( e.Location.X > leftBound && e.Location.X < rightBound )
{

View file

@ -30,23 +30,17 @@
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FindReplace));
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.panel1 = new System.Windows.Forms.Panel();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.panel2 = new System.Windows.Forms.Panel();
this.toolStrip2 = new System.Windows.Forms.ToolStrip();
this.treeView1 = new System.Windows.Forms.TreeView();
this.treeView2 = new System.Windows.Forms.TreeView();
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this._tbFindEdit = new System.Windows.Forms.ToolStripButton();
this._tbFindDelete = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this._tbReplaceDelete = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.button4 = new System.Windows.Forms.Button();
this._tbFindAny = new System.Windows.Forms.ToolStripButton();
this._tbFindGroupAnd = new System.Windows.Forms.ToolStripButton();
this._tbFindGroupOr = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this._tbFindAny = new System.Windows.Forms.ToolStripButton();
this._tbFindByte = new System.Windows.Forms.ToolStripButton();
this._tbFindShort = new System.Windows.Forms.ToolStripButton();
this._tbFindInt = new System.Windows.Forms.ToolStripButton();
@ -54,6 +48,13 @@
this._tbFindFloat = new System.Windows.Forms.ToolStripButton();
this._tbFindDouble = new System.Windows.Forms.ToolStripButton();
this._tbFindString = new System.Windows.Forms.ToolStripButton();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.panel2 = new System.Windows.Forms.Panel();
this.treeView2 = new System.Windows.Forms.TreeView();
this.toolStrip2 = new System.Windows.Forms.ToolStrip();
this._tbReplaceEdit = new System.Windows.Forms.ToolStripButton();
this._tbReplaceDelete = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this._tbReplaceByte = new System.Windows.Forms.ToolStripButton();
this._tbReplaceShort = new System.Windows.Forms.ToolStripButton();
this._tbReplaceInt = new System.Windows.Forms.ToolStripButton();
@ -65,13 +66,14 @@
this._tbReplaceString = new System.Windows.Forms.ToolStripButton();
this._tbReplaceList = new System.Windows.Forms.ToolStripButton();
this._tbReplaceCompound = new System.Windows.Forms.ToolStripButton();
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
this._tbFindGroupAnd = new System.Windows.Forms.ToolStripButton();
this._tbFindGroupOr = new System.Windows.Forms.ToolStripButton();
this._buttonFind = new System.Windows.Forms.Button();
this._buttonReplace = new System.Windows.Forms.Button();
this._buttonReplaceAll = new System.Windows.Forms.Button();
this._buttonCancel = new System.Windows.Forms.Button();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.panel1.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.panel2.SuspendLayout();
this.toolStrip2.SuspendLayout();
this.SuspendLayout();
@ -88,19 +90,6 @@
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Find";
//
// groupBox2
//
this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox2.Controls.Add(this.panel2);
this.groupBox2.Location = new System.Drawing.Point(12, 198);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(439, 182);
this.groupBox2.TabIndex = 1;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Replace";
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
@ -112,9 +101,45 @@
this.panel1.Size = new System.Drawing.Size(427, 155);
this.panel1.TabIndex = 0;
//
// treeView1
//
this.treeView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.treeView1.ImageIndex = 0;
this.treeView1.ImageList = this.imageList1;
this.treeView1.Location = new System.Drawing.Point(0, 25);
this.treeView1.Name = "treeView1";
this.treeView1.SelectedImageIndex = 0;
this.treeView1.ShowPlusMinus = false;
this.treeView1.ShowRootLines = false;
this.treeView1.Size = new System.Drawing.Size(427, 130);
this.treeView1.TabIndex = 1;
//
// imageList1
//
this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
this.imageList1.Images.SetKeyName(0, "document-attribute-b.png");
this.imageList1.Images.SetKeyName(1, "document-attribute-s.png");
this.imageList1.Images.SetKeyName(2, "document-attribute-i.png");
this.imageList1.Images.SetKeyName(3, "document-attribute-l.png");
this.imageList1.Images.SetKeyName(4, "document-attribute-f.png");
this.imageList1.Images.SetKeyName(5, "document-attribute-d.png");
this.imageList1.Images.SetKeyName(6, "edit-code.png");
this.imageList1.Images.SetKeyName(7, "edit-small-caps.png");
this.imageList1.Images.SetKeyName(8, "edit-list.png");
this.imageList1.Images.SetKeyName(9, "box.png");
this.imageList1.Images.SetKeyName(10, "folder.png");
this.imageList1.Images.SetKeyName(11, "block.png");
this.imageList1.Images.SetKeyName(12, "wooden-box.png");
this.imageList1.Images.SetKeyName(13, "map.png");
this.imageList1.Images.SetKeyName(14, "edit-code-i.png");
this.imageList1.Images.SetKeyName(15, "question-white.png");
this.imageList1.Images.SetKeyName(16, "arrow-315.png");
//
// toolStrip1
//
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this._tbFindEdit,
this._tbFindDelete,
this.toolStripSeparator1,
this._tbFindGroupAnd,
@ -134,65 +159,15 @@
this.toolStrip1.TabIndex = 0;
this.toolStrip1.Text = "toolStrip1";
//
// panel2
// _tbFindEdit
//
this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel2.Controls.Add(this.treeView2);
this.panel2.Controls.Add(this.toolStrip2);
this.panel2.Location = new System.Drawing.Point(6, 19);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(427, 157);
this.panel2.TabIndex = 0;
//
// toolStrip2
//
this.toolStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this._tbReplaceDelete,
this.toolStripSeparator2,
this._tbReplaceByte,
this._tbReplaceShort,
this._tbReplaceInt,
this._tbReplaceLong,
this._tbReplaceFloat,
this._tbReplaceDouble,
this._tbReplaceByteArray,
this._tbReplaceIntArray,
this._tbReplaceString,
this._tbReplaceList,
this._tbReplaceCompound});
this.toolStrip2.Location = new System.Drawing.Point(0, 0);
this.toolStrip2.Name = "toolStrip2";
this.toolStrip2.Size = new System.Drawing.Size(427, 25);
this.toolStrip2.TabIndex = 0;
this.toolStrip2.Text = "toolStrip2";
//
// treeView1
//
this.treeView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.treeView1.ImageIndex = 0;
this.treeView1.ImageList = this.imageList1;
this.treeView1.Location = new System.Drawing.Point(0, 25);
this.treeView1.Name = "treeView1";
this.treeView1.SelectedImageIndex = 0;
this.treeView1.ShowPlusMinus = false;
this.treeView1.ShowRootLines = false;
this.treeView1.Size = new System.Drawing.Size(427, 130);
this.treeView1.TabIndex = 1;
//
// treeView2
//
this.treeView2.Dock = System.Windows.Forms.DockStyle.Fill;
this.treeView2.ImageIndex = 0;
this.treeView2.ImageList = this.imageList1;
this.treeView2.Location = new System.Drawing.Point(0, 25);
this.treeView2.Name = "treeView2";
this.treeView2.SelectedImageIndex = 0;
this.treeView2.ShowPlusMinus = false;
this.treeView2.ShowRootLines = false;
this.treeView2.Size = new System.Drawing.Size(427, 132);
this.treeView2.TabIndex = 1;
this._tbFindEdit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this._tbFindEdit.Image = ((System.Drawing.Image)(resources.GetObject("_tbFindEdit.Image")));
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.Click += new System.EventHandler(this._tbFindEdit_Click);
//
// _tbFindDelete
//
@ -209,60 +184,28 @@
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
//
// _tbReplaceDelete
// _tbFindGroupAnd
//
this._tbReplaceDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this._tbReplaceDelete.Image = ((System.Drawing.Image)(resources.GetObject("_tbReplaceDelete.Image")));
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.Click += new System.EventHandler(this._tbReplaceDelete_Click);
this._tbFindGroupAnd.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this._tbFindGroupAnd.Image = ((System.Drawing.Image)(resources.GetObject("_tbFindGroupAnd.Image")));
this._tbFindGroupAnd.ImageTransparentColor = System.Drawing.Color.Magenta;
this._tbFindGroupAnd.Name = "_tbFindGroupAnd";
this._tbFindGroupAnd.Size = new System.Drawing.Size(23, 22);
this._tbFindGroupAnd.Text = "toolStripButton1";
//
// toolStripSeparator2
// _tbFindGroupOr
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25);
this._tbFindGroupOr.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this._tbFindGroupOr.Image = ((System.Drawing.Image)(resources.GetObject("_tbFindGroupOr.Image")));
this._tbFindGroupOr.ImageTransparentColor = System.Drawing.Color.Magenta;
this._tbFindGroupOr.Name = "_tbFindGroupOr";
this._tbFindGroupOr.Size = new System.Drawing.Size(23, 22);
this._tbFindGroupOr.Text = "toolStripButton2";
//
// button1
// toolStripSeparator3
//
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.button1.Location = new System.Drawing.Point(295, 386);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 2;
this.button1.Text = "Find Next";
this.button1.UseVisualStyleBackColor = true;
//
// button2
//
this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.button2.Location = new System.Drawing.Point(376, 386);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(75, 23);
this.button2.TabIndex = 3;
this.button2.Text = "Replace";
this.button2.UseVisualStyleBackColor = true;
//
// button3
//
this.button3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.button3.Location = new System.Drawing.Point(376, 415);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(75, 23);
this.button3.TabIndex = 4;
this.button3.Text = "Replace All";
this.button3.UseVisualStyleBackColor = true;
//
// button4
//
this.button4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.button4.Location = new System.Drawing.Point(12, 386);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(75, 23);
this.button4.TabIndex = 5;
this.button4.Text = "Cancel";
this.button4.UseVisualStyleBackColor = true;
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(6, 25);
//
// _tbFindAny
//
@ -274,11 +217,6 @@
this._tbFindAny.Text = "toolStripButton3";
this._tbFindAny.Click += new System.EventHandler(this._tbFindAny_Click);
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(6, 25);
//
// _tbFindByte
//
this._tbFindByte.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
@ -349,6 +287,92 @@
this._tbFindString.Text = "toolStripButton10";
this._tbFindString.Click += new System.EventHandler(this._tbFindString_Click);
//
// groupBox2
//
this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox2.Controls.Add(this.panel2);
this.groupBox2.Location = new System.Drawing.Point(12, 198);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(439, 182);
this.groupBox2.TabIndex = 1;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Replace";
//
// panel2
//
this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel2.Controls.Add(this.treeView2);
this.panel2.Controls.Add(this.toolStrip2);
this.panel2.Location = new System.Drawing.Point(6, 19);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(427, 157);
this.panel2.TabIndex = 0;
//
// treeView2
//
this.treeView2.Dock = System.Windows.Forms.DockStyle.Fill;
this.treeView2.ImageIndex = 0;
this.treeView2.ImageList = this.imageList1;
this.treeView2.Location = new System.Drawing.Point(0, 25);
this.treeView2.Name = "treeView2";
this.treeView2.SelectedImageIndex = 0;
this.treeView2.ShowPlusMinus = false;
this.treeView2.ShowRootLines = false;
this.treeView2.Size = new System.Drawing.Size(427, 132);
this.treeView2.TabIndex = 1;
//
// toolStrip2
//
this.toolStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this._tbReplaceEdit,
this._tbReplaceDelete,
this.toolStripSeparator2,
this._tbReplaceByte,
this._tbReplaceShort,
this._tbReplaceInt,
this._tbReplaceLong,
this._tbReplaceFloat,
this._tbReplaceDouble,
this._tbReplaceByteArray,
this._tbReplaceIntArray,
this._tbReplaceString,
this._tbReplaceList,
this._tbReplaceCompound});
this.toolStrip2.Location = new System.Drawing.Point(0, 0);
this.toolStrip2.Name = "toolStrip2";
this.toolStrip2.Size = new System.Drawing.Size(427, 25);
this.toolStrip2.TabIndex = 0;
this.toolStrip2.Text = "toolStrip2";
//
// _tbReplaceEdit
//
this._tbReplaceEdit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this._tbReplaceEdit.Image = ((System.Drawing.Image)(resources.GetObject("_tbReplaceEdit.Image")));
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.Click += new System.EventHandler(this._tbReplaceEdit_Click);
//
// _tbReplaceDelete
//
this._tbReplaceDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this._tbReplaceDelete.Image = ((System.Drawing.Image)(resources.GetObject("_tbReplaceDelete.Image")));
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.Click += new System.EventHandler(this._tbReplaceDelete_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25);
//
// _tbReplaceByte
//
this._tbReplaceByte.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
@ -459,65 +483,67 @@
this._tbReplaceCompound.Text = "toolStripButton21";
this._tbReplaceCompound.Click += new System.EventHandler(this._tbReplaceCompound_Click);
//
// imageList1
// _buttonFind
//
this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
this.imageList1.Images.SetKeyName(0, "document-attribute-b.png");
this.imageList1.Images.SetKeyName(1, "document-attribute-s.png");
this.imageList1.Images.SetKeyName(2, "document-attribute-i.png");
this.imageList1.Images.SetKeyName(3, "document-attribute-l.png");
this.imageList1.Images.SetKeyName(4, "document-attribute-f.png");
this.imageList1.Images.SetKeyName(5, "document-attribute-d.png");
this.imageList1.Images.SetKeyName(6, "edit-code.png");
this.imageList1.Images.SetKeyName(7, "edit-small-caps.png");
this.imageList1.Images.SetKeyName(8, "edit-list.png");
this.imageList1.Images.SetKeyName(9, "box.png");
this.imageList1.Images.SetKeyName(10, "folder.png");
this.imageList1.Images.SetKeyName(11, "block.png");
this.imageList1.Images.SetKeyName(12, "wooden-box.png");
this.imageList1.Images.SetKeyName(13, "map.png");
this.imageList1.Images.SetKeyName(14, "edit-code-i.png");
this.imageList1.Images.SetKeyName(15, "question-white.png");
this.imageList1.Images.SetKeyName(16, "arrow-315.png");
this._buttonFind.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this._buttonFind.Location = new System.Drawing.Point(295, 386);
this._buttonFind.Name = "_buttonFind";
this._buttonFind.Size = new System.Drawing.Size(75, 23);
this._buttonFind.TabIndex = 2;
this._buttonFind.Text = "Find Next";
this._buttonFind.UseVisualStyleBackColor = true;
this._buttonFind.Click += new System.EventHandler(this._buttonFind_Click);
//
// _tbFindGroupAnd
// _buttonReplace
//
this._tbFindGroupAnd.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this._tbFindGroupAnd.Image = ((System.Drawing.Image)(resources.GetObject("_tbFindGroupAnd.Image")));
this._tbFindGroupAnd.ImageTransparentColor = System.Drawing.Color.Magenta;
this._tbFindGroupAnd.Name = "_tbFindGroupAnd";
this._tbFindGroupAnd.Size = new System.Drawing.Size(23, 22);
this._tbFindGroupAnd.Text = "toolStripButton1";
this._buttonReplace.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this._buttonReplace.Location = new System.Drawing.Point(376, 386);
this._buttonReplace.Name = "_buttonReplace";
this._buttonReplace.Size = new System.Drawing.Size(75, 23);
this._buttonReplace.TabIndex = 3;
this._buttonReplace.Text = "Replace";
this._buttonReplace.UseVisualStyleBackColor = true;
this._buttonReplace.Click += new System.EventHandler(this._buttonReplace_Click);
//
// _tbFindGroupOr
// _buttonReplaceAll
//
this._tbFindGroupOr.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this._tbFindGroupOr.Image = ((System.Drawing.Image)(resources.GetObject("_tbFindGroupOr.Image")));
this._tbFindGroupOr.ImageTransparentColor = System.Drawing.Color.Magenta;
this._tbFindGroupOr.Name = "_tbFindGroupOr";
this._tbFindGroupOr.Size = new System.Drawing.Size(23, 22);
this._tbFindGroupOr.Text = "toolStripButton2";
this._buttonReplaceAll.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this._buttonReplaceAll.Location = new System.Drawing.Point(376, 415);
this._buttonReplaceAll.Name = "_buttonReplaceAll";
this._buttonReplaceAll.Size = new System.Drawing.Size(75, 23);
this._buttonReplaceAll.TabIndex = 4;
this._buttonReplaceAll.Text = "Replace All";
this._buttonReplaceAll.UseVisualStyleBackColor = true;
//
// _buttonCancel
//
this._buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this._buttonCancel.Location = new System.Drawing.Point(12, 386);
this._buttonCancel.Name = "_buttonCancel";
this._buttonCancel.Size = new System.Drawing.Size(75, 23);
this._buttonCancel.TabIndex = 5;
this._buttonCancel.Text = "Cancel";
this._buttonCancel.UseVisualStyleBackColor = true;
//
// FindReplace
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(463, 449);
this.Controls.Add(this.button4);
this.Controls.Add(this.button3);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
this.Controls.Add(this._buttonCancel);
this.Controls.Add(this._buttonReplaceAll);
this.Controls.Add(this._buttonReplace);
this.Controls.Add(this._buttonFind);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.Name = "FindReplace";
this.Text = "Replace";
this.groupBox1.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.groupBox2.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
this.toolStrip2.ResumeLayout(false);
@ -540,10 +566,10 @@
private System.Windows.Forms.ToolStrip toolStrip2;
private System.Windows.Forms.ToolStripButton _tbReplaceDelete;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.Button _buttonFind;
private System.Windows.Forms.Button _buttonReplace;
private System.Windows.Forms.Button _buttonReplaceAll;
private System.Windows.Forms.Button _buttonCancel;
private System.Windows.Forms.ToolStripButton _tbFindAny;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
private System.Windows.Forms.ToolStripButton _tbFindByte;
@ -567,5 +593,7 @@
private System.Windows.Forms.ImageList imageList1;
private System.Windows.Forms.ToolStripButton _tbFindGroupAnd;
private System.Windows.Forms.ToolStripButton _tbFindGroupOr;
private System.Windows.Forms.ToolStripButton _tbFindEdit;
private System.Windows.Forms.ToolStripButton _tbReplaceEdit;
}
}

View file

@ -7,27 +7,40 @@ using System.Text;
using System.Windows.Forms;
using NBTExplorer.Controllers;
using Substrate.Nbt;
using NBTExplorer.Model;
using System.Threading;
namespace NBTExplorer.Windows
{
public partial class FindReplace : Form
{
private MainForm _main;
private NodeTreeController _mainController;
private DataNode _mainSearchRoot;
private NodeTreeController _findController;
private NodeTreeController _replaceController;
public FindReplace ()
public FindReplace (MainForm main, NodeTreeController controller, DataNode searchRoot)
{
InitializeComponent();
_main = main;
_mainController = controller;
_mainSearchRoot = searchRoot;
_findController = new NodeTreeController(treeView1);
_findController.VirtualRootDisplay = "Find Rules";
_replaceController = new NodeTreeController(treeView2);
_replaceController.VirtualRootDisplay = "Replacement Tags";
}
#region Find Toolbar Buttons
private void _tbFindDelete_Click (object sender, EventArgs e)
{
_findController.DeleteSelection();
}
private void _tbFindAny_Click (object sender, EventArgs e)
@ -37,37 +50,37 @@ namespace NBTExplorer.Windows
private void _tbFindByte_Click (object sender, EventArgs e)
{
_findController.CreateRootNode(TagType.TAG_BYTE);
_findController.CreateNode(TagType.TAG_BYTE);
}
private void _tbFindShort_Click (object sender, EventArgs e)
{
_findController.CreateRootNode(TagType.TAG_SHORT);
_findController.CreateNode(TagType.TAG_SHORT);
}
private void _tbFindInt_Click (object sender, EventArgs e)
{
_findController.CreateRootNode(TagType.TAG_INT);
_findController.CreateNode(TagType.TAG_INT);
}
private void _tbFindLong_Click (object sender, EventArgs e)
{
_findController.CreateRootNode(TagType.TAG_LONG);
_findController.CreateNode(TagType.TAG_LONG);
}
private void _tbFindFloat_Click (object sender, EventArgs e)
{
_findController.CreateRootNode(TagType.TAG_FLOAT);
_findController.CreateNode(TagType.TAG_FLOAT);
}
private void _tbFindDouble_Click (object sender, EventArgs e)
{
_findController.CreateRootNode(TagType.TAG_DOUBLE);
_findController.CreateNode(TagType.TAG_DOUBLE);
}
private void _tbFindString_Click (object sender, EventArgs e)
{
_findController.CreateRootNode(TagType.TAG_STRING);
_findController.CreateNode(TagType.TAG_STRING);
}
#endregion
@ -76,64 +89,251 @@ namespace NBTExplorer.Windows
private void _tbReplaceDelete_Click (object sender, EventArgs e)
{
_replaceController.DeleteSelection();
}
private void _tbReplaceByte_Click (object sender, EventArgs e)
{
_replaceController.CreateRootNode(TagType.TAG_BYTE);
_replaceController.CreateNode(TagType.TAG_BYTE);
}
private void _tbReplaceShort_Click (object sender, EventArgs e)
{
_replaceController.CreateRootNode(TagType.TAG_SHORT);
_replaceController.CreateNode(TagType.TAG_SHORT);
}
private void _tbReplaceInt_Click (object sender, EventArgs e)
{
_replaceController.CreateNode(TagType.TAG_INT);
}
private void _tbReplaceLong_Click (object sender, EventArgs e)
{
_replaceController.CreateNode(TagType.TAG_LONG);
}
private void _tbReplaceFloat_Click (object sender, EventArgs e)
{
_replaceController.CreateNode(TagType.TAG_FLOAT);
}
private void _tbReplaceDouble_Click (object sender, EventArgs e)
{
_replaceController.CreateNode(TagType.TAG_DOUBLE);
}
private void _tbReplaceByteArray_Click (object sender, EventArgs e)
{
_replaceController.CreateNode(TagType.TAG_BYTE_ARRAY);
}
private void _tbReplaceIntArray_Click (object sender, EventArgs e)
{
_replaceController.CreateNode(TagType.TAG_INT_ARRAY);
}
private void _tbReplaceString_Click (object sender, EventArgs e)
{
_replaceController.CreateNode(TagType.TAG_STRING);
}
private void _tbReplaceList_Click (object sender, EventArgs e)
{
_replaceController.CreateNode(TagType.TAG_LIST);
}
private void _tbReplaceCompound_Click (object sender, EventArgs e)
{
_replaceController.CreateNode(TagType.TAG_COMPOUND);
}
#endregion
private CancelSearchForm _searchForm;
private ContainerRuleSearchStateWin _searchState;
private void _buttonFind_Click (object sender, EventArgs e)
{
if (_searchState == null) {
_searchState = new ContainerRuleSearchStateWin(_main) {
RuleTags = _findController.Root,
RootNode = _mainSearchRoot,
DiscoverCallback = SearchDiscoveryCallback,
CollapseCallback = SearchCollapseCallback,
EndCallback = SearchEndCallback,
};
}
SearchNextNode();
}
private void SearchNextNode ()
{
if (_searchState == null)
return;
SearchWorker worker = new SearchWorker(_searchState);
Thread t = new Thread(new ThreadStart(worker.Run));
t.IsBackground = true;
t.Start();
_searchForm = new CancelSearchForm();
if (_searchForm.ShowDialog(this) == DialogResult.Cancel) {
worker.Cancel();
_searchState = null;
}
t.Join();
}
private void SearchDiscoveryCallback (DataNode node)
{
_mainController.SelectNode(node);
_mainController.ExpandSelectedNode();
if (_searchForm != null) {
_searchForm.DialogResult = DialogResult.OK;
_searchForm = null;
}
_currentFindNode = node;
}
private void SearchCollapseCallback (DataNode node)
{
_mainController.CollapseBelow(node);
}
private void SearchEndCallback (DataNode node)
{
if (_searchForm != null) {
_searchForm.DialogResult = DialogResult.OK;
_searchForm = null;
}
MessageBox.Show("End of Results");
}
private DataNode _currentFindNode;
private void _buttonReplace_Click (object sender, EventArgs e)
{
TagCompoundDataNode node = _currentFindNode as TagCompoundDataNode;
if (node == null)
return;
foreach (TagDataNode rule in _findController.Root.Nodes) {
if (rule == null)
continue;
foreach (TagDataNode ruleCandidate in node.Nodes) {
if (ruleCandidate == null)
continue;
if (ruleCandidate.NodeName == rule.NodeName) {
ruleCandidate.DeleteNode();
break;
}
}
}
foreach (TagDataNode tag in _replaceController.Root.Nodes) {
if (tag == null)
continue;
node.NamedTagContainer.AddTag(tag.Tag, tag.NodeName);
node.SyncTag();
}
_mainController.RefreshTreeNode(node);
}
private void _tbFindEdit_Click (object sender, EventArgs e)
{
_findController.EditSelection();
}
private void _tbReplaceEdit_Click (object sender, EventArgs e)
{
_replaceController.EditSelection();
}
}
public abstract class ContainerRuleSearchState : ISearchState
{
public TagCompoundDataNode RuleTags { get; set; }
public DataNode RootNode { get; set; }
public IEnumerator<DataNode> State { get; set; }
public abstract void InvokeDiscoverCallback (DataNode node);
public abstract void InvokeProgressCallback (DataNode node);
public abstract void InvokeCollapseCallback (DataNode node);
public abstract void InvokeEndCallback (DataNode node);
public bool TestNode (DataNode node)
{
if (RuleTags == null)
return false;
TagCompoundDataNode tagNode = node as TagCompoundDataNode;
if (tagNode == null)
return false;
foreach (TagDataNode rule in RuleTags.Nodes) {
TagNode matchTag = tagNode.NamedTagContainer.GetTagNode(rule.NodeName);
if (matchTag == null)
return false;
TagNode ruleTag = rule.Tag;
if (ruleTag.GetTagType() != matchTag.GetTagType())
return false;
if (ruleTag.ToString() != matchTag.ToString())
return false;
}
return true;
}
}
public class ContainerRuleSearchStateWin : ContainerRuleSearchState
{
private ContainerControl _sender;
public ContainerRuleSearchStateWin (ContainerControl sender)
{
_sender = sender;
}
public Action<DataNode> DiscoverCallback { get; set; }
public Action<DataNode> ProgressCallback { get; set; }
public Action<DataNode> CollapseCallback { get; set; }
public Action<DataNode> EndCallback { get; set; }
public override void InvokeDiscoverCallback (DataNode node)
{
if (_sender != null && DiscoverCallback != null)
_sender.BeginInvoke(DiscoverCallback, new object[] { node });
}
public override void InvokeProgressCallback (DataNode node)
{
if (_sender != null && ProgressCallback != null)
_sender.BeginInvoke(ProgressCallback, new object[] { node });
}
public override void InvokeCollapseCallback (DataNode node)
{
if (_sender != null && CollapseCallback != null)
_sender.BeginInvoke(CollapseCallback, new object[] { node });
}
public override void InvokeEndCallback (DataNode node)
{
if (_sender != null && EndCallback != null)
_sender.BeginInvoke(EndCallback, new object[] { node });
}
}
}

View file

@ -125,7 +125,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADK
NgAAAk1TRnQBSQFMAgEBEQEAATABAQEwAQEBEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA
NgAAAk1TRnQBSQFMAgEBEQEAAVABAQFQAQEBEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABUAMAAQEBAAEYBgABPNUAA/8D/AP6GPgD+QP6A/yWAAP+A/kD8QG6AaIBigG2AYYBVgG2AYYBVgG2
AYYBVgG2AYYBVgG2AYYBVgG2AYYBVgG2AYYBVgG2AYYBVgG8AaQBjQP3nwAB6AHfAdQBuQGJAVkB/AG4
ARwB/AGzAQ4B/AGzAQ0B/AGzAQwB/AGyAQsB/AGyAQsB/AGzAQ4BuQGJAVmlAAHpAd8B1QG+AY4BXQH3
@ -365,63 +365,76 @@
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="_tbFindEdit.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGtSURBVDhPY2AgETxkYNB+wMg49xIDgz2JWhkYgoKC5PeI
is7939Hx/ygj485NDAzORBsSEhKiEhAQkPnt27f/PzIy/n+Kifm/goFhI1EGbJ7N4DClWWQxSPOZM2f+
3717938zK+vWeQwMRgQNAGlePZVx+/93Hf93rzIGaxYXF282ZGPTJEnzn9fN/++dDfvfU8mxgYuLS58k
zT+e1/1/cD7q/5rJTAfWz2AmHHDIzv7yuOL/40ux/5f0MB1aMYnZhSSb398r/P/kcsL/2a1Mhxd1MLuS
pPn1rUyw5kk1TEenN5Ko+dnVZKDm+P+dxYzHJ1QyELZ5cQ2D+vJexmWgqHp0Mfb/wwvR/+uzGU+0FTC4
EXT2qnoGtumFDDkfnxx4f2a3y//75yL+VyYxnqrNYHAnqBmkoD+bwXL34qQDn54d+n/73IKv+eGMh8sS
iNQMMqAqlrEVpHnxxNCLyT6Ms+z1GQKAwqJALAzEgkDMD8S8QMwFxBxAzAbELEDMDMSMIDP+J3sxzrLW
Y0jm42QwBfJ1gVgLiNWAWBGIZYFYEohFgFgAiLmhBrECaSYAob3Tx5kHe6EAAAAASUVORK5CYII=
</value>
</data>
<data name="_tbFindDelete.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFZSURBVDhPzZG9SwNBEMXnL1BO7wRRA4LRLhDRdCkDKQIp
0liEqEFIG1MkvYJWFtooWEQCfgXBRlAsrMTqBAtBwVYsbGzFwvG95TaId1xaD37szrz3Zo9dkX/1nYrk
uyI+178/FqcZ7xFCxwhrq6VcWdshVvus10Na76AOQt/Npj4WCvrVaChrkA/w36tVo72Wy0YLXV0b5gMI
H7Wa3mQy+lapKGvyVCya3n0uZ3r0Rt79PgTgv5RKeplK6V02q9fptLY9T08SCaVGT+zD7cGwC+NFMqkd
xzEcuq6yR63vq2/DtAPzOU49Q9jCHrXYAVswAP8KwSio0RM5ZAPCJgy3CFtYR/XoDQ1Zg/kBYQvrdRhJ
lBYasADjKkLPGMKVtTXFadYzjs30rMjKIsJzIsuop8AEGAOT8yJL1OhBPQOY6X0D2A2D0YARrENgEFBz
gPdLd4N+31fta/gB8I2yXiCOQTQAAAAASUVORK5CYII=
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFYSURBVDhPzZG9SwNBEMXnL1BOc4KoAcFoF4houpSBFIEU
aSxC1CCkPVIkvYJWFtooWEQCfiLYCIqFlVidYCEo2IqFja1YOL633AbxjrvWgx+7M++92WNX5F99JyKl
UxGf698fi9OM9xChI4S101GurO0Qq316XkjrH9RD6Lvd1sdyWb9aLWUNSgH+e6NhtNdazWihq+vCvA/h
o9nUm3xe3+p1ZU2eKhXTuy8WTY/eyLvfgwD8l2pVL7NZvSsU9DqX067r6nE6rdToiX24XRh2YLzIZLTn
OIaDVErZo5b46lswbcN8jlPPELawRy12wCYMwL9CMApq9EQOWYewAcMtwhbWUT16Q0NWYX5A2MJ6DUYS
pYUGLMDoIfSMIVxZW1OcZj3j2EzPiqwsIjwnsox6CkyAMTA5L7JEjR7UM4CZ/jeA3TAYDRjBOgQGATUH
uL/0VNBPfNVEww/s+bJaSKBvAQAAAABJRU5ErkJggg==
</value>
</data>
<data name="_tbFindGroupAnd.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJLSURBVDhPzZLbT5JxHMbfVVdd5KmaedHaqo01u8ncvKmL
WnjRljfZcEvbXLOWm4UL7GCBtbIEO3FqDJumliAMEhL3ohhLiciR5siQlzgripRAtC666Pe4t63+gnq3
z77PnsMLG1DUf/OUtdjy9gnpCnKryi7RNbiVoplj4E+P7eT99cVJYXvlzfHagcmoMpT8PpJM//D0j36Z
ON2+lAbQ8JChgy42ay/BJx8R2095I2l9eCVnDy7n6MnZr66aViYjN6TCABoeMnTQxQZbau8F84Fex2cl
CW3MYtZK7miTZDZ4Xjqf6LOlPwJoeMjYjg0bbClOk4k3F8tYvCyBpdx4Oc+avtu7MPfAkJy4/WzZdk0d
elfOG161eBZkfa9DtwyuqNTpW3mKLcVpNDYwiW+O6dCqEXyKZehd3MGfnbqk42rXwhCQ6JKv4Jmn4o8V
NHNdOcKIhj2LamypnWd0dVOBlOmtP6W3vk9ojO64inPUmBbIgu4WTdwMoOHpnFH5/Zc+MdC7ogpsqR31
z7kPLV61yR3TSIZ8N1R0oKOK75yvFn6IXOmKWwE0PGQdL3xtcqv/jmjAcw9bqqS2p6i0UdvcY2dknWZf
e9ugVyzVM9qKk9NZgTw2A6DhIUMH3T3ntHxs137KIu5lzu6GfoGw2/XoiT2g0r+JdAvk/rGD9eEsgIaH
DB10sfn9Z1pPxOYNxaX78w9frCs4rmguPKFuLaxW8YsPic4CaHjI0EEXGwK21DrCRtYoIXcbYQshn7CJ
pYDcrWyGDsbYYPuPn1/YcpRhvZgT5gAAAABJRU5ErkJggg==
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJQSURBVDhPzZLbT1JxAMfPqqce8lbNfGht1caaPZS5tbZe
bOlDWz5kjbbUrTVrsVW4wC4WWHMWaBfk0hg2NS1BGAQU7mAYC42IKCtS9CDgAURRE4x66aHf19FWf0Gd
7bPfd9/LOWc7h6L+m6ukwZ6zW0jvJWdlySX6OM4K0ehh8KeX7eT89eKksLni5lB13zCrDCe/DyRTP3y9
g4uuUy2xFICGhwwddLFZuQmefFDsqPVHUvrIfMYRmsvQwx8X3dxGJi03zEYANDxk6KCLDbbUzguW/Y+c
U0oS2pmZtG1qLjPIk34KnZeMJ3rsX78AaHjI0EEXG2wpzjkTdyyatn7OEpzNDO2qsqVud8fH7hmSrubH
c/Zr6tDbUq55yeqLt/e8Cjcb3GzrSGC+G1uKwzPWMYlvzg/hJSMYZ9P0trL+n226pPNqR9wMpLrkS3gW
b+yBgmauKwcY0fN3M2psqa2ndTXe4ILpzeSC3vY+oTF6YirOIUNKIAt5GjQxC4CGpxth5XefBcRA72YV
2FJbTj4pv2/1q00eViM1B26o6KCkku+aOCL0TV/piNoANDxkkqeBJrlt8paoz3cHW6qouqugmKet73Iw
7W2WQEtTv1/cqme0pSe8ywJZdBRAw0OGDro7zmr52K58yoLyy5ztdb0CYadb9tARVOlfT3cK5BMv9tWG
lgE0PGTooIvN759pNRHr1xQW78k9cLEmr0pRn39M3Zh/VMUvLBOdAdDwkKGDLjYEbKlVhLVZo4icmwgb
CLmEdVnyyLkxm6GDMTbY/uPrF7Vvk9ejmHWhAAAAAElFTkSuQmCC
</value>
</data>
<data name="_tbFindGroupOr.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJBSURBVDhPzZLda1JhAMYPdddFFLSgLiuGsG52FayL9YVE
MAhl9LFFWLsILCKaSduEsukqdXTRpzmnbp6hW4w8bWcfMufSarFQl3O22vSYnuPOKdN151XvMxyxv6Be
+PE+PB+HA+dQ1H9zLhokWYtBsl82SClCGXeL4YcLbPYkO7qbXvzM7ZTifAcndFhF4aXv17ehwO9MV58U
adKnYwAaHjJ00MVm/SHyq3OyhusxwUyLy7R/Len2lxKu8eKCyrQ83DtajANoeMjQQRcbbKm6pmm7uisp
9E+WEn0TxTjtLy1qrZmpzn4+DA9Aw0OGDjxssKVqGnwpC80vOcaK88DtX/tyrnORsTGFyKNXUshIi5Nm
z+pMo37BZ/KIU3pXftToFifu9Wai2FL75YNlB1v4ahspRIBrrJg41RYdtnilYHsP7wMmrzQNz+z5692n
8yFsqX3Hh1JGx/fks9c/P5m9UujBgBRU3vk8YqDzQa0txwBoeEb3amDDa32cmsWWqj7J2pvbY/zDAfGt
xpp7o7ML41e6l/w3nqwE2npyLICGh+zWixwDr1ETTWNLHVSEZbXK2fw1CxfRWrPszecZRu/kZ07rYuxd
Jx8G0PCQaW1ZFt1a5QcB2/VPWXPCqTh8IZlv1nFc69PsR6NbeK/uXpk7po4nATQ8DcnQQRebjZ9pKxG7
qg4o5YeU7wbrVVnu6CW+fESVS9edjXhBPdHwkKGDLjYEbKkthG0VYy+59xCqCDsI2yvsJPfuSoYOxthg
+4/PH5mFqtsT5Zp5AAAAAElFTkSuQmCC
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAI/SURBVDhPzZLvaxJxAMaPeteLKGhBvQkiQlgQvQoWEf1A
ooiBFq1VG6O9CBxELB0pg+ZOK+dGL2oM05uZu1AJSd1szra5tLFYnJZz18r0RO+c59D20lfdI47YX1Bf
+PB9eH4cB3cE8d+cToMo6yZF6s6gmOkcEGq4u8myA2z3RArdbS9+/WFG0a7lBK2lJLz0lX96PvzOPXaI
zE19NgGg4SFDB11s6g+R9yzLrtxjBBNdStOhTdYZrqTs05WVLlPaawtUkwAaHjJ00MUGW6KlfZ5Skazg
nKmkXoeqSTpcWe2zcLOkk4/BA9DwkKEDDxtsiebLvswwza/Z31e/Amd483sbueq3viszz96KUQNdmjG7
igtX9Su+Idf6rN5RnDI6S6HBcS6OLXFI7qmNBzZ+WCfLDHAEK6lL2rh32C1GdDbeB4bc4jw8s+uv94QW
otgSh897MkY7x456N76Y3WL0KS1GlI++TRroYqTPWvAD6Lo3sT635fU+zyxhSxy9OEXd0iV405vSR7Wl
EOinhOm7I2vh+y/Sc1pbPgig4SHTjBX88K6p41lsiWOKmOyEcqnYY+YYjSUf7B3L+fV2fqG1PxEcsPMx
AA0PmcaaD6J7vDUqYFv/lM0XXilO3WaLN3Qc92A0/9k4UVhUjfxaPqdKsgAanlrK0EEXm62faack9jUd
UcpPKj95znRx3NmOQu10Ry7b0sa4ATQ8ZOigi40EtsQOiV0N46B0H5BoktgjsbvBXune38jQwRgbbP/x
+QNvN6nqpXqOHwAAAABJRU5ErkJggg==
</value>
</data>
<data name="_tbFindAny.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAH7SURBVDhPY2CgFdi1mNl512KmvSC8czFTPFH2bJnPIAFT
uG0+075vr2d8//12+p9tC5h2wcSR1aAYunEOU8KmuUz7Ns1lXr5xNrMHiP373cz/Xx5X/EWIMS8HiYPU
Yrhow0ym/d9fTf7//mH790Mb9M6D+N9e9P9/eS3lx/qZTKsPrdM5//Zew/cvz7r+g+QwDFg9henA/TPh
P55eSfz/6lbx//2rtC68f9j8//bJwE/7VmlceHmz4D9IDqQGpBbDgOUTGayW9zOu3LNC+ebJbRYvHl1K
/Q/Cd04H/394Mfk/SAwkB1IDUoszUBd2Mbss7GY6dGqH1YdrRz3+gzCIDRIDyeHUOLuVwXpOG+PqXSuN
gS5wfHnlsMt/EL5xwh9MH9ts/XLHEq2bIDUgtRgGTWtgOnL3bOKPWye9/18/5vJ/6SThy6d3Wny+dy4M
zAaJ3Tjh8f/qUZ8fILUYBvRXMh29c9rl/6VDNj8W9Qhd6a9k3HDlsO2P++cD/4PkQGIgOZAaEB/DgPYC
hpSWXMYTQLweyPYG0ffPOf59esXnP0gcJgZlp2ANCytDBimYRGUy47Enl13+3j3l8LMyifEUTBxZDTZD
eIGCikCs7mfPUFGXyXEBhO1NGBJBYkCsDMQCQMyIKzY4gBJiQAxyCTYsDhTnwmcAUZkOWREA1X0d4o/X
sU8AAAAASUVORK5CYII=
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAH8SURBVDhPY2CgFdi1mNl512LGvSC8czFTPFH2bJnPIAFT
uG0e475Pr6d8//5y8p9tCxh3wcSR1aAYunEOU8KmuYz7Ns1lXr5xNrMHiP373cz/H+6X/EWIMS8HiYPU
Yrhow0zG/d9fTf7//mH794MbdM+D+N9e9P9/eSnhx7qZjKsPrtE5//ZWw/cvz7r+g+QwDFg9menA/RPh
P55eSfz/6lbx//2rNC68f9j8//bJwE/7gOyXNwv+g+RAakBqMQxYPpHBank/48o9K5Rvntxm8eLRpdT/
IHzndPD/hxeT/4PEQHIgNSC1OAN1YRezy4JupkPHtlh9uHbU4z8Ig9ggMZAcTo2zWxms57Qxrt6x0ujm
yc32L68cdvkPwjdO+IPpY5utX+5YonUTpAakFsOgqfVMR+6ejP1x66T3/+vHXP4vnSR8+eRW08/3zoWB
2SCxGyc8/l886vMDpBbDgL4KpqN3Trv8P3fI4seibqEr/ZWMGy4ctvxx/3zgf5AcSAwkB1ID4mMY0F7A
kNKSw3iiJZdxPZDtDaJvn7L/+/SKz3+QOEwMyk7BGhZWhgxSMInKZMZjD847/L17zP5nZRLjKZg4shps
hvACBRWBWN3PnqGiLpPjAgjbmzAkgsSAWBmIBYCYEVdscAAlxIAY5BJsWBwozoXPAKIyHbIiAESUHSe1
K3ppAAAAAElFTkSuQmCC
</value>
</data>
<data name="_tbFindByte.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -520,16 +533,29 @@
<metadata name="toolStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>122, 17</value>
</metadata>
<data name="_tbReplaceEdit.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGtSURBVDhPY2AgETxkYNB+wMg49xIDgz2JWhkYgoKC5PeI
is7939Hx/ygj485NDAzORBsSEhKiEhAQkPnt27f/PzIy/n+Kifm/goFhI1EGbJ7N4DClWWQxSPOZM2f+
3717938zK+vWeQwMRgQNAGlePZVx+/93Hf93rzIGaxYXF282ZGPTJEnzn9fN/++dDfvfU8mxgYuLS58k
zT+e1/1/cD7q/5rJTAfWz2AmHHDIzv7yuOL/40ux/5f0MB1aMYnZhSSb398r/P/kcsL/2a1Mhxd1MLuS
pPn1rUyw5kk1TEenN5Ko+dnVZKDm+P+dxYzHJ1QyELZ5cQ2D+vJexmWgqHp0Mfb/wwvR/+uzGU+0FTC4
EXT2qnoGtumFDDkfnxx4f2a3y//75yL+VyYxnqrNYHAnqBmkoD+bwXL34qQDn54d+n/73IKv+eGMh8sS
iNQMMqAqlrEVpHnxxNCLyT6Ms+z1GQKAwqJALAzEgkDMD8S8QMwFxBxAzAbELEDMDMSMIDP+J3sxzrLW
Y0jm42QwBfJ1gVgLiNWAWBGIZYFYEohFgFgAiLmhBrECaSYAob3Tx5kHe6EAAAAASUVORK5CYII=
</value>
</data>
<data name="_tbReplaceDelete.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFZSURBVDhPzZG9SwNBEMXnL1BO7wRRA4LRLhDRdCkDKQIp
0liEqEFIG1MkvYJWFtooWEQCfgXBRlAsrMTqBAtBwVYsbGzFwvG95TaId1xaD37szrz3Zo9dkX/1nYrk
uyI+178/FqcZ7xFCxwhrq6VcWdshVvus10Na76AOQt/Npj4WCvrVaChrkA/w36tVo72Wy0YLXV0b5gMI
H7Wa3mQy+lapKGvyVCya3n0uZ3r0Rt79PgTgv5RKeplK6V02q9fptLY9T08SCaVGT+zD7cGwC+NFMqkd
xzEcuq6yR63vq2/DtAPzOU49Q9jCHrXYAVswAP8KwSio0RM5ZAPCJgy3CFtYR/XoDQ1Zg/kBYQvrdRhJ
lBYasADjKkLPGMKVtTXFadYzjs30rMjKIsJzIsuop8AEGAOT8yJL1OhBPQOY6X0D2A2D0YARrENgEFBz
gPdLd4N+31fta/gB8I2yXiCOQTQAAAAASUVORK5CYII=
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFYSURBVDhPzZG9SwNBEMXnL1BOc4KoAcFoF4houpSBFIEU
aSxC1CCkPVIkvYJWFtooWEQCfiLYCIqFlVidYCEo2IqFja1YOL633AbxjrvWgx+7M++92WNX5F99JyKl
UxGf698fi9OM9xChI4S101GurO0Qq316XkjrH9RD6Lvd1sdyWb9aLWUNSgH+e6NhtNdazWihq+vCvA/h
o9nUm3xe3+p1ZU2eKhXTuy8WTY/eyLvfgwD8l2pVL7NZvSsU9DqX067r6nE6rdToiX24XRh2YLzIZLTn
OIaDVErZo5b46lswbcN8jlPPELawRy12wCYMwL9CMApq9EQOWYewAcMtwhbWUT16Q0NWYX5A2MJ6DUYS
pYUGLMDoIfSMIVxZW1OcZj3j2EzPiqwsIjwnsox6CkyAMTA5L7JEjR7UM4CZ/jeA3TAYDRjBOgQGATUH
uL/0VNBPfNVEww/s+bJaSKBvAQAAAABJRU5ErkJggg==
</value>
</data>
<data name="_tbReplaceByte.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -629,10 +655,10 @@
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADjSURBVDhPY2AYtiCMkZFxGsx3UHYYsb6NAGqYCVQshqRB
DCoWQciQKKDCOUBF4mWpd2eWp939D8IgNkgMKheFy5AYoIIFIIUwBYUJN2YWJt64iaQBZAhITQy6IQZA
iT1AQQNkiayICzMzI88jGwCSxqoWJJEINGQlkJaEGZIUeHxmYuBxZAMkoWoScXkjGahgHciQSM/9M6M8
DCoWQciQKKDCOUBF4mWpd2eWp939D8IgNkgMKheFy5AYoIIFIIUwBYUJN2bmJd64iaQBZAhITQy6IQZA
iT1AQQNkiayICzMzIs8gGwCSxqoWJJEINGQlkJaEGZIUeGxmYuBRZAMkoWoScXkjGahgHciQCM/9M6M8
D/wHYRAbJAaVSyYUkOlAhduAiqSRFEpDxdLxaWYBSvJCA7ERSB8HYj4g5oeyG4C0BJQPUosBkA0AhYMI
kgHC0LDBawAhrw1SeQBwVTXst7jVFQAAAABJRU5ErkJggg==
kgHC0LDBawAhrw1SeQBXfTXgL01i9wAAAABJRU5ErkJggg==
</value>
</data>
<data name="_tbReplaceString.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -656,13 +682,13 @@
<data name="_tbReplaceCompound.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFySURBVDhPY2CgBthfz8CyP4kl40AiczcM19sznEHGyHIg
tSA9cLv3xrErn67WXPp+T+f/d7s7wHh2hikKhomD1IDUgvTADdiVwOx+c4rPEWQDlpc4/ofhJYV2cINB
akBqQXrgBuyIZ8m9vyz7wbPNDf9heEuj338YXlftARcHyYPUgvTADdgawzz1763lf//fXfUfhu+uKgcy
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFySURBVDhPY2CgBthfz8CyP4kl40AiczcM19sxnEHGyHIg
tSA9cLv3xrErn6rWXPp+T+f/d7s7wHh2hikKhomD1IDUgvTADdiVwOx+c4r3EWQDlpc4/ofhJYV2cINB
akBqQXrgBuyIZ8m9vyz7wbPNDf9heEuj338YXlftARcHyYPUgvTADdgawzz157Xlf//fXfUfhu+uKgcy
IfjMzDS4OEgepBakB27A5ijmGT8vzf//+cRUON7dEfofhjc3+KLIgdSC9MAN2BDFPPvbudn/PxyZCMcg
zavKXcCGLCt2QJEDqQXpgRuwOoJ5/qeT0/6/2d8DxyDNID6MRpYDqQXpgRuwPIx58btD/f9f7monCoPU
gvTADVgSwrjsFTDun25tIgqD1IL0wA2YH8C4+smWxv8PN9QShUFqQXrgBkzxZNzxYF31//trq4jCILUg
PTAD5FKNGee1uTAeJQWD9AANkAMZwg/E4kAsRSIG6QHppQwAAMsf3cD9cMK9AAAAAElFTkSuQmCC
PTAD5FKNGee1uTAeJQWD9AANkAMZwg/E4kAsRSIG6QHppQwAAIR13ahrUo3PAAAAAElFTkSuQmCC
</value>
</data>
</root>

View file

@ -31,40 +31,48 @@
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemOpen = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemOpenFolder = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemOpenMinecraftSaveFolder = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this._menuItemSave = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemRefresh = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this._menuItemRecentFiles = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemRecentFolders = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
this._menuItemExit = new System.Windows.Forms.ToolStripMenuItem();
this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemCut = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemCopy = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemPaste = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator();
this._menuItemRename = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemEditValue = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemDelete = new System.Windows.Forms.ToolStripMenuItem();
this.searchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemFind = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemFindNext = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
this.replaceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemAbout = new System.Windows.Forms.ToolStripMenuItem();
this._nodeTree = new NBTExplorer.Vendor.MultiSelectTreeView.MultiSelectTreeView();
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
this.BottomToolStripPanel = new System.Windows.Forms.ToolStripPanel();
this.TopToolStripPanel = new System.Windows.Forms.ToolStripPanel();
this.RightToolStripPanel = new System.Windows.Forms.ToolStripPanel();
this.LeftToolStripPanel = new System.Windows.Forms.ToolStripPanel();
this.ContentPanel = new System.Windows.Forms.ToolStripContentPanel();
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.testToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this._buttonOpen = new System.Windows.Forms.ToolStripButton();
this._buttonOpenFolder = new System.Windows.Forms.ToolStripButton();
this._buttonSave = new System.Windows.Forms.ToolStripButton();
this._buttonRefresh = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this._buttonCut = new System.Windows.Forms.ToolStripButton();
this._buttonCopy = new System.Windows.Forms.ToolStripButton();
this._buttonPaste = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
this._buttonRename = new System.Windows.Forms.ToolStripButton();
this._buttonEdit = new System.Windows.Forms.ToolStripButton();
this._buttonDelete = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this._buttonAddTagByte = new System.Windows.Forms.ToolStripButton();
this._buttonAddTagShort = new System.Windows.Forms.ToolStripButton();
this._buttonAddTagInt = new System.Windows.Forms.ToolStripButton();
@ -76,23 +84,18 @@
this._buttonAddTagString = new System.Windows.Forms.ToolStripButton();
this._buttonAddTagList = new System.Windows.Forms.ToolStripButton();
this._buttonAddTagCompound = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
this._buttonFindNext = new System.Windows.Forms.ToolStripButton();
this._menuItemOpen = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemOpenFolder = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemSave = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemRefresh = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemExit = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemCut = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemCopy = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemPaste = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemRename = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemEditValue = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemDelete = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemFind = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemFindNext = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemAbout = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
this.replaceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.BottomToolStripPanel = new System.Windows.Forms.ToolStripPanel();
this.TopToolStripPanel = new System.Windows.Forms.ToolStripPanel();
this.RightToolStripPanel = new System.Windows.Forms.ToolStripPanel();
this.LeftToolStripPanel = new System.Windows.Forms.ToolStripPanel();
this.ContentPanel = new System.Windows.Forms.ToolStripContentPanel();
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.testToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemMoveUp = new System.Windows.Forms.ToolStripMenuItem();
this._menuItemMoveDown = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator();
this.menuStrip1.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.contextMenuStrip1.SuspendLayout();
@ -129,6 +132,23 @@
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
this.fileToolStripMenuItem.Text = "&File";
//
// _menuItemOpen
//
this._menuItemOpen.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemOpen.Image")));
this._menuItemOpen.Name = "_menuItemOpen";
this._menuItemOpen.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
this._menuItemOpen.Size = new System.Drawing.Size(223, 22);
this._menuItemOpen.Text = "&Open...";
//
// _menuItemOpenFolder
//
this._menuItemOpenFolder.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemOpenFolder.Image")));
this._menuItemOpenFolder.Name = "_menuItemOpenFolder";
this._menuItemOpenFolder.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
| System.Windows.Forms.Keys.O)));
this._menuItemOpenFolder.Size = new System.Drawing.Size(223, 22);
this._menuItemOpenFolder.Text = "Open &Folder...";
//
// _menuItemOpenMinecraftSaveFolder
//
this._menuItemOpenMinecraftSaveFolder.Name = "_menuItemOpenMinecraftSaveFolder";
@ -140,6 +160,23 @@
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(220, 6);
//
// _menuItemSave
//
this._menuItemSave.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemSave.Image")));
this._menuItemSave.Name = "_menuItemSave";
this._menuItemSave.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
this._menuItemSave.Size = new System.Drawing.Size(223, 22);
this._menuItemSave.Text = "&Save";
//
// _menuItemRefresh
//
this._menuItemRefresh.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemRefresh.Image")));
this._menuItemRefresh.Name = "_menuItemRefresh";
this._menuItemRefresh.ShortcutKeys = System.Windows.Forms.Keys.F5;
this._menuItemRefresh.Size = new System.Drawing.Size(223, 22);
this._menuItemRefresh.Text = "Refresh";
this._menuItemRefresh.Click += new System.EventHandler(this.refreshToolStripMenuItem_Click);
//
// toolStripSeparator4
//
this.toolStripSeparator4.Name = "toolStripSeparator4";
@ -162,6 +199,14 @@
this.toolStripSeparator8.Name = "toolStripSeparator8";
this.toolStripSeparator8.Size = new System.Drawing.Size(220, 6);
//
// _menuItemExit
//
this._menuItemExit.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemExit.Image")));
this._menuItemExit.Name = "_menuItemExit";
this._menuItemExit.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4)));
this._menuItemExit.Size = new System.Drawing.Size(223, 22);
this._menuItemExit.Text = "E&xit";
//
// editToolStripMenuItem
//
this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
@ -171,15 +216,67 @@
this.toolStripSeparator7,
this._menuItemRename,
this._menuItemEditValue,
this._menuItemDelete});
this._menuItemDelete,
this.toolStripSeparator10,
this._menuItemMoveUp,
this._menuItemMoveDown});
this.editToolStripMenuItem.Name = "editToolStripMenuItem";
this.editToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Up)));
this.editToolStripMenuItem.Size = new System.Drawing.Size(39, 20);
this.editToolStripMenuItem.Text = "&Edit";
//
// _menuItemCut
//
this._menuItemCut.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemCut.Image")));
this._menuItemCut.Name = "_menuItemCut";
this._menuItemCut.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.X)));
this._menuItemCut.Size = new System.Drawing.Size(203, 22);
this._menuItemCut.Text = "Cu&t";
//
// _menuItemCopy
//
this._menuItemCopy.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemCopy.Image")));
this._menuItemCopy.Name = "_menuItemCopy";
this._menuItemCopy.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C)));
this._menuItemCopy.Size = new System.Drawing.Size(203, 22);
this._menuItemCopy.Text = "&Copy";
//
// _menuItemPaste
//
this._menuItemPaste.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemPaste.Image")));
this._menuItemPaste.Name = "_menuItemPaste";
this._menuItemPaste.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.V)));
this._menuItemPaste.Size = new System.Drawing.Size(203, 22);
this._menuItemPaste.Text = "&Paste";
//
// toolStripSeparator7
//
this.toolStripSeparator7.Name = "toolStripSeparator7";
this.toolStripSeparator7.Size = new System.Drawing.Size(163, 6);
this.toolStripSeparator7.Size = new System.Drawing.Size(200, 6);
//
// _menuItemRename
//
this._menuItemRename.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemRename.Image")));
this._menuItemRename.Name = "_menuItemRename";
this._menuItemRename.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R)));
this._menuItemRename.Size = new System.Drawing.Size(203, 22);
this._menuItemRename.Text = "&Rename";
//
// _menuItemEditValue
//
this._menuItemEditValue.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemEditValue.Image")));
this._menuItemEditValue.Name = "_menuItemEditValue";
this._menuItemEditValue.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.E)));
this._menuItemEditValue.Size = new System.Drawing.Size(203, 22);
this._menuItemEditValue.Text = "&Edit Value";
//
// _menuItemDelete
//
this._menuItemDelete.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemDelete.Image")));
this._menuItemDelete.Name = "_menuItemDelete";
this._menuItemDelete.ShortcutKeys = System.Windows.Forms.Keys.Delete;
this._menuItemDelete.Size = new System.Drawing.Size(203, 22);
this._menuItemDelete.Text = "&Delete";
//
// searchToolStripMenuItem
//
@ -192,6 +289,35 @@
this.searchToolStripMenuItem.Size = new System.Drawing.Size(54, 20);
this.searchToolStripMenuItem.Text = "&Search";
//
// _menuItemFind
//
this._menuItemFind.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemFind.Image")));
this._menuItemFind.Name = "_menuItemFind";
this._menuItemFind.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F)));
this._menuItemFind.Size = new System.Drawing.Size(167, 22);
this._menuItemFind.Text = "&Find...";
//
// _menuItemFindNext
//
this._menuItemFindNext.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemFindNext.Image")));
this._menuItemFindNext.Name = "_menuItemFindNext";
this._menuItemFindNext.ShortcutKeys = System.Windows.Forms.Keys.F3;
this._menuItemFindNext.Size = new System.Drawing.Size(167, 22);
this._menuItemFindNext.Text = "Find &Next";
//
// toolStripSeparator9
//
this.toolStripSeparator9.Name = "toolStripSeparator9";
this.toolStripSeparator9.Size = new System.Drawing.Size(164, 6);
//
// replaceToolStripMenuItem
//
this.replaceToolStripMenuItem.Name = "replaceToolStripMenuItem";
this.replaceToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.H)));
this.replaceToolStripMenuItem.Size = new System.Drawing.Size(167, 22);
this.replaceToolStripMenuItem.Text = "&Replace...";
this.replaceToolStripMenuItem.Click += new System.EventHandler(this.replaceToolStripMenuItem_Click);
//
// helpToolStripMenuItem
//
this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
@ -200,6 +326,14 @@
this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
this.helpToolStripMenuItem.Text = "&Help";
//
// _menuItemAbout
//
this._menuItemAbout.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemAbout.Image")));
this._menuItemAbout.Name = "_menuItemAbout";
this._menuItemAbout.ShortcutKeys = System.Windows.Forms.Keys.F1;
this._menuItemAbout.Size = new System.Drawing.Size(126, 22);
this._menuItemAbout.Text = "&About";
//
// _nodeTree
//
this._nodeTree.AllowDrop = true;
@ -213,6 +347,7 @@
this._nodeTree.Margin = new System.Windows.Forms.Padding(0);
this._nodeTree.Name = "_nodeTree";
this._nodeTree.SelectedImageIndex = 0;
this._nodeTree.SelectedNodes = ((System.Collections.Generic.List<System.Windows.Forms.TreeNode>)(resources.GetObject("_nodeTree.SelectedNodes")));
this._nodeTree.Size = new System.Drawing.Size(619, 374);
this._nodeTree.TabIndex = 0;
//
@ -272,75 +407,6 @@
this.toolStrip1.Stretch = true;
this.toolStrip1.TabIndex = 0;
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
//
// toolStripSeparator6
//
this.toolStripSeparator6.Name = "toolStripSeparator6";
this.toolStripSeparator6.Size = new System.Drawing.Size(6, 25);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25);
//
// toolStripSeparator5
//
this.toolStripSeparator5.Name = "toolStripSeparator5";
this.toolStripSeparator5.Size = new System.Drawing.Size(6, 25);
//
// BottomToolStripPanel
//
this.BottomToolStripPanel.Location = new System.Drawing.Point(0, 0);
this.BottomToolStripPanel.Name = "BottomToolStripPanel";
this.BottomToolStripPanel.Orientation = System.Windows.Forms.Orientation.Horizontal;
this.BottomToolStripPanel.RowMargin = new System.Windows.Forms.Padding(3, 0, 0, 0);
this.BottomToolStripPanel.Size = new System.Drawing.Size(0, 0);
//
// TopToolStripPanel
//
this.TopToolStripPanel.Location = new System.Drawing.Point(0, 0);
this.TopToolStripPanel.Name = "TopToolStripPanel";
this.TopToolStripPanel.Orientation = System.Windows.Forms.Orientation.Horizontal;
this.TopToolStripPanel.RowMargin = new System.Windows.Forms.Padding(3, 0, 0, 0);
this.TopToolStripPanel.Size = new System.Drawing.Size(0, 0);
//
// RightToolStripPanel
//
this.RightToolStripPanel.Location = new System.Drawing.Point(0, 0);
this.RightToolStripPanel.Name = "RightToolStripPanel";
this.RightToolStripPanel.Orientation = System.Windows.Forms.Orientation.Horizontal;
this.RightToolStripPanel.RowMargin = new System.Windows.Forms.Padding(3, 0, 0, 0);
this.RightToolStripPanel.Size = new System.Drawing.Size(0, 0);
//
// LeftToolStripPanel
//
this.LeftToolStripPanel.Location = new System.Drawing.Point(0, 0);
this.LeftToolStripPanel.Name = "LeftToolStripPanel";
this.LeftToolStripPanel.Orientation = System.Windows.Forms.Orientation.Horizontal;
this.LeftToolStripPanel.RowMargin = new System.Windows.Forms.Padding(3, 0, 0, 0);
this.LeftToolStripPanel.Size = new System.Drawing.Size(0, 0);
//
// ContentPanel
//
this.ContentPanel.Size = new System.Drawing.Size(562, 376);
//
// contextMenuStrip1
//
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.testToolStripMenuItem});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(97, 26);
//
// testToolStripMenuItem
//
this.testToolStripMenuItem.Name = "testToolStripMenuItem";
this.testToolStripMenuItem.Size = new System.Drawing.Size(96, 22);
this.testToolStripMenuItem.Text = "Test";
//
// _buttonOpen
//
this._buttonOpen.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
@ -378,6 +444,11 @@
this._buttonRefresh.Text = "Refresh Content From Disk";
this._buttonRefresh.Click += new System.EventHandler(this._buttonRefresh_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
//
// _buttonCut
//
this._buttonCut.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
@ -405,6 +476,11 @@
this._buttonPaste.Size = new System.Drawing.Size(23, 22);
this._buttonPaste.Text = "Paste";
//
// toolStripSeparator6
//
this.toolStripSeparator6.Name = "toolStripSeparator6";
this.toolStripSeparator6.Size = new System.Drawing.Size(6, 25);
//
// _buttonRename
//
this._buttonRename.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
@ -432,6 +508,11 @@
this._buttonDelete.Size = new System.Drawing.Size(23, 22);
this._buttonDelete.Text = "Delete Tag";
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25);
//
// _buttonAddTagByte
//
this._buttonAddTagByte.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
@ -532,6 +613,11 @@
this._buttonAddTagCompound.Size = new System.Drawing.Size(23, 22);
this._buttonAddTagCompound.Text = "Add Compound Tag";
//
// toolStripSeparator5
//
this.toolStripSeparator5.Name = "toolStripSeparator5";
this.toolStripSeparator5.Size = new System.Drawing.Size(6, 25);
//
// _buttonFindNext
//
this._buttonFindNext.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
@ -541,132 +627,77 @@
this._buttonFindNext.Size = new System.Drawing.Size(23, 22);
this._buttonFindNext.Text = "Find / Find Next";
//
// _menuItemOpen
// BottomToolStripPanel
//
this._menuItemOpen.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemOpen.Image")));
this._menuItemOpen.Name = "_menuItemOpen";
this._menuItemOpen.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
this._menuItemOpen.Size = new System.Drawing.Size(223, 22);
this._menuItemOpen.Text = "&Open...";
this.BottomToolStripPanel.Location = new System.Drawing.Point(0, 0);
this.BottomToolStripPanel.Name = "BottomToolStripPanel";
this.BottomToolStripPanel.Orientation = System.Windows.Forms.Orientation.Horizontal;
this.BottomToolStripPanel.RowMargin = new System.Windows.Forms.Padding(3, 0, 0, 0);
this.BottomToolStripPanel.Size = new System.Drawing.Size(0, 0);
//
// _menuItemOpenFolder
// TopToolStripPanel
//
this._menuItemOpenFolder.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemOpenFolder.Image")));
this._menuItemOpenFolder.Name = "_menuItemOpenFolder";
this._menuItemOpenFolder.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
| System.Windows.Forms.Keys.O)));
this._menuItemOpenFolder.Size = new System.Drawing.Size(223, 22);
this._menuItemOpenFolder.Text = "Open &Folder...";
this.TopToolStripPanel.Location = new System.Drawing.Point(0, 0);
this.TopToolStripPanel.Name = "TopToolStripPanel";
this.TopToolStripPanel.Orientation = System.Windows.Forms.Orientation.Horizontal;
this.TopToolStripPanel.RowMargin = new System.Windows.Forms.Padding(3, 0, 0, 0);
this.TopToolStripPanel.Size = new System.Drawing.Size(0, 0);
//
// _menuItemSave
// RightToolStripPanel
//
this._menuItemSave.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemSave.Image")));
this._menuItemSave.Name = "_menuItemSave";
this._menuItemSave.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
this._menuItemSave.Size = new System.Drawing.Size(223, 22);
this._menuItemSave.Text = "&Save";
this.RightToolStripPanel.Location = new System.Drawing.Point(0, 0);
this.RightToolStripPanel.Name = "RightToolStripPanel";
this.RightToolStripPanel.Orientation = System.Windows.Forms.Orientation.Horizontal;
this.RightToolStripPanel.RowMargin = new System.Windows.Forms.Padding(3, 0, 0, 0);
this.RightToolStripPanel.Size = new System.Drawing.Size(0, 0);
//
// _menuItemRefresh
// LeftToolStripPanel
//
this._menuItemRefresh.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemRefresh.Image")));
this._menuItemRefresh.Name = "_menuItemRefresh";
this._menuItemRefresh.ShortcutKeys = System.Windows.Forms.Keys.F5;
this._menuItemRefresh.Size = new System.Drawing.Size(223, 22);
this._menuItemRefresh.Text = "Refresh";
this._menuItemRefresh.Click += new System.EventHandler(this.refreshToolStripMenuItem_Click);
this.LeftToolStripPanel.Location = new System.Drawing.Point(0, 0);
this.LeftToolStripPanel.Name = "LeftToolStripPanel";
this.LeftToolStripPanel.Orientation = System.Windows.Forms.Orientation.Horizontal;
this.LeftToolStripPanel.RowMargin = new System.Windows.Forms.Padding(3, 0, 0, 0);
this.LeftToolStripPanel.Size = new System.Drawing.Size(0, 0);
//
// _menuItemExit
// ContentPanel
//
this._menuItemExit.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemExit.Image")));
this._menuItemExit.Name = "_menuItemExit";
this._menuItemExit.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4)));
this._menuItemExit.Size = new System.Drawing.Size(223, 22);
this._menuItemExit.Text = "E&xit";
this.ContentPanel.Size = new System.Drawing.Size(562, 376);
//
// _menuItemCut
// contextMenuStrip1
//
this._menuItemCut.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemCut.Image")));
this._menuItemCut.Name = "_menuItemCut";
this._menuItemCut.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.X)));
this._menuItemCut.Size = new System.Drawing.Size(166, 22);
this._menuItemCut.Text = "Cu&t";
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.testToolStripMenuItem});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(97, 26);
//
// _menuItemCopy
// testToolStripMenuItem
//
this._menuItemCopy.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemCopy.Image")));
this._menuItemCopy.Name = "_menuItemCopy";
this._menuItemCopy.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C)));
this._menuItemCopy.Size = new System.Drawing.Size(166, 22);
this._menuItemCopy.Text = "&Copy";
this.testToolStripMenuItem.Name = "testToolStripMenuItem";
this.testToolStripMenuItem.Size = new System.Drawing.Size(96, 22);
this.testToolStripMenuItem.Text = "Test";
//
// _menuItemPaste
// _menuItemMoveUp
//
this._menuItemPaste.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemPaste.Image")));
this._menuItemPaste.Name = "_menuItemPaste";
this._menuItemPaste.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.V)));
this._menuItemPaste.Size = new System.Drawing.Size(166, 22);
this._menuItemPaste.Text = "&Paste";
this._menuItemMoveUp.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemMoveUp.Image")));
this._menuItemMoveUp.Name = "_menuItemMoveUp";
this._menuItemMoveUp.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Up)));
this._menuItemMoveUp.Size = new System.Drawing.Size(203, 22);
this._menuItemMoveUp.Text = "Move &Up";
this._menuItemMoveUp.Click += new System.EventHandler(this._menuItemMoveUp_Click);
//
// _menuItemRename
// _menuItemMoveDown
//
this._menuItemRename.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemRename.Image")));
this._menuItemRename.Name = "_menuItemRename";
this._menuItemRename.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R)));
this._menuItemRename.Size = new System.Drawing.Size(166, 22);
this._menuItemRename.Text = "&Rename";
this._menuItemMoveDown.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemMoveDown.Image")));
this._menuItemMoveDown.Name = "_menuItemMoveDown";
this._menuItemMoveDown.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Down)));
this._menuItemMoveDown.Size = new System.Drawing.Size(203, 22);
this._menuItemMoveDown.Text = "Move Do&wn";
this._menuItemMoveDown.Click += new System.EventHandler(this._menuItemMoveDown_Click);
//
// _menuItemEditValue
// toolStripSeparator10
//
this._menuItemEditValue.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemEditValue.Image")));
this._menuItemEditValue.Name = "_menuItemEditValue";
this._menuItemEditValue.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.E)));
this._menuItemEditValue.Size = new System.Drawing.Size(166, 22);
this._menuItemEditValue.Text = "&Edit Value";
//
// _menuItemDelete
//
this._menuItemDelete.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemDelete.Image")));
this._menuItemDelete.Name = "_menuItemDelete";
this._menuItemDelete.ShortcutKeys = System.Windows.Forms.Keys.Delete;
this._menuItemDelete.Size = new System.Drawing.Size(166, 22);
this._menuItemDelete.Text = "&Delete";
//
// _menuItemFind
//
this._menuItemFind.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemFind.Image")));
this._menuItemFind.Name = "_menuItemFind";
this._menuItemFind.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F)));
this._menuItemFind.Size = new System.Drawing.Size(167, 22);
this._menuItemFind.Text = "&Find...";
//
// _menuItemFindNext
//
this._menuItemFindNext.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemFindNext.Image")));
this._menuItemFindNext.Name = "_menuItemFindNext";
this._menuItemFindNext.ShortcutKeys = System.Windows.Forms.Keys.F3;
this._menuItemFindNext.Size = new System.Drawing.Size(167, 22);
this._menuItemFindNext.Text = "Find &Next";
//
// _menuItemAbout
//
this._menuItemAbout.Image = ((System.Drawing.Image)(resources.GetObject("_menuItemAbout.Image")));
this._menuItemAbout.Name = "_menuItemAbout";
this._menuItemAbout.ShortcutKeys = System.Windows.Forms.Keys.F1;
this._menuItemAbout.Size = new System.Drawing.Size(126, 22);
this._menuItemAbout.Text = "&About";
//
// toolStripSeparator9
//
this.toolStripSeparator9.Name = "toolStripSeparator9";
this.toolStripSeparator9.Size = new System.Drawing.Size(164, 6);
//
// replaceToolStripMenuItem
//
this.replaceToolStripMenuItem.Name = "replaceToolStripMenuItem";
this.replaceToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.H)));
this.replaceToolStripMenuItem.Size = new System.Drawing.Size(167, 22);
this.replaceToolStripMenuItem.Text = "&Replace...";
this.replaceToolStripMenuItem.Click += new System.EventHandler(this.replaceToolStripMenuItem_Click);
this.toolStripSeparator10.Name = "toolStripSeparator10";
this.toolStripSeparator10.Size = new System.Drawing.Size(200, 6);
//
// MainForm
//
@ -757,6 +788,9 @@
private System.Windows.Forms.ToolStripMenuItem _menuItemRefresh;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator9;
private System.Windows.Forms.ToolStripMenuItem replaceToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator10;
private System.Windows.Forms.ToolStripMenuItem _menuItemMoveUp;
private System.Windows.Forms.ToolStripMenuItem _menuItemMoveDown;
}
}

File diff suppressed because it is too large Load diff

View file

@ -121,6 +121,217 @@
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="_menuItemCut.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAACCUlEQVQ4T6VSPWgTYRh+v/0Q
RUQ9DcJBfk6QG8IV6pJkyBASl8SlpFt0cglaSvjGqrSzIKIidKwi/g0iFiRDQZBCpByCwcGgkiGLi4OK
fX2er004RFw8eHi/9/m7H05UVf4H0mw2pdVqnQOiRqMhlUpF4jiWQqEgmUzGTe7kqdNHP3O8sSM7nY4l
6vV69K8C6lMvc66AVzabtYPBQNvtti2Xy9HfnoA8dfroZ25WgHOUy+VskiSKR7PFYjFKvwJ38tTpo//P
Au5RPp+3w+FQa7WahTHiN+DkTp76NDwruGSMdIGzAEXc2Y5GIy2VStb3/fOc3MlTp49+5twrvMPhI/AF
eLhXFIVhaMfjsVar1Zf9fl+5k6dOH/3MpQu8z8YsADeAB4+M2bwaBMlkMtEtz0t2sJPf1xdQ4KULvA/G
XJ/Mz2//XFr6qquru7q2pjvdrr4S+cazA3jq9NGPAs89wVtjFj/NzQ1oehIE72+KbP9aWdEXmMAtTu7k
qdNHP3OuYMuYe+nw9+VlfQrzM5HF5/hqnNzJp0tcjgWPRTYh7lL80evpBuZ9hK4h3AY4uZOnTh/9zLmC
2yJ33sTxmE+xDrEH8+m9H3R2cSdPnT76mXMFoUgFy13g9QWRK/Ce4d8NnAJOACeBAAgvilymj37mpr+y
D3GK4zgfBQ4DB4ED+ziEeQQ4lvL6LPgNwitoieNYTCsAAAAASUVORK5CYII=
</value>
</data>
<data name="_menuItemCopy.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAB70lEQVQ4T42SPUubYRSGz+Kg
IphFqCAFY4YiWboIUkyLhZjQWhULWVwcNJUgRqpECWazP6DkF9S2UkTqoAjBqnF3dOtQBC1YNOb7+/Tc
Dz3yECvkgQteeN735lz3eWlybY3exmKvhZkH6JuIRmlsZQXvGUYnh8nf30aurhYiXArBXLXK18Ui/87n
+TyT4V/pNO8kk4w7wWUHaOCg10MmWXiXLZf5TzbLF6kU/7y64rPLS/68t8c4uBdcOoEGvIlEiF4tLYG5
XKXCN7mcCUmcnvLXoyNejcfveBEMfv+neKdkAkbCYRAqiMJtoWBCtk9OuBklE/AyFALzJQnISgcI2Rb3
ZpRMwPPZWbBQrtU4Lz0gZOv4mG0l7eXjxgYrLp8vKhA9m54Gi9V6nYvSA0K2Dg/ZVmosFxuCNvRpYGoK
vK9JQEU0EPLt4IBtJS1XJzmXoqENfXoaCIDluqyrKhoI2Uwk2FbScnUS/CvQhj65x8dBBPuuyxQI+bK/
z7aSlquT3JRKDG3oU6vDQT0eT8z8MQgRPu3usq2k5eokaekJ2tDHedzudIY73O4PSp/X+8NW0nJ1EqwY
2tDH6RQeCd3KE79/3VbScnWSvBQN7d6hIRPQeDoblaCDTlAstlOSZ7wjHzr+F3BPydbTZ2jLx71/Ad5i
gsnRJ2HiAAAAAElFTkSuQmCC
</value>
</data>
<data name="_menuItemPaste.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAACc0lEQVQ4T43SW0hUURQG4PWS
0JsIFUQ9lWMTFo63RqXRLKoRDMbMcbyMWtqY5qBOjsEEFmlRJAaTlJRdTLtn+ZBBL4EE9rBDu0AlIURZ
D4VQjo3j7W+v0+xT+tSBj7M5Z6+ftdc5dC6diLVn/HXIaozIzc3NkVxhOfzs3z2qTisOB3TIDYKdMNFw
12H3l5GRD2C85mfqvbx36AF+GRAm3rfvRV9NKgYHX2Fo6B1GRz9reM3P+N1bfynkfqHq6OxmUsTrtiJc
L4nFRftaXCtej5v74nC7Ih7dpRtwuSAGPWUb8bK1ALJGqDpqTSVFDJ9x4NnRbDz2ZGguNNjQ1ujQnW8q
Q2eLC83bl72pLbSQ25FGdNqsEy9O5eGpb6fO7yvGr7k5/JyexvepKYwFAugbGECtPeWjzeeLzvZ6iU4m
6cTzZhueeLfqWr35mJyZwfjkJL5NTODT+Dh6+vvBlyyukgx0PIEUwe0/qrNoeGDHqrIRnJ3Fj2BQD/F3
d0OJtlqPUFMcKYLbv38gWRvkpfxoNJRkIiSPEAiFFoRwJ2Oyq23V1W7yxZIi+uvTcaVwHTodBo3HmYkZ
GRCUM1gcwjOxVFTUUaORFPGg2oyrRUZdXfEWzM3PIySPsTiEB2t2Oj1UbyBF9MqALtm+4i7MwLwc2Kzs
YnFIQAbE2+1e2r2SyL1GI3qrNmk/i1KZl6ZNnEO4Ez4Oz4QHOyXvMVlZPuJr1woi1+o/AbfKTboaWzzy
raYFHFkmJBlXfY00mVqiEhPLuX6ptHxPJImHB1O0r3CvMgl3XYm6O/sTwPi3ZryXa8K1FCUXsclL6MaO
CBL/g/dyjRT1G7y5F+bDPK+HAAAAAElFTkSuQmCC
</value>
</data>
<data name="_menuItemRename.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAt0lEQVQ4T6VSSwoCMQxNTzBL
wYX3cu9F5j7iQhAFQXAxC8/gATxGzQuNhEdHM1h4NOn7tBlGaq3yD6SUAoyKfauxZ2p4xAMOzex9ZjdP
RvhV4+QxvAD1VhHPeiHGO3GiEbjvBZhm7nmX7DfxgCsZuO9dZBonbhTAfS/ANHMj3JeOMJGB+95FpnHi
EQJQ7xTxTLDoEuN//kjmDItHc+rJwkT/8WxUfFa8mgl7poYHXhkUK8V6IeAZ3llKVtf+E8JOAAAAAElF
TkSuQmCC
</value>
</data>
<data name="_menuItemEditValue.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADaWlUWHRYTUw6Y29tLmFkb2Jl
LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi
Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv
cmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJE
RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8
cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBSaWdodHM9Imh0dHA6Ly9ucy5hZG9i
ZS5jb20veGFwLzEuMC9yaWdodHMvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAv
MS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNv
dXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wUmlnaHRz
Ok1hcmtlZD0iRmFsc2UiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzA0RUI0NjQwMzg3MTFFMUFE
RTJDQkMzMDBBQjU2MjYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzA0RUI0NjMwMzg3MTFFMUFE
RTJDQkMzMDBBQjU2MjYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTMyBXaW5kb3dz
Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InV1aWQ6QUMxRjJFODMzMjRBREYx
MUFBQjhDNTM5MEQ4NUI1QjMiIHN0UmVmOmRvY3VtZW50SUQ9InV1aWQ6QzlEMzQ5NjY0QTNDREQxMUIw
OEFCQkJDRkYxNzIxNTYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+
IDw/eHBhY2tldCBlbmQ9InIiPz4xPsWJAAACIElEQVQ4T4WSXUhTYRiA3/dbG7omFjZGFyFBJBkW9nMR
SD/o2kUF5+aElZo0LyYG9oOh5aIakxlpKAxrQ1jUZEWRRT/EvBiKFLEslW6CmeWwCyFJangRvL3fwcmx
OnrguTgcnuf7zve9ACs8JUUIbU0IqqpqpBG3TiL2jiHue4FobGfFp2EEyUKgcMBu76VAgIYRXz1DLP+n
8LeoC2xSFKU+k8nQvMdDc1VVFAN4shgwErVACPcHffa7Uk4mk5RKpchnsTyPAOyA4kIAbw1o2/wvLD8K
4kv6HqD4g52a7HA4fKW5uVtUsxkg2grQ5zUI6OTfMz6aeHeUblzM6bfZbNutVitIjAM6ef7bZZp8f5we
Bk2J/pCpPCsbB3Tyz6lmmhqrpnsdYvB+t6h4fNukrWy8A508O3GW0uO1FPaLoTvXhTPWJWD5gE6e+VSv
yd2tYvjWNeGMtAvQB8zyAOWzeIg6efqjm+WT1H4eX99sQWfPVQHZQOURsXR2ZIApinVgn7yqr6PV9OXD
CbrSgG/azuDBzmYEGVCcBmMbbgJLzzk4/SOdmE3GK+jzSCW1uPGt14MufyOCq2yZeZd76WzAPfHoqcTc
9CClRiK/Go/h0IVacO3dtYKY/ZFLNeiXcrRLHa07jKEDpajwNztTwKxl8pk8hqcGchgLs4oxMdoqVHcI
Q2Xb0J1nxd38XsIUM5uZjcwGZj2zjlnDrF4IyWsQfwCLISjKZ5nx7AAAAABJRU5ErkJggg==
</value>
</data>
<data name="_menuItemDelete.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABfUlEQVQ4T6WTu0vDUBTGz1+g
VBtB1KBgdSsUNFvHQoZChw4upWoRupYO7a6giw66KCj4wgciuAiKg5M4XcFBUHAVBxdXcfD4fTGJqaZT
hx+353yPezNUVFU6oaMwL/YKDkXkCJyIuMDw5LzvE6cx87eAIaPNpvIEbqTA0z5qtVBrKfCN5qvR0Id8
Xj/rdcXOAJYQ81apeNpLqRRovy/YxXOAuwPje7Wq146jr+WyciaPhYK3u8vlvB29zISfwAGCbEHYhOG5
WNSLdFpvs1m9ymR027L02LaVGj30xhbAIBswrMN4nkrpXiLhcZBMKnfU6PlXsIjlElgBqzCtwXyGW08R
DuCOGj30MhN+QlCw/GMwlwjGQY2edgUUzA3CAZzb7NyWF8zjOcDcIxzAeQG3kTiNmfATbAxTMNYRekIJ
T87D2JM4jZmwAL8HwdiEyNw0wpMis5hHwRAYACOOyAw1ejCPMxMt6MKiF/T79OHsAd2AWgJYET3JfVjQ
yd/5G8s+qAWdGU8YAAAAAElFTkSuQmCC
</value>
</data>
<data name="_menuItemMoveUp.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAB1klEQVQ4T6WQTyjkYRzG32ax
WlK7xvhzsNnNxko7RYkiBzkoBwfZWtMmm4ucJIuTPeHCblgkB8q/SRPbYvewbStcvnsQ7QEzWOYgcVAT
iXn2faZ+mjEzqH3r09v3eZ73eX/vTwFQ/4Pv8MsPv5W1c0Pl9myp/P49VTjkVsUjh9Ua4c6ZOn3mmDcu
DVfAQzLoBrhrqu9f0LfLsHzeB9pWz9H/F+Ccr/W7v6B7kyHp2/Oi4dvpNR+dV6Ceq/2wT3jVsU5TPrmu
UDd3EkTXnwvQZy7oH2S2C0Xp3rpE64oHLcse1C8co2psB28mXKh17OKt3YnmpSMwx3zAT3zRtjKY3ros
/tTMOFHSI7BNbeOmx3xAgQ6o5++XfDxr/qWeNv6Q13YXinrXUDnlBGfqRob5kAVpTT9Vcv08kbIZN6xD
2yidPgBn6vRZErJA36LM7xwGkjd7gtSxQ+Q4jqF1MTzmggriC2tVtLVSxdkmDST96xni7B6kfdG7bVIM
LyIpS3EFPMGn6PXAkqkeVY0SsSx6YZr14smCF5yp0zdWyAKapoQMFVkxLJbvQOw88HgR4Ezdf4UqeKgD
TOWYChrHTeUDco2eqWuyNTHhnhChDbMm5RYStRflX/AP4Mv/7H+tMgIAAAAASUVORK5CYII=
</value>
</data>
<data name="_menuItemMoveDown.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAB6UlEQVQ4T6WPT0hUYRTFPyYH
QkkJMpgBNSYEiRY2SiAyFvhnUy0Cy4GeQpS6UDeaiQ4oucqVQiKOWIumRdMgWlHSX7UYXXhdCLpSU2FM
Z1NYDI4gc7p3cOS9N86qD35c7jnnO+97CoD6H+KXrzzdMXD1WdjLkA6vOZP4aLzANbJlhgY3gP6VGJ6s
A+yTOWMoKBnaVCaob/kAnrkoHi8dgD0yZwwFF3oXVPHAih56tBBFy4c/6JnfA3uk9yVvKMhr+6ryPUFV
2LeUgDxzETS8+YWu2QhYp4QnOcknFZxrn1LnO78raWeofWYXNb51NL4NQXbRxZdcygIxHR0zKr8rSHfH
1lAxQKj1r0J20cU/tiC39YuXW0mPO/ADZYOLuOVfg9mTvOEX7M2Tmq3pPTUHd3F9YhvXxn/C9WIThSOr
KPVtoDIQQsWrEKrfhSE5yRsKWFTZ9RPamfvjdPvbX+T6wkmUT/6G+JKTfFIBmyqrzq9l1r6ksul9ZAYi
R1z6GIXo4ksuqeDU5Tsq3elWGVXdKsPt09JrnlPBVAyW1zE4Pscgu+jiW20XlRzDC+LK4bGcLVBproea
9eYo2T8BMmUXXX+OK7ByIIdxMkUW570HlhvDJFP2Qxw8T6Z6wQk2shgbY0/BadbT9AX/ADWhA8f0EOn9
AAAAAElFTkSuQmCC
</value>
</data>
<data name="_menuItemOpen.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAACkklEQVQ4T43SX0hTURzA8d9b
9O/BHjPowfZkRgTRgxVFJgrBRKT2kJWjEsUsKyprtZyumdoSZ86hGdU0LUOTsJXGahCYthIUs6au/fPf
nJvzOvfXX+ccusINgg584Hfhni/ncC8MqACoL+WQQ5T8pxx+H/STzX+UcpZynPl4CmeNJ5Ebuo0xRyPi
5BOh2RYk75fy+6BPCTwlLrzEFe8LDNpr0dNXiG+1h/DdG7VAT68GO8vi69Ql+6FKvg/gU9kqVWy+DaMz
eibmfY7mjnPo9HhwiuPQQdj8fnxlMqFSnmrIlMlEGcXFACbFqoqouwUjk48ZOn9uleKwxYLfRkdx3O3G
kakpbO7uRrrI5jxCBEY58O5Fpp9iyPGQobPpkQS/j42xyKTPxyIavX6VKD1dBj03gVcdcjVhwFrP0NnY
eBR/TEywyBy5Ah+hJ6HXSSsqKgDDDeDVLtsakLPUMnTu1WWixWplEe/SkiDiWFzElIKCQnh9DXjawIQW
/aPVDJ0NdWIct9lYZGF5WRCZDgTwQG7uBei8ArwG7mcN+oYrGTp31xxBKwnQCBcMCiLz5HmvVHoRFMcA
2i8xTf4RNXoGVQydu+6noc1uZ5FAOCyI+Mnznuzsy0DXrSyAZ+dB7xuqQLdZwdC5ozIV7Q4HiwQjEUGE
I4FdEgk5P8BaYpPuLHR5B8mv3C9nvOQU7XdT0Ol0skgkGhVElkhwu1hMviFAHLEtPxXq31fv9o8b8sJz
Awqc/6rE1jsH0eVyoZOIraxglAjHYhgisRCZ45OTy9kV6Dq8A0B3BjK0p0HXdn3LB3Nz5q+rWWvs60Qi
zYbExIqNSUmqv61PSMgXBMhm0EgB1CdgZ9VxkJVJ4AF5YSux+R/ifgP/44T3ShVnvwAAAABJRU5ErkJg
gg==
</value>
</data>
<data name="_menuItemOpenFolder.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAI/SURBVDhPjdJPSJNxGAfw5xYd6+hZJIhCkm5d8hBeIq/9
AftDgRcPHQzEqVPn5sRcNptjuVjZYlkUFZZpusQIFf+h2Zwuc0NJl5vatub+fXufB1e8DKTBhz1s3+f7
vr+Xl2jvM2GgK+MG0v4Pzmb3/n6PNVFDZMmAdfdlbAyVITJbh3TgPrD2UG3DCc7mFHxuJB22nyMT7kHc
34HN0QosuEqQWepUwaoDnM0pGGkkfTrkQmq9W6TDTzHjKMb2jAlJ7z2kFy0iE3gAzuYUDGvJmAo6kVxz
CJ6nuk7BP6IXKaWEpf12cDanYKiGWpM/HmE30CV4/mQ+iZVhnUh4zCK1bANncwr6NWTaXbUjttwpeHab
TmDZ3SDi8+0i4bOCs30aKlKVvKsi8+8VGyKLZsHzQGshfINaEZsziV1+FpkMOK8qeFNJltg3C3Y8JsHz
2+ZjWPpQJ6KzbSK+0IFQNArOqwpeVpIt4m3H1lyL4Pm17ii8A7Xi10yriH29C18wCM6rCp7dJPvO/G1s
TusFzy/qj8DzXiO2p1pE9MsdnB7NgPOqAmcFdW/NGhGcqBc899QUwNNXLbYmjSKiHON4bwSczxYcVIbD
1uv0KjytvMpjtSKs3IVLU4BF5fZZ9ghR5UFy9loxnVX2eJcOKfLLz1Bnv6lox9dbnvg5Xo/QpA7NFyh8
6xyNsJZLNJjFWd7Z2/13EusNKrVcJeuTqjz3+OPS780X6aPyb15JPh3IeXH2+6GtjAqVq1U3nad2Jbfv
8h/ayQIkRwIF8QAAAABJRU5ErkJggg==
</value>
</data>
<data name="_menuItemSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABwklEQVQ4T6XOT0iTcRzH8e+e
7e7BgxDixbuXELyKlxQPgiwx/JOa4UE8CR4UFcTUubUJk4nhX6ytRHCCqJvicuEk6KBWZKgVRaIM/IPK
YLBPv8+jgwR5VBy8tvH7fd7PJgDkPqTa7FRcdUqvta3t+W1we9E4RarUm+LYenOi/giQuAE33LJhK0/N
DnJujkYRTyQQi8cNccMtG7ZSabZT3/rwAc5UfHR+bogbbtmwlQqzjdyfBv/iMBbD3vGxIW64ZcNWyrQu
8nz0/Ma++vUf0aghbrhlw1aeaJ00GHH/xO7OEf6cnhrihls2bKVU66ChsGsbga7NW+GWDVsp0dppNOTY
Qs/jcXRbx67Fu6S1/l9gw1asWitNLPZ8gb30NSKRNayshK/gGe/eNYXhLPPhQ98O2LCVYq2ZfAsvNuAq
f4tgMISW/H7dzMycjme84wM8z6bx/uV3sGErRVoTTQW7P8NdNQW/P6B/ks/n1yXP+ICR+nks27+BDVtJ
NaVLjqk4t8DUEGh/9OpwcnIBA7V+ndc7q0ue8QHexhCWbF/BPVu+MpSsTMmuyZPaVYvFYrsO7/73UAqH
L1tJUV/SlAd3xCblH+s4aw2T/BzJAAAAAElFTkSuQmCC
</value>
</data>
<data name="_menuItemRefresh.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAC50lEQVQ4T6XTa0hTYRgH8NdT
CSWpaVobplPTbAWlm5SGKM0vSgmJoZElXgPbumjasBpqGluUzbLQLgYO5kwstS2nqUtFjTq2SBOzCZW6
LbPVvORS8e15D/UhPwUd+HGey3v+53w5CGOM/gcKLjUwQm59RGG3x1H4PbNzROXn/eAK6AA0UAIh7Nhh
d4wI6kRQQV68PMBHcN8kTmu2KvP18/qS4SUrwAX6+dn0p9bRvZUmHbykGNDE3wE3P7AElWNJV4cW5cX6
efWl1wuDsoFFK8BQY5hhWf8Chi+lr48sMXcmgFfyDvGvDduHlo0IZG9sogvdM/K83pnGWNV4C1/+vgPQ
UBuK++ZwXucUhNgwqcmcCdgpGyBYB6s/xeS2fhWdabeUQi8NvPw2moTvkPaTfRmgi/pmcFbTBJb0WDHp
mQBuYR/hl9FgjDulMQsjy4fE2y6+CtpepEcB+S/R1gI6Efbw8DQ+2zbJkHR/x2TGBPif70X+53o4J7Xm
cKHaGOGX183zEXciTo4Oeed2kF0FzOjlyJwJ2HS6FXlmtVV4ZbfTy5E5J+cZ8hV3kTMI9rzk+vGIDLUp
HHoOE8A6/oSgk7VfcHy9iZGps2AyYwubEjdmatD6tEeIlakJCizqFceoRoX7qgxxsPdjAsgS0FENk5iv
MOLYJgsmPShzSalDTkkPkGvqw2jopZHVY6V7VGZRoPRFDPQsJsDxiIqgQx5P4UjtNN6ssmBS+0q6DGQO
OnwknS27akyN3NpvcoF2WuSSWidwOlpjzwSsia8i6AjdT0zuXM0c9qj/gT0b5vAWjY2wQj0IMzW/xSZ3
TqlNckhQsNYeVjL/EKLcAtCqA3fp34rtExQ6dtHzUa/qiVlO8yIGVi/lhJ5V2KtcfUghXhmW60O5ByBy
MQFweVCh2VUULz0Lap6dO1dA7T6RT0XfqKX2l/eBTipKXkoFH0uxW+cdCme4wA2s+BPgCI0r2ADY/4A8
7AAoEvALSboOLClv94sAAAAASUVORK5CYII=
</value>
</data>
<data name="_menuItemExit.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAB/UlEQVQ4T41SS0tVURjdEwc5
aSAhXaNBIWqmVMoNEdNQUMvoZSGZPbhpFGmYqfQiKrEbgiRldSNKk6yMIoIyupBCYGAfBNGoxywnEv2F
1bc+2psrXLANi3XOtx6HvfdxNyudI4arXEIh/4GEzwBw7oaG/0G+3YrhZ6INc6Md+P2kG38mejE/3oVf
I+34cacV328fgXrFZ6xgqCJAvl5vwdC2CO7uXZ2WTa9w4jNWMFgeIF8Gmy040VaSlqmrX3zGCgbKAuTz
QBPuNeXiXU81nrZuWMCcU1e/+IwVxKMBIvE9uL8vD29Pb8bj2LoFzDl19YvPWEFfaYDM9u/GyP4CTHZV
WQH5QXO+zXgu1NUvPmMFl9YHyMcrOzDasgavOzfh0eFi4/6tK5BMJtFXtxzU1S8+YwUXigPkw8UGPDxQ
iFcd5Rg7VGR8bUsOTpYsQbw+AurqF5+xgjOFATJ9vt4KXp4oS8vU1S8+YwXd+QHy/mwtxg6uxYvjG60g
lTmnrn7xGSvozA2QZG+NFTw/FrWCVOacuvrFZ6xgV8S59lUG4fXR+OxoqR1mKnNOnT76mbMCroZlzsVy
nLw5VYnhnSvt6+mYOn30c/mCTH3OblzqhH/g1Lk6uy7+NMSnq42Yubzd9s8t0Ee/ItMXZOlLUTTDjddm
OFkM9KlfL99lseAvRjbC0XMbRtAAAAAASUVORK5CYII=
</value>
</data>
<data name="_menuItemFind.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
@ -151,6 +362,25 @@
vfUZSHwAht7/I7cJcE2ofj6OjY1BkiS6Mj/9kcJoaGj4ub/9hNDiv7nU0n9759jFhzg6/gCW0fvofAW0
hu78pprE/e3EE+K7GhrQc/puZapZqR84c2OH0VmcL6q9gpGCiWgjDv8P3dnFe/tOz1+o9hj/AtmlLdLj
WupUAAAAAElFTkSuQmCC
</value>
</data>
<data name="_menuItemAbout.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAC5klEQVQ4T12OX0iTURjGD4kM
8y4JCYqQbJZkLhWElStG08lybm5q/k/TajCM/ANOlmmBaEQEqeGFDBd4ITNNIRC0LaXc0vmp6edQYzrN
C0WvvH/63tOM6MDv4/ne9/kdDsvNzWUGg4Hl5eUxk8nEzGbz6fz8fJUEnfthKKtoRx3qkkMu/4QvkEnL
jPr6+iav17u0t7eH3d1dDuWZmZmlurq6JupIF8j+v0BmNBpzHA5HPwnvR1bR+GoBOqufQ9k5LGJnZxt9
fX391JUukPEX6PV64qa0cAaDQZTbZnG3eR21bw7R0HOE+u4jWF8foKBpje82NtbR29vrJIdcptPpYq1W
q31zM4jiRi8qX4Tw6OU+ch6v4PhQftCxh9KWP51AIACLxWInl2m1WrXb/Xm52+lDXsMKKtpCMNQFoHno
/3sBZZoV24O4U7uIrv4ZjI2NLpPLNBpNKT2rxu5BeWsQWRaBo67+Drn2Ay5oXEjIHkF85hBHdW+ad+fm
ZkEuU6vVVkEQcL1kAiVPf+JWlQ8K0yQuZo9KpTn4/X7Eaz9K/2OclPxJ3p2enga5TKVS1VIxvXAcOU9W
kGhwI0E/CblunMuiKPJMM+Kq+QvvejwekMuUSmWlICygrGEcqmoBiWYf55JhisuhUIjn4/kV81fe9Xim
QC5LT0/PGhx0rXa+8+BagRupFQEkFUsvMc9y+eDggGeaEZdzJ9DR7YbD4Vwll6WlpZ0xGk3t8/PLuF0x
huRCH1Iqt5BU9IPLh4eHPCsqtpBo8vKOz7cAg8HYTi5TKBQsOTlZ29Ly3LW4uI4bhS6cz/yExCIRiqpf
HMo0o50grMFub3ORQy6LjY1lcXFxUXK5vNRmax0WxR109nyDvnoIp1K7OJRpJorbsNmeDVOXHHLpnJA4
KZPJzsbExJQplRlvBwZGN9bW9vEvNKMddaTuOXLCLouQQoyEXCIlMjJSHRUVVRMdHd0s0RGmmWa0o45E
QtiJ+A2+oxJO8d3MEAAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@ -161,7 +391,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADQ
MwAAAk1TRnQBSQFMAgEBEAEAASgBAQEoAQEBEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA
MwAAAk1TRnQBSQFMAgEBEAEAATABAQEwAQEBEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABUAMAAQEBAAEYBgABPP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AB4AA/wD+SH4A/kD/AMAA/0D+SH4
A/kD/TkAA/8D/AP5EvgD+QP7A/4GAAGWAakBvAFcAYQBrgFcAYQBrgFcAYQBrgFcAYQBrgFcAYQBrgFc
AYQBrgFcAYQBrgFcAYQBrgFcAYQBrgFcAYQBrgFcAYQBrgFcAYQBrgFcAYQBrgGWAakBvAMAAs8BywK5
@ -388,9 +618,6 @@
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>132, 17</value>
</metadata>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>347, 17</value>
</metadata>
<data name="_buttonOpen.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
@ -441,32 +668,32 @@
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALVSURBVDhPY2CgNrCf/17Abt5zX/t5L3vs5704aDf3xRmH
eS+XAfk5VnNeS4Hss5/7IgbIn4lht83cF0ou859XJO34uKzh7K/zPTf+fOy79e9/4/kfX1N3fXzsOPfp
ftuZT1ptZzw+A8IoBtjOeCDpPO9JfO+N3xNaz/7c0nrh97WOS78+dl7587/twu//red//e+8/Pu/5bSH
eS+XAfk5VnNeS4Hss5/7IgbIn4lht83cF0ou859XJO34uKzhzK/z3dd/f+y79e9/4/nvX1N3fXzsOPfp
ftuZT1ptZzw+A8IoBtjOeCDpPO9JfO+N3xNaz/7c0nrh97WOiz8/dl7587/twu//red//e+8/Pu/5bSH
Zybd/Qem4QZo1V9hs5xyx7nr0vfc2iNfJlQc/7wpaMXjXcYTbh806bt5JmjF0zutZ7//rzr0CWjIj/8g
NkgcboBRyzXJkGUP/Up2v8kt2fN2okHH5Q6DzqteMAUGnZem6HdeOdNy9sv/ou2v/tcd+/gfxIcboNl0
TjV9w7OQvK3Pc1xm3qjQaDltBJPUbDobo9V0Fqj58//yvW/AuO7oh/8gMbgB6uXHFXK3PbPP3vzcQbni
sDFy4KhVH5upWnX0DDoGicPVyRTumSlfvO8MOgaJIxsmV7zPOH79Y4fUTc/s5fP3K8DlJLO3nUnc8fp/
+IbnYJy1/91/kJhEzrYYmCLJ7E1GBs3HK3yXP8rxXnArRDpvsyrcAJGU9Wc8N775b7L42f+g7e/+g/gi
SeunwBSIJK/xEkle1+Gy/MlEqxXPcw07T/mJpK6VhBvAE7P8jOXmT/9ddnz+r7Li3X8QW7Hu4B2QOF/M
soNKdYd2ma18tklr9fsJzjs+5wonrXZmCF3FBjeAK3zRGYf9P/+DaK2t3//LbPj2X27j9//qW3/8V9/8
7aPMxq/XZNZ/22K849sEgeTV8VzRixG2g0xhDZxzBowDZreyRizcL9Fy7LH80ldfFXb++S+389dH2WWv
SeunwBSIJK/xEkle1+Gy/MlEqxXPcw07T/mJpK6VhBvAE7P8jOXmT/9ddnz+r7Li3X8QW6Hu4B2QOF/M
soNKdYd2ma18tklr9fsJzjs+5wonrXZmCF3FBjeAK3zRGYf9P/+DaK2t3//LbPj2X27j9//qW3/8V9/0
9aP0xq/XZNZ/22K849sEgeTV8VzRixG2g0xhDZxzBowDZreyRizcL95y9LH80ldfFXb++S+78+dH2WWv
zks0HV/GEbm4gt2mQgk9D8gwWhUuYjJOKQJKGDOIaTozmuc2MHpNXs3kO+0sk++MQ4yeEyYymWQkMQgq
WwHVaAGxKBAzwwziAzKEgVgciEG5jRAGaeYGYiaQAQAS33/XkVfmHQAAAABJRU5ErkJggg==
WwHVaAGxKBAzwwziAzKEgVgciEG5jRAGaeYGYiaQAQD03n/Ivq9N7wAAAABJRU5ErkJggg==
</value>
</data>
<data name="_buttonCut.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHCSURBVDhPrVI9SAJhGH5vlygi+jFIBJEb4pwECQTBRaRB
aQmbrFmkwOQWwQicazCKoC1qkFoiEsJBCEK4iFuSFqGQOIiGCgry630+vFAxaUh4eL/3+bvvVKL/+MTj
aQmbrFmkwOQWwQicazCKoC1qkFoiEsJBCEK4iFuSFqGQOIIgCgry630+vFAxaUh4eL/3+bvvVKL/+MTj
8flYLKb9pQs++Lu8yWRSB6LR6MAS6La3q8Dj8eiGYYhEIqGHQqG+JeChwwd/7201kKZpCr6i7vP5ukqw
g4feDvd9iOb1evV6vS4ikYjORmnCxA4eOlMDX1OWNBoNEQwGdafTuYCJ/S9h+Vpz/ARVVfVmsynC4fBF
pVIR2MH/+is9ETkeiRYfFGWLcVxSlPKGy2ValiWqDod5wzt46PDB/1Nm8nKvKJtWIFB7T6VeXnO5ligU
xG06LS6J3nAGwEOHD37kZIlBtNTw+w2YTtzuu22i2lc+L854nhMVMbGDhw4f/MjJgqqi7HeGPzIZccpm
hjRgYgffWYKcLCgRlZ8zmRbEz2xWHPI8stvbL4odPHT44EdOyjtEu9ea1sQtDlhc7wnbXxZ46PDBj5zU
vEShItEeE1fLRGtMzeL/w5hhOBnTDDdDXSFahQ9+5OzyKT7YmOTzOGOUMcwYamOE5xhjosOLDH0D5k/s
L/8Jy7AAAAAASUVORK5CYII=
vEShItEeE1fLRGtMzeL/w5hhOBnTDDdDXSFahQ9+5OzyKT7YmOTzOGOUMcwYamOE5xhjosOLDH0D4S3s
Kzy6vYEAAAAASUVORK5CYII=
</value>
</data>
<data name="_buttonCopy.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -659,11 +886,11 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFySURBVDhPY2CgBthfz8CyP4kl40AiczcM19sxnEHGyHIg
tSA9cLv3xrErn6rWXPp+T+f/d7s7wHh2hikKhomD1IDUgvTADdiVwOx+c4r3EWQDlpc4/ofhJYV2cINB
akBqQXrgBuyIZ8m9vyz7wbPNDf9heEuj338YXlftARcHyYPUgvTADdgawzz15v7lf//fXfUfhu+uKgcy
akBqQXrgBuyIZ8m9vyz7wbPNDf9heEuj338YXlftARcHyYPUgvTADdgawzz1xv7lf//fXfUfhu+uKgcy
IfjMzDS4OEgepBakB27A5ijmGT8vzf//+cRUON7dEfofhjc3+KLIgdSC9MAN2BDFPPvbudn/PxyZCMcg
zavKXcCGLCt2QJEDqQXpgRuwOoJ5/qeT0/6/2d8DxyDNID6MRpYDqQXpgRuwPIx58btD/f9f7monCoPU
gvTADVgSwrjsFTDun25tIgqD1IL0wA2YH8C4+smWxv8PN9QShUFqQXrgBkzxZNzxYF31//trq4jCILUg
PTAD5FKNGee1uTAeJQWD9AANkAMZwg/E4kAsRSIG6QHppQwAAF6s3TqmkN8mAAAAAElFTkSuQmCC
PTAD5FKNGee1uTAeJQWD9AANkAMZwg/E4kAsRSIG6QHppQwAAFlU3ThDSlQsAAAAAElFTkSuQmCC
</value>
</data>
<data name="_buttonFindNext.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -682,207 +909,9 @@
iGGIYd//sOfU/B3Fida5fs3Ab3OLJ81GwikSAAAAAElFTkSuQmCC
</value>
</data>
<data name="_menuItemOpen.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAACkklEQVQ4T43SX0hTURzA8d9b
9O/BHjPowfZkRgTRgxVFJgrBRKT2kJWjEsUsKyprtZyumdoSZ86hGdU0LUOTsJXGahCYthIUs6au/fPf
nJvzOvfXX+ccusINgg584Hfhni/ncC8MqACoL+WQQ5T8pxx+H/STzX+UcpZynPl4CmeNJ5Ebuo0xRyPi
5BOh2RYk75fy+6BPCTwlLrzEFe8LDNpr0dNXiG+1h/DdG7VAT68GO8vi69Ql+6FKvg/gU9kqVWy+DaMz
eibmfY7mjnPo9HhwiuPQQdj8fnxlMqFSnmrIlMlEGcXFACbFqoqouwUjk48ZOn9uleKwxYLfRkdx3O3G
kakpbO7uRrrI5jxCBEY58O5Fpp9iyPGQobPpkQS/j42xyKTPxyIavX6VKD1dBj03gVcdcjVhwFrP0NnY
eBR/TEywyBy5Ah+hJ6HXSSsqKgDDDeDVLtsakLPUMnTu1WWixWplEe/SkiDiWFzElIKCQnh9DXjawIQW
/aPVDJ0NdWIct9lYZGF5WRCZDgTwQG7uBei8ArwG7mcN+oYrGTp31xxBKwnQCBcMCiLz5HmvVHoRFMcA
2i8xTf4RNXoGVQydu+6noc1uZ5FAOCyI+Mnznuzsy0DXrSyAZ+dB7xuqQLdZwdC5ozIV7Q4HiwQjEUGE
I4FdEgk5P8BaYpPuLHR5B8mv3C9nvOQU7XdT0Ol0skgkGhVElkhwu1hMviFAHLEtPxXq31fv9o8b8sJz
Awqc/6rE1jsH0eVyoZOIraxglAjHYhgisRCZ45OTy9kV6Dq8A0B3BjK0p0HXdn3LB3Nz5q+rWWvs60Qi
zYbExIqNSUmqv61PSMgXBMhm0EgB1CdgZ9VxkJVJ4AF5YSux+R/ifgP/44T3ShVnvwAAAABJRU5ErkJg
gg==
</value>
</data>
<data name="_menuItemOpenFolder.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAI/SURBVDhPjdJPSJNxGAfw5xYd6+hZJIhCkm5d8hBeIq/9
AftDgRcPHQzEqVPn5sRcNptjuVjZYlkUFZZpusQIFf+h2Zwuc0NJl5vatub+fXufB1e8DKTBhz1s3+f7
vr+Xl2jvM2GgK+MG0v4Pzmb3/n6PNVFDZMmAdfdlbAyVITJbh3TgPrD2UG3DCc7mFHxuJB22nyMT7kHc
34HN0QosuEqQWepUwaoDnM0pGGkkfTrkQmq9W6TDTzHjKMb2jAlJ7z2kFy0iE3gAzuYUDGvJmAo6kVxz
CJ6nuk7BP6IXKaWEpf12cDanYKiGWpM/HmE30CV4/mQ+iZVhnUh4zCK1bANncwr6NWTaXbUjttwpeHab
TmDZ3SDi8+0i4bOCs30aKlKVvKsi8+8VGyKLZsHzQGshfINaEZsziV1+FpkMOK8qeFNJltg3C3Y8JsHz
2+ZjWPpQJ6KzbSK+0IFQNArOqwpeVpIt4m3H1lyL4Pm17ii8A7Xi10yriH29C18wCM6rCp7dJPvO/G1s
TusFzy/qj8DzXiO2p1pE9MsdnB7NgPOqAmcFdW/NGhGcqBc899QUwNNXLbYmjSKiHON4bwSczxYcVIbD
1uv0KjytvMpjtSKs3IVLU4BF5fZZ9ghR5UFy9loxnVX2eJcOKfLLz1Bnv6lox9dbnvg5Xo/QpA7NFyh8
6xyNsJZLNJjFWd7Z2/13EusNKrVcJeuTqjz3+OPS780X6aPyb15JPh3IeXH2+6GtjAqVq1U3nad2Jbfv
8h/ayQIkRwIF8QAAAABJRU5ErkJggg==
</value>
</data>
<data name="_menuItemSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABwklEQVQ4T6XOT0iTcRzH8e+e
7e7BgxDixbuXELyKlxQPgiwx/JOa4UE8CR4UFcTUubUJk4nhX6ytRHCCqJvicuEk6KBWZKgVRaIM/IPK
YLBPv8+jgwR5VBy8tvH7fd7PJgDkPqTa7FRcdUqvta3t+W1we9E4RarUm+LYenOi/giQuAE33LJhK0/N
DnJujkYRTyQQi8cNccMtG7ZSabZT3/rwAc5UfHR+bogbbtmwlQqzjdyfBv/iMBbD3vGxIW64ZcNWyrQu
8nz0/Ma++vUf0aghbrhlw1aeaJ00GHH/xO7OEf6cnhrihls2bKVU66ChsGsbga7NW+GWDVsp0dppNOTY
Qs/jcXRbx67Fu6S1/l9gw1asWitNLPZ8gb30NSKRNayshK/gGe/eNYXhLPPhQ98O2LCVYq2ZfAsvNuAq
f4tgMISW/H7dzMycjme84wM8z6bx/uV3sGErRVoTTQW7P8NdNQW/P6B/ks/n1yXP+ICR+nks27+BDVtJ
NaVLjqk4t8DUEGh/9OpwcnIBA7V+ndc7q0ue8QHexhCWbF/BPVu+MpSsTMmuyZPaVYvFYrsO7/73UAqH
L1tJUV/SlAd3xCblH+s4aw2T/BzJAAAAAElFTkSuQmCC
</value>
</data>
<data name="_menuItemRefresh.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAC50lEQVQ4T6XTa0hTYRgH8NdT
CSWpaVobplPTbAWlm5SGKM0vSgmJoZElXgPbumjasBpqGluUzbLQLgYO5kwstS2nqUtFjTq2SBOzCZW6
LbPVvORS8e15D/UhPwUd+HGey3v+53w5CGOM/gcKLjUwQm59RGG3x1H4PbNzROXn/eAK6AA0UAIh7Nhh
d4wI6kRQQV68PMBHcN8kTmu2KvP18/qS4SUrwAX6+dn0p9bRvZUmHbykGNDE3wE3P7AElWNJV4cW5cX6
efWl1wuDsoFFK8BQY5hhWf8Chi+lr48sMXcmgFfyDvGvDduHlo0IZG9sogvdM/K83pnGWNV4C1/+vgPQ
UBuK++ZwXucUhNgwqcmcCdgpGyBYB6s/xeS2fhWdabeUQi8NvPw2moTvkPaTfRmgi/pmcFbTBJb0WDHp
mQBuYR/hl9FgjDulMQsjy4fE2y6+CtpepEcB+S/R1gI6Efbw8DQ+2zbJkHR/x2TGBPif70X+53o4J7Xm
cKHaGOGX183zEXciTo4Oeed2kF0FzOjlyJwJ2HS6FXlmtVV4ZbfTy5E5J+cZ8hV3kTMI9rzk+vGIDLUp
HHoOE8A6/oSgk7VfcHy9iZGps2AyYwubEjdmatD6tEeIlakJCizqFceoRoX7qgxxsPdjAsgS0FENk5iv
MOLYJgsmPShzSalDTkkPkGvqw2jopZHVY6V7VGZRoPRFDPQsJsDxiIqgQx5P4UjtNN6ssmBS+0q6DGQO
OnwknS27akyN3NpvcoF2WuSSWidwOlpjzwSsia8i6AjdT0zuXM0c9qj/gT0b5vAWjY2wQj0IMzW/xSZ3
TqlNckhQsNYeVjL/EKLcAtCqA3fp34rtExQ6dtHzUa/qiVlO8yIGVi/lhJ5V2KtcfUghXhmW60O5ByBy
MQFweVCh2VUULz0Lap6dO1dA7T6RT0XfqKX2l/eBTipKXkoFH0uxW+cdCme4wA2s+BPgCI0r2ADY/4A8
7AAoEvALSboOLClv94sAAAAASUVORK5CYII=
</value>
</data>
<data name="_menuItemExit.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAB/UlEQVQ4T41SS0tVURjdEwc5
aSAhXaNBIWqmVMoNEdNQUMvoZSGZPbhpFGmYqfQiKrEbgiRldSNKk6yMIoIyupBCYGAfBNGoxywnEv2F
1bc+2psrXLANi3XOtx6HvfdxNyudI4arXEIh/4GEzwBw7oaG/0G+3YrhZ6INc6Md+P2kG38mejE/3oVf
I+34cacV328fgXrFZ6xgqCJAvl5vwdC2CO7uXZ2WTa9w4jNWMFgeIF8Gmy040VaSlqmrX3zGCgbKAuTz
QBPuNeXiXU81nrZuWMCcU1e/+IwVxKMBIvE9uL8vD29Pb8bj2LoFzDl19YvPWEFfaYDM9u/GyP4CTHZV
WQH5QXO+zXgu1NUvPmMFl9YHyMcrOzDasgavOzfh0eFi4/6tK5BMJtFXtxzU1S8+YwUXigPkw8UGPDxQ
iFcd5Rg7VGR8bUsOTpYsQbw+AurqF5+xgjOFATJ9vt4KXp4oS8vU1S8+YwXd+QHy/mwtxg6uxYvjG60g
lTmnrn7xGSvozA2QZG+NFTw/FrWCVOacuvrFZ6xgV8S59lUG4fXR+OxoqR1mKnNOnT76mbMCroZlzsVy
nLw5VYnhnSvt6+mYOn30c/mCTH3OblzqhH/g1Lk6uy7+NMSnq42Yubzd9s8t0Ee/ItMXZOlLUTTDjddm
OFkM9KlfL99lseAvRjbC0XMbRtAAAAAASUVORK5CYII=
</value>
</data>
<data name="_menuItemCut.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAACCUlEQVQ4T6VSPWgTYRh+v/0Q
RUQ9DcJBfk6QG8IV6pJkyBASl8SlpFt0cglaSvjGqrSzIKIidKwi/g0iFiRDQZBCpByCwcGgkiGLi4OK
fX2er004RFw8eHi/9/m7H05UVf4H0mw2pdVqnQOiRqMhlUpF4jiWQqEgmUzGTe7kqdNHP3O8sSM7nY4l
6vV69K8C6lMvc66AVzabtYPBQNvtti2Xy9HfnoA8dfroZ25WgHOUy+VskiSKR7PFYjFKvwJ38tTpo//P
Au5RPp+3w+FQa7WahTHiN+DkTp76NDwruGSMdIGzAEXc2Y5GIy2VStb3/fOc3MlTp49+5twrvMPhI/AF
eLhXFIVhaMfjsVar1Zf9fl+5k6dOH/3MpQu8z8YsADeAB4+M2bwaBMlkMtEtz0t2sJPf1xdQ4KULvA/G
XJ/Mz2//XFr6qquru7q2pjvdrr4S+cazA3jq9NGPAs89wVtjFj/NzQ1oehIE72+KbP9aWdEXmMAtTu7k
qdNHP3OuYMuYe+nw9+VlfQrzM5HF5/hqnNzJp0tcjgWPRTYh7lL80evpBuZ9hK4h3AY4uZOnTh/9zLmC
2yJ33sTxmE+xDrEH8+m9H3R2cSdPnT76mXMFoUgFy13g9QWRK/Ce4d8NnAJOACeBAAgvilymj37mpr+y
D3GK4zgfBQ4DB4ED+ziEeQQ4lvL6LPgNwitoieNYTCsAAAAASUVORK5CYII=
</value>
</data>
<data name="_menuItemCopy.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAB70lEQVQ4T42SPUubYRSGz+Kg
IphFqCAFY4YiWboIUkyLhZjQWhULWVwcNJUgRqpECWazP6DkF9S2UkTqoAjBqnF3dOtQBC1YNOb7+/Tc
Dz3yECvkgQteeN735lz3eWlybY3exmKvhZkH6JuIRmlsZQXvGUYnh8nf30aurhYiXArBXLXK18Ui/87n
+TyT4V/pNO8kk4w7wWUHaOCg10MmWXiXLZf5TzbLF6kU/7y64rPLS/68t8c4uBdcOoEGvIlEiF4tLYG5
XKXCN7mcCUmcnvLXoyNejcfveBEMfv+neKdkAkbCYRAqiMJtoWBCtk9OuBklE/AyFALzJQnISgcI2Rb3
ZpRMwPPZWbBQrtU4Lz0gZOv4mG0l7eXjxgYrLp8vKhA9m54Gi9V6nYvSA0K2Dg/ZVmosFxuCNvRpYGoK
vK9JQEU0EPLt4IBtJS1XJzmXoqENfXoaCIDluqyrKhoI2Uwk2FbScnUS/CvQhj65x8dBBPuuyxQI+bK/
z7aSlquT3JRKDG3oU6vDQT0eT8z8MQgRPu3usq2k5eokaekJ2tDHedzudIY73O4PSp/X+8NW0nJ1EqwY
2tDH6RQeCd3KE79/3VbScnWSvBQN7d6hIRPQeDoblaCDTlAstlOSZ7wjHzr+F3BPydbTZ2jLx71/Ad5i
gsnRJ2HiAAAAAElFTkSuQmCC
</value>
</data>
<data name="_menuItemPaste.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAACc0lEQVQ4T43SW0hUURQG4PWS
0JsIFUQ9lWMTFo63RqXRLKoRDMbMcbyMWtqY5qBOjsEEFmlRJAaTlJRdTLtn+ZBBL4EE9rBDu0AlIURZ
D4VQjo3j7W+v0+xT+tSBj7M5Z6+ftdc5dC6diLVn/HXIaozIzc3NkVxhOfzs3z2qTisOB3TIDYKdMNFw
12H3l5GRD2C85mfqvbx36AF+GRAm3rfvRV9NKgYHX2Fo6B1GRz9reM3P+N1bfynkfqHq6OxmUsTrtiJc
L4nFRftaXCtej5v74nC7Ih7dpRtwuSAGPWUb8bK1ALJGqDpqTSVFDJ9x4NnRbDz2ZGguNNjQ1ujQnW8q
Q2eLC83bl72pLbSQ25FGdNqsEy9O5eGpb6fO7yvGr7k5/JyexvepKYwFAugbGECtPeWjzeeLzvZ6iU4m
6cTzZhueeLfqWr35mJyZwfjkJL5NTODT+Dh6+vvBlyyukgx0PIEUwe0/qrNoeGDHqrIRnJ3Fj2BQD/F3
d0OJtlqPUFMcKYLbv38gWRvkpfxoNJRkIiSPEAiFFoRwJ2Oyq23V1W7yxZIi+uvTcaVwHTodBo3HmYkZ
GRCUM1gcwjOxVFTUUaORFPGg2oyrRUZdXfEWzM3PIySPsTiEB2t2Oj1UbyBF9MqALtm+4i7MwLwc2Kzs
YnFIQAbE2+1e2r2SyL1GI3qrNmk/i1KZl6ZNnEO4Ez4Oz4QHOyXvMVlZPuJr1woi1+o/AbfKTboaWzzy
raYFHFkmJBlXfY00mVqiEhPLuX6ptHxPJImHB1O0r3CvMgl3XYm6O/sTwPi3ZryXa8K1FCUXsclL6MaO
CBL/g/dyjRT1G7y5F+bDPK+HAAAAAElFTkSuQmCC
</value>
</data>
<data name="_menuItemRename.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAt0lEQVQ4T6VSSwoCMQxNTzBL
wYX3cu9F5j7iQhAFQXAxC8/gATxGzQuNhEdHM1h4NOn7tBlGaq3yD6SUAoyKfauxZ2p4xAMOzex9ZjdP
RvhV4+QxvAD1VhHPeiHGO3GiEbjvBZhm7nmX7DfxgCsZuO9dZBonbhTAfS/ANHMj3JeOMJGB+95FpnHi
EQJQ7xTxTLDoEuN//kjmDItHc+rJwkT/8WxUfFa8mgl7poYHXhkUK8V6IeAZ3llKVtf+E8JOAAAAAElF
TkSuQmCC
</value>
</data>
<data name="_menuItemEditValue.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADaWlUWHRYTUw6Y29tLmFkb2Jl
LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi
Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv
cmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJE
RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8
cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBSaWdodHM9Imh0dHA6Ly9ucy5hZG9i
ZS5jb20veGFwLzEuMC9yaWdodHMvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAv
MS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNv
dXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wUmlnaHRz
Ok1hcmtlZD0iRmFsc2UiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzA0RUI0NjQwMzg3MTFFMUFE
RTJDQkMzMDBBQjU2MjYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzA0RUI0NjMwMzg3MTFFMUFE
RTJDQkMzMDBBQjU2MjYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTMyBXaW5kb3dz
Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InV1aWQ6QUMxRjJFODMzMjRBREYx
MUFBQjhDNTM5MEQ4NUI1QjMiIHN0UmVmOmRvY3VtZW50SUQ9InV1aWQ6QzlEMzQ5NjY0QTNDREQxMUIw
OEFCQkJDRkYxNzIxNTYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+
IDw/eHBhY2tldCBlbmQ9InIiPz4xPsWJAAACIElEQVQ4T4WSXUhTYRiA3/dbG7omFjZGFyFBJBkW9nMR
SD/o2kUF5+aElZo0LyYG9oOh5aIakxlpKAxrQ1jUZEWRRT/EvBiKFLEslW6CmeWwCyFJangRvL3fwcmx
OnrguTgcnuf7zve9ACs8JUUIbU0IqqpqpBG3TiL2jiHue4FobGfFp2EEyUKgcMBu76VAgIYRXz1DLP+n
8LeoC2xSFKU+k8nQvMdDc1VVFAN4shgwErVACPcHffa7Uk4mk5RKpchnsTyPAOyA4kIAbw1o2/wvLD8K
4kv6HqD4g52a7HA4fKW5uVtUsxkg2grQ5zUI6OTfMz6aeHeUblzM6bfZbNutVitIjAM6ef7bZZp8f5we
Bk2J/pCpPCsbB3Tyz6lmmhqrpnsdYvB+t6h4fNukrWy8A508O3GW0uO1FPaLoTvXhTPWJWD5gE6e+VSv
yd2tYvjWNeGMtAvQB8zyAOWzeIg6efqjm+WT1H4eX99sQWfPVQHZQOURsXR2ZIApinVgn7yqr6PV9OXD
CbrSgG/azuDBzmYEGVCcBmMbbgJLzzk4/SOdmE3GK+jzSCW1uPGt14MufyOCq2yZeZd76WzAPfHoqcTc
9CClRiK/Go/h0IVacO3dtYKY/ZFLNeiXcrRLHa07jKEDpajwNztTwKxl8pk8hqcGchgLs4oxMdoqVHcI
Q2Xb0J1nxd38XsIUM5uZjcwGZj2zjlnDrF4IyWsQfwCLISjKZ5nx7AAAAABJRU5ErkJggg==
</value>
</data>
<data name="_menuItemDelete.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABfUlEQVQ4T6WTu0vDUBTGz1+g
VBtB1KBgdSsUNFvHQoZChw4upWoRupYO7a6giw66KCj4wgciuAiKg5M4XcFBUHAVBxdXcfD4fTGJqaZT
hx+353yPezNUVFU6oaMwL/YKDkXkCJyIuMDw5LzvE6cx87eAIaPNpvIEbqTA0z5qtVBrKfCN5qvR0Id8
Xj/rdcXOAJYQ81apeNpLqRRovy/YxXOAuwPje7Wq146jr+WyciaPhYK3u8vlvB29zISfwAGCbEHYhOG5
WNSLdFpvs1m9ymR027L02LaVGj30xhbAIBswrMN4nkrpXiLhcZBMKnfU6PlXsIjlElgBqzCtwXyGW08R
DuCOGj30MhN+QlCw/GMwlwjGQY2edgUUzA3CAZzb7NyWF8zjOcDcIxzAeQG3kTiNmfATbAxTMNYRekIJ
T87D2JM4jZmwAL8HwdiEyNw0wpMis5hHwRAYACOOyAw1ejCPMxMt6MKiF/T79OHsAd2AWgJYET3JfVjQ
yd/5G8s+qAWdGU8YAAAAAElFTkSuQmCC
</value>
</data>
<data name="_menuItemAbout.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAC5klEQVQ4T12OX0iTURjGD4kM
8y4JCYqQbJZkLhWElStG08lybm5q/k/TajCM/ANOlmmBaEQEqeGFDBd4ITNNIRC0LaXc0vmp6edQYzrN
C0WvvH/63tOM6MDv4/ne9/kdDsvNzWUGg4Hl5eUxk8nEzGbz6fz8fJUEnfthKKtoRx3qkkMu/4QvkEnL
jPr6+iav17u0t7eH3d1dDuWZmZmlurq6JupIF8j+v0BmNBpzHA5HPwnvR1bR+GoBOqufQ9k5LGJnZxt9
fX391JUukPEX6PV64qa0cAaDQZTbZnG3eR21bw7R0HOE+u4jWF8foKBpje82NtbR29vrJIdcptPpYq1W
q31zM4jiRi8qX4Tw6OU+ch6v4PhQftCxh9KWP51AIACLxWInl2m1WrXb/Xm52+lDXsMKKtpCMNQFoHno
/3sBZZoV24O4U7uIrv4ZjI2NLpPLNBpNKT2rxu5BeWsQWRaBo67+Drn2Ay5oXEjIHkF85hBHdW+ad+fm
ZkEuU6vVVkEQcL1kAiVPf+JWlQ8K0yQuZo9KpTn4/X7Eaz9K/2OclPxJ3p2enga5TKVS1VIxvXAcOU9W
kGhwI0E/CblunMuiKPJMM+Kq+QvvejwekMuUSmWlICygrGEcqmoBiWYf55JhisuhUIjn4/kV81fe9Xim
QC5LT0/PGhx0rXa+8+BagRupFQEkFUsvMc9y+eDggGeaEZdzJ9DR7YbD4Vwll6WlpZ0xGk3t8/PLuF0x
huRCH1Iqt5BU9IPLh4eHPCsqtpBo8vKOz7cAg8HYTi5TKBQsOTlZ29Ly3LW4uI4bhS6cz/yExCIRiqpf
HMo0o50grMFub3ORQy6LjY1lcXFxUXK5vNRmax0WxR109nyDvnoIp1K7OJRpJorbsNmeDVOXHHLpnJA4
KZPJzsbExJQplRlvBwZGN9bW9vEvNKMddaTuOXLCLouQQoyEXCIlMjJSHRUVVRMdHd0s0RGmmWa0o45E
QtiJ+A2+oxJO8d3MEAAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>347, 17</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA

View file

@ -6,7 +6,7 @@ using System.Windows.Forms;
namespace NBTExplorer.Windows
{
internal class SearchStateWin : ISearchState
internal class SearchStateWin : NameValueSearchState
{
private ContainerControl _sender;
@ -20,38 +20,28 @@ namespace NBTExplorer.Windows
public Action<DataNode> CollapseCallback { get; set; }
public Action<DataNode> EndCallback { get; set; }
#region ISearchState
public DataNode RootNode { get; set; }
public string SearchName { get; set; }
public string SearchValue { get; set; }
public IEnumerator<DataNode> State { get; set; }
public void InvokeDiscoverCallback (DataNode node)
public override void InvokeDiscoverCallback (DataNode node)
{
if (_sender != null && DiscoverCallback != null)
_sender.BeginInvoke(DiscoverCallback, new object[] { node });
}
public void InvokeProgressCallback (DataNode node)
public override void InvokeProgressCallback (DataNode node)
{
if (_sender != null && ProgressCallback != null)
_sender.BeginInvoke(ProgressCallback, new object[] { node });
}
public void InvokeCollapseCallback (DataNode node)
public override void InvokeCollapseCallback (DataNode node)
{
if (_sender != null && CollapseCallback != null)
_sender.BeginInvoke(CollapseCallback, new object[] { node });
}
public void InvokeEndCallback (DataNode node)
public override void InvokeEndCallback (DataNode node)
{
if (_sender != null && EndCallback != null)
_sender.BeginInvoke(EndCallback, new object[] { node });
}
#endregion
}
}