Ejemplo n.º 1
0
        public override TreeViewNodeFilterResult GetFilterResult(ResourceElementTreeNode node)
        {
            bool isMatch = (flags & VisibleMembersFlags.ResourceElement) != 0;

            if (!isMatch)
            {
                return(new TreeViewNodeFilterResult(FilterResult.Hidden, isMatch));
            }
            return(new TreeViewNodeFilterResult(FilterResult.Match, isMatch));
        }
		public virtual TreeViewNodeFilterResult GetFilterResult(ResourceElementTreeNode node) {
			return new TreeViewNodeFilterResult(FilterResult.Hidden, false);
		}
Ejemplo n.º 3
0
 CreateImageResourceElementCommand(ResourceElementSetTreeNode rsrcSetNode, ResourceElementTreeNode[] nodes)
     : base(rsrcSetNode, nodes)
 {
 }
Ejemplo n.º 4
0
 SerializedImageResourceElementSettingsCommand(ResourceElementTreeNode rsrcElNode, ResourceElementOptions options)
     : base(rsrcElNode, options)
 {
 }
Ejemplo n.º 5
0
        internal static void Execute(ILSpyTreeNode[] nodes, ResourceTypeCode typeCode, Func<ResourceElementSetTreeNode, ResourceElementTreeNode[], IUndoCommand> createCommand)
        {
            var rsrcSetNode = nodes[0] as ResourceElementSetTreeNode;
            if (rsrcSetNode == null)
                rsrcSetNode = nodes[0].Parent as ResourceElementSetTreeNode;
            Debug.Assert(rsrcSetNode != null);

            var module = ILSpyTreeNode.GetModule(nodes[0]);
            Debug.Assert(module != null);
            if (module == null)
                throw new InvalidOperationException();

            var dlg = new WF.OpenFileDialog {
                RestoreDirectory = true,
                Multiselect = true,
                Filter = "All files (*.*)|*.*",
            };
            if (dlg.ShowDialog() != WF.DialogResult.OK)
                return;
            var fnames = dlg.FileNames;
            if (fnames.Length == 0)
                return;

            var newNodes = new ResourceElementTreeNode[fnames.Length];
            for (int i = 0; i < fnames.Length; i++) {
                var fn = fnames[i];
                try {
                    var rsrcElem = new ResourceElement {
                        Name = Path.GetFileName(fn),
                        ResourceData = new BuiltInResourceData(typeCode, File.ReadAllBytes(fn)),
                    };
                    newNodes[i] = ResourceFactory.Create(module, rsrcElem);
                }
                catch (Exception ex) {
                    MainWindow.Instance.ShowMessageBox(string.Format("Error reading files: {0}", ex.Message));
                    return;
                }
            }

            UndoCommandManager.Instance.Add(createCommand(rsrcSetNode, newNodes.ToArray()));
        }
Ejemplo n.º 6
0
 CreateByteArrayResourceElementCommand(ResourceElementSetTreeNode rsrcSetNode, ResourceElementTreeNode[] nodes)
     : base(rsrcSetNode, nodes)
 {
 }
Ejemplo n.º 7
0
        protected ResourceElementSettingsBaseCommand(ResourceElementTreeNode rsrcElNode, ResourceElementOptions options)
        {
            this.rsrcSetNode = (ResourceElementSetTreeNode)rsrcElNode.Parent;
            this.rsrcElNode = rsrcElNode;
            this.newOptions = options.Create();
            this.origOptions = rsrcElNode.ResourceElement;

            this.module = ILSpyTreeNode.GetModule(rsrcSetNode);
            Debug.Assert(this.module != null);
            this.resource = rsrcSetNode.Resource;
            this.resourceIndex = module.Resources.IndexOf(this.resource);
            Debug.Assert(this.resourceIndex >= 0);
            if (this.resourceIndex < 0)
                throw new InvalidOperationException();

            this.origParentChildIndex = this.rsrcSetNode.Children.IndexOf(rsrcElNode);
            Debug.Assert(this.origParentChildIndex >= 0);
            if (this.origParentChildIndex < 0)
                throw new InvalidOperationException();

            this.nameChanged = origOptions.Name != newOptions.Name;
        }
Ejemplo n.º 8
0
 DeleteResourceElementCommand(ResourceElementTreeNode[] rsrcNodes)
 {
     this.nodes = new DeletableNodes<ResourceElementTreeNode>(rsrcNodes);
 }
