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); }
CreateImageResourceElementCommand(ResourceElementSetTreeNode rsrcSetNode, ResourceElementTreeNode[] nodes) : base(rsrcSetNode, nodes) { }
SerializedImageResourceElementSettingsCommand(ResourceElementTreeNode rsrcElNode, ResourceElementOptions options) : base(rsrcElNode, options) { }
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())); }
CreateByteArrayResourceElementCommand(ResourceElementSetTreeNode rsrcSetNode, ResourceElementTreeNode[] nodes) : base(rsrcSetNode, nodes) { }
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; }
DeleteResourceElementCommand(ResourceElementTreeNode[] rsrcNodes) { this.nodes = new DeletableNodes<ResourceElementTreeNode>(rsrcNodes); }
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(); }
CreateResourceElementCommand(ResourceElementSetTreeNode rsrcSetNode, ResourceElementTreeNode node) : base(rsrcSetNode, new[] { node }) { }
public virtual TreeViewNodeFilterResult GetFilterResult(ResourceElementTreeNode node) { return(filter.GetFilterResult(node)); }
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)); }
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 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 filter.GetFilterResult(node); }