コード例 #1
0
		public static void AddAndExecute(IUndoCommandManager undoCommandManager, HexDocument doc, ulong offset, byte[] data, string descr = null) {
			if (doc == null)
				throw new ArgumentNullException();
			if (data == null || data.Length == 0)
				return;
			undoCommandManager.Add(new WriteHexUndoCommand(doc, offset, data, descr));
		}
コード例 #2
0
		public static void AddAndExecute(IUndoCommandManager undoCommandManager, IHexDocumentManager hexDocumentManager, string filename, ulong offset, byte[] data, string descr = null) {
			if (string.IsNullOrEmpty(filename))
				throw new ArgumentException();
			var doc = hexDocumentManager.GetOrCreate(filename);
			if (doc == null)
				return;
			AddAndExecute(undoCommandManager, doc, offset, data, descr);
		}
コード例 #3
0
ファイル: AssemblyCommands.cs プロジェクト: haise0/reAtomizer
        CreateAssemblyCommand(IUndoCommandManager undoCommandManager, IFileTreeView fileTreeView, ModuleDef newModule, AssemblyOptions options)
        {
            this.undoCommandManager = undoCommandManager;
            var module = Module.ModuleUtils.CreateModule(options.Name, Guid.NewGuid(), options.ClrVersion, ModuleKind.Dll, newModule);

            options.CreateAssemblyDef(module).Modules.Add(module);
            var file = DnSpyDotNetFile.CreateAssembly(DnSpyFileInfo.CreateFile(string.Empty), module, fileTreeView.FileManager.Settings.LoadPDBFiles);

            this.fileNodeCreator = RootDnSpyFileNodeCreator.CreateAssembly(fileTreeView, file);
        }
コード例 #4
0
ファイル: ModuleCommands.cs プロジェクト: haise0/reAtomizer
 protected AddNetModuleToAssemblyCommand(IUndoCommandManager undoCommandManager, IDnSpyFileNode asmNode, IModuleFileNode modNode, bool modNodeWasCreated)
 {
     this.undoCommandManager = undoCommandManager;
     if (!(asmNode is IAssemblyFileNode))
     {
         asmNode = (IAssemblyFileNode)asmNode.TreeNode.Parent.Data;
     }
     this.asmNode           = (IAssemblyFileNode)asmNode;
     this.modNode           = modNode;
     this.modNodeWasCreated = modNodeWasCreated;
 }
コード例 #5
0
 public static void AddAndExecute(IUndoCommandManager undoCommandManager, HexDocument doc, ulong offset, byte[] data, string descr = null)
 {
     if (doc == null)
     {
         throw new ArgumentNullException(nameof(doc));
     }
     if (data == null || data.Length == 0)
     {
         return;
     }
     undoCommandManager.Add(new WriteHexUndoCommand(doc, offset, data, descr));
 }
コード例 #6
0
ファイル: AssemblyCommands.cs プロジェクト: haise0/reAtomizer
        static IEnumerable <UndoRedoInfo> GetUndoRedoInfo(IUndoCommandManager undoCommandManager, IEnumerable <IDnSpyFileNode> nodes)
        {
            var modifiedUndoAsms = new HashSet <IUndoObject>(undoCommandManager.UndoObjects);
            var modifiedRedoAsms = new HashSet <IUndoObject>(undoCommandManager.RedoObjects);

            foreach (var node in nodes)
            {
                var  uo       = undoCommandManager.GetUndoObject(node.DnSpyFile);
                bool isInUndo = modifiedUndoAsms.Contains(uo);
                bool isInRedo = modifiedRedoAsms.Contains(uo);
                yield return(new UndoRedoInfo(node, isInUndo, isInRedo));
            }
        }
コード例 #7
0
        public static void AddAndExecute(IUndoCommandManager undoCommandManager, IHexDocumentManager hexDocumentManager, string filename, ulong offset, byte[] data, string descr = null)
        {
            if (string.IsNullOrEmpty(filename))
            {
                throw new ArgumentException();
            }
            var doc = hexDocumentManager.GetOrCreate(filename);

            if (doc == null)
            {
                return;
            }
            AddAndExecute(undoCommandManager, doc, offset, data, descr);
        }
コード例 #8
0
		HexBoxUndoManager(IUndoCommandManager undoCommandManager) {
			this.undoCommandManager = undoCommandManager;
			undoCommandManager.OnEvent += UndoCommandManager_OnEvent;
		}
コード例 #9
0
 HexBoxUndoManager(IUndoCommandManager undoCommandManager)
 {
     this.undoCommandManager     = undoCommandManager;
     undoCommandManager.OnEvent += UndoCommandManager_OnEvent;
 }