Ejemplo n.º 9
0
 protected CreateResourceElementCommandBase(ResourceElementSetTreeNode rsrcSetNode, ResourceElementTreeNode[] nodes)
 {
     this.module = ILSpyTreeNode.GetModule(rsrcSetNode);
     Debug.Assert(this.module != null);
     this.rsrcSetNode = rsrcSetNode;
     this.nodes = nodes;
     this.resource = rsrcSetNode.Resource;
     this.resourceIndex = module.Resources.IndexOf(this.resource);
     Debug.Assert(this.resourceIndex >= 0);
     if (this.resourceIndex < 0)
         throw new InvalidOperationException();
 }
Ejemplo n.º 10
0
 CreateResourceElementCommand(ResourceElementSetTreeNode rsrcSetNode, ResourceElementTreeNode node)
     : base(rsrcSetNode, new[] { node })
 {
 }
Ejemplo n.º 11
0
 public virtual TreeViewNodeFilterResult GetFilterResult(ResourceElementTreeNode node)
 {
     return(filter.GetFilterResult(node));
 }
Ejemplo n.º 12
0
		void SearchResourceElementTreeNode(DnSpyFile module, ResourceTreeNode resTreeNode, ResourceElementTreeNode resElNode) {
			var res = filter.GetFilterResult(resElNode);
			if (res.FilterResult == FilterResult.Hidden)
				return;

			if (res.IsMatch) {
				bool m = IsMatch(resElNode.Name, resElNode);
				if (!m) {
					var builtin = resElNode.ResourceElement.ResourceData as BuiltInResourceData;
					if (builtin != null) {
						var val = builtin.Data;
						if (builtin.Code == ResourceTypeCode.TimeSpan)
							val = ((TimeSpan)val).Ticks;
						m = IsMatch(val as string, val);
					}
				}
				if (!m)
					m = IsMatch(resElNode.GetStringContents(), null);
				if (m) {
					onMatch(new SearchResult {
						Language = language,
						Object = resElNode,
						NameObject = resElNode,
						TypeImageInfo = GetImage(resElNode.IconName),
						LocationObject = resTreeNode,
						LocationImageInfo = GetImage(resTreeNode.IconName),
						DnSpyFile = module,
					});
				}
			}
		}
 public virtual TreeViewNodeFilterResult GetFilterResult(ResourceElementTreeNode node)
 {
     return(new TreeViewNodeFilterResult(FilterResult.Hidden, false));
 }
Ejemplo n.º 14
0
        void SearchResourceElementTreeNode(DnSpyFile module, ResourceTreeNode resTreeNode, ResourceElementTreeNode resElNode)
        {
            var res = filter.GetFilterResult(resElNode);

            if (res.FilterResult == FilterResult.Hidden)
            {
                return;
            }

            if (res.IsMatch)
            {
                bool m = IsMatch(resElNode.Name, resElNode);
                if (!m)
                {
                    var builtin = resElNode.ResourceElement.ResourceData as BuiltInResourceData;
                    if (builtin != null)
                    {
                        var val = builtin.Data;
                        if (builtin.Code == ResourceTypeCode.TimeSpan)
                        {
                            val = ((TimeSpan)val).Ticks;
                        }
                        m = IsMatch(val as string, val);
                    }
                }
                if (!m)
                {
                    m = IsMatch(resElNode.GetStringContents(), null);
                }
                if (m)
                {
                    onMatch(new SearchResult {
                        Language          = language,
                        Object            = resElNode,
                        NameObject        = resElNode,
                        TypeImageInfo     = GetImage(resElNode.IconName),
                        LocationObject    = resTreeNode,
                        LocationImageInfo = GetImage(resTreeNode.IconName),
                        DnSpyFile         = module,
                    });
                }
            }
        }
Ejemplo n.º 15
0
		public override TreeViewNodeFilterResult GetFilterResult(ResourceElementTreeNode node) {
			bool isMatch = (flags & VisibleMembersFlags.ResourceElement) != 0;
			if (!isMatch)
				return new TreeViewNodeFilterResult(FilterResult.Hidden, isMatch);
			return new TreeViewNodeFilterResult(FilterResult.Match, isMatch);
		}
Ejemplo n.º 16
0
		public virtual TreeViewNodeFilterResult GetFilterResult(ResourceElementTreeNode node) {
			return filter.GetFilterResult(node);
		}