public override FileTreeNodeFilterResult GetResult(IResourceElementNode node) { bool isMatch = (flags & VisibleMembersFlags.ResourceElement) != 0; if (!isMatch) { return(new FileTreeNodeFilterResult(FilterType.Hide, isMatch)); } return(new FileTreeNodeFilterResult(FilterType.Visible, isMatch)); }
SerializedImageListStreamerResourceElementSettingsCommand(IResourceElementNode rsrcElNode, ResourceElementOptions options) : base(rsrcElNode, options) { }
ImageResourceElementSettingsCommand(IResourceElementNode rsrcElNode, ResourceElementOptions options) : base(rsrcElNode, options) { }
protected ResourceElementSettingsBaseCommand(IResourceElementNode rsrcElNode, ResourceElementOptions options) { this.rsrcSetNode = (IResourceElementSetNode)rsrcElNode.TreeNode.Parent.Data; this.rsrcElNode = rsrcElNode; this.newOptions = options.Create(); this.origOptions = rsrcElNode.ResourceElement; this.module = rsrcSetNode.GetModule(); 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.TreeNode.Children.IndexOf(rsrcElNode.TreeNode); Debug.Assert(this.origParentChildIndex >= 0); if (this.origParentChildIndex < 0) throw new InvalidOperationException(); this.nameChanged = origOptions.Name != newOptions.Name; }
public virtual DocumentTreeNodeFilterResult GetResult(IResourceElementNode node) => new DocumentTreeNodeFilterResult();
void Decompile(IResourceElementNode node) { node.WriteShort(output, language, language.Settings.GetBoolean(DecompilerOptionConstants.ShowTokenAndRvaComments_GUID)); }
void SearchResourceElementTreeNode(IDsDocument module, IResourceNode resTreeNode, IResourceElementNode resElNode) { var res = options.Filter.GetResult(resElNode); if (res.FilterType == FilterType.Hide) { 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(ToString(resElNode), null); } if (m) { options.OnMatch(new SearchResult { Context = options.Context, Object = resElNode, NameObject = resElNode, ObjectImageReference = resElNode.Icon, LocationObject = resTreeNode, LocationImageReference = resTreeNode.Icon, Document = module, }); } } }
protected CreateResourceElementCommandBase(IResourceElementSetNode rsrcSetNode, IResourceElementNode[] nodes) { this.module = rsrcSetNode.GetModule(); 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(); }
public virtual FileTreeNodeFilterResult GetResult(IResourceElementNode node) => new FileTreeNodeFilterResult();
public virtual FileTreeNodeFilterResult GetResult(IResourceElementNode node) { return(this.filter.GetResult(node)); }
public virtual FileTreeNodeFilterResult GetResult(IResourceElementNode node) { return new FileTreeNodeFilterResult(); }
public override FileTreeNodeFilterResult GetResult(IResourceElementNode node) { bool isMatch = (flags & VisibleMembersFlags.ResourceElement) != 0; if (!isMatch) return new FileTreeNodeFilterResult(FilterType.Hide, isMatch); return new FileTreeNodeFilterResult(FilterType.Visible, isMatch); }
public virtual FileTreeNodeFilterResult GetResult(IResourceElementNode node) { return new FileTreeNodeFilterResult(FilterType.Hide, false); }
DeleteResourceElementCommand(IResourceElementNode[] rsrcNodes) { this.nodes = new DeletableNodes<IResourceElementNode>(rsrcNodes); }
internal static void Execute(Lazy<IUndoCommandManager> undoCommandManager, IAppWindow appWindow, IResourceNodeFactory resourceNodeFactory, IFileTreeNodeData[] nodes, ResourceTypeCode typeCode, Func<IResourceElementSetNode, IResourceElementNode[], IUndoCommand> createCommand) { var rsrcSetNode = nodes[0] as IResourceElementSetNode; if (rsrcSetNode == null) rsrcSetNode = nodes[0].TreeNode.Parent.Data as IResourceElementSetNode; Debug.Assert(rsrcSetNode != null); var module = nodes[0].GetModule(); Debug.Assert(module != null); if (module == null) throw new InvalidOperationException(); var dlg = new WF.OpenFileDialog { RestoreDirectory = true, Multiselect = true, Filter = PickFilenameConstants.AnyFilenameFilter, }; if (dlg.ShowDialog() != WF.DialogResult.OK) return; var fnames = dlg.FileNames; if (fnames.Length == 0) return; var newNodes = new IResourceElementNode[fnames.Length]; var treeView = appWindow.FileTreeView.TreeView; var treeNodeGroup = appWindow.FileTreeView.FileTreeNodeGroups.GetGroup(FileTreeNodeGroupType.ResourceElementTreeNodeGroup); 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] = (IResourceElementNode)treeView.Create(resourceNodeFactory.Create(module, rsrcElem, treeNodeGroup)).Data; } catch (Exception ex) { Shared.App.MsgBox.Instance.Show(string.Format(dnSpy_AsmEditor_Resources.Error_ReadingFiles, ex.Message)); return; } } undoCommandManager.Value.Add(createCommand(rsrcSetNode, newNodes.ToArray())); appWindow.FileTabManager.FollowReference(newNodes[0]); }
public virtual DocumentTreeNodeFilterResult GetResult(IResourceElementNode node) => this.filter.GetResult(node);
CreateByteArrayResourceElementCommand(IResourceElementSetNode rsrcSetNode, IResourceElementNode[] nodes) : base(rsrcSetNode, nodes) { }
public virtual FileTreeNodeFilterResult GetResult(IResourceElementNode node) { return(new FileTreeNodeFilterResult()); }
CreateStreamResourceElementCommand(IResourceElementSetNode rsrcSetNode, IResourceElementNode[] nodes) : base(rsrcSetNode, nodes) { }
void SearchResourceElementTreeNode(IDnSpyFile module, IResourceNode resTreeNode, IResourceElementNode resElNode) { var res = options.Filter.GetResult(resElNode); if (res.FilterType == FilterType.Hide) 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(ToString(resElNode), null); if (m) { options.OnMatch(new SearchResult { Context = options.Context, Object = resElNode, NameObject = resElNode, ObjectImageReference = resElNode.Icon, LocationObject = resTreeNode, LocationImageReference = resTreeNode.Icon, DnSpyFile = module, }); } } }
CreateResourceElementCommand(IResourceElementSetNode rsrcSetNode, IResourceElementNode node) : base(rsrcSetNode, new[] { node }) { }
public virtual FileTreeNodeFilterResult GetResult(IResourceElementNode node) => new FileTreeNodeFilterResult(FilterType.Hide, false);
public virtual FileTreeNodeFilterResult GetResult(IResourceElementNode node) { return this.filter.GetResult(node); }