コード例 #10
0
ファイル: ModuleCommands.cs プロジェクト: lovebanyi/dnSpy
		AddExistingNetModuleToAssemblyCommand(IUndoCommandManager undoCommandManager, IDnSpyFileNode asmNode, IModuleFileNode modNode)
			: base(undoCommandManager, asmNode, modNode, false) {
		}
コード例 #11
0
ファイル: AssemblyCommands.cs プロジェクト: lovebanyi/dnSpy
		CreateAssemblyCommand(IUndoCommandManager undoCommandManager, IFileTreeView fileTreeView, ModuleDef newModule, AssemblyOptions options) {
			this.undoCommandManager = undoCommandManager;
			var module = Module.ModuleUtils.CreateModule(options.Name, Guid.NewGuid(), options.ClrVersion, ModuleKind.Dll, newModule);
			options.CreateAssemblyDef(module).Modules.Add(module);
			var file = DnSpyDotNetFile.CreateAssembly(DnSpyFileInfo.CreateFile(string.Empty), module, fileTreeView.FileManager.Settings.LoadPDBFiles);
			this.fileNodeCreator = RootDnSpyFileNodeCreator.CreateAssembly(fileTreeView, file);
		}
コード例 #12
0
ファイル: ModuleCommands.cs プロジェクト: haise0/reAtomizer
 AddNewNetModuleToAssemblyCommand(IUndoCommandManager undoCommandManager, IDnSpyFileNode asmNode, IModuleFileNode modNode)
     : base(undoCommandManager, asmNode, modNode, true)
 {
 }
コード例 #13
0
		HexDocumentManager(IUndoCommandManager undoCommandManager) {
			this.undoCommandManager = undoCommandManager;
			undoCommandManager.OnEvent += UndoCommandManager_OnEvent;
		}
コード例 #14
0
 public AsmEdHexDocument(IUndoCommandManager undoCommandManager, byte[] data, string filename)
     : base(data, filename)
 {
     this.undoCommandManager = undoCommandManager;
     this.undoObject         = new UndoObject(this);
 }
コード例 #15
0
 HexDocumentManager(IUndoCommandManager undoCommandManager)
 {
     this.undoCommandManager     = undoCommandManager;
     undoCommandManager.OnEvent += UndoCommandManager_OnEvent;
 }
コード例 #16
0
ファイル: AsmEdHexDocument.cs プロジェクト: lovebanyi/dnSpy
		public AsmEdHexDocument(IUndoCommandManager undoCommandManager, byte[] data, string filename)
			: base(data, filename) {
			this.undoCommandManager = undoCommandManager;
			this.undoObject = new UndoObject(this);
		}
コード例 #17
0
ファイル: ModuleCommands.cs プロジェクト: lovebanyi/dnSpy
		protected AddNetModuleToAssemblyCommand(IUndoCommandManager undoCommandManager, IDnSpyFileNode asmNode, IModuleFileNode modNode, bool modNodeWasCreated) {
			this.undoCommandManager = undoCommandManager;
			if (!(asmNode is IAssemblyFileNode))
				asmNode = (IAssemblyFileNode)asmNode.TreeNode.Parent.Data;
			this.asmNode = (IAssemblyFileNode)asmNode;
			this.modNode = modNode;
			this.modNodeWasCreated = modNodeWasCreated;
		}
コード例 #18
0
ファイル: ModuleCommands.cs プロジェクト: lovebanyi/dnSpy
		AddNewNetModuleToAssemblyCommand(IUndoCommandManager undoCommandManager, IDnSpyFileNode asmNode, IModuleFileNode modNode)
			: base(undoCommandManager, asmNode, modNode, true) {
		}
コード例 #19
0
ファイル: ModuleCommands.cs プロジェクト: haise0/reAtomizer
 AddExistingNetModuleToAssemblyCommand(IUndoCommandManager undoCommandManager, IDnSpyFileNode asmNode, IModuleFileNode modNode)
     : base(undoCommandManager, asmNode, modNode, false)
 {
 }
コード例 #20
0
ファイル: AssemblyCommands.cs プロジェクト: lovebanyi/dnSpy
		static IEnumerable<UndoRedoInfo> GetUndoRedoInfo(IUndoCommandManager undoCommandManager, IEnumerable<IDnSpyFileNode> nodes) {
			var modifiedUndoAsms = new HashSet<IUndoObject>(undoCommandManager.UndoObjects);
			var modifiedRedoAsms = new HashSet<IUndoObject>(undoCommandManager.RedoObjects);
			foreach (var node in nodes) {
				var uo = undoCommandManager.GetUndoObject(node.DnSpyFile);
				bool isInUndo = modifiedUndoAsms.Contains(uo);
				bool isInRedo = modifiedRedoAsms.Contains(uo);
				yield return new UndoRedoInfo(node, isInUndo, isInRedo);
			}
		}