filedisassemblerpackage.cs

来自「VS.NET2003插件开发电子书」· CS 代码 · 共 43 行

CS
43
字号
using System;
using Reflector;
using Reflector.CodeModel;

namespace Reflector.FileDisassembler
{
	internal class FileDisassemblerPackage : IPackage
	{
		private IWindowManager windowManager;
		private ICommandBarManager commandBarManager;
		private ICommandBarSeparator separator;
		private ICommandBarButton button;

		public void Load(IServiceProvider serviceProvider)
		{
			FileDisassemblerWindow fileDisassemblerWindow = new FileDisassemblerWindow();
			fileDisassemblerWindow.AssemblyBrowser = (IAssemblyBrowser) serviceProvider.GetService(typeof(IAssemblyBrowser));
			fileDisassemblerWindow.AssemblyManager = (IAssemblyManager) serviceProvider.GetService(typeof(IAssemblyManager));
			fileDisassemblerWindow.LanguageManager = (ILanguageManager) serviceProvider.GetService(typeof(ILanguageManager));
			fileDisassemblerWindow.TranslatorManager = (ITranslatorManager) serviceProvider.GetService(typeof(ITranslatorManager));

			this.windowManager = (IWindowManager) serviceProvider.GetService(typeof(IWindowManager));
			this.windowManager.Windows.Add("FileDisassemblerWindow", fileDisassemblerWindow, "File Disassembler");
	
			this.commandBarManager = (ICommandBarManager) serviceProvider.GetService(typeof(ICommandBarManager));
			this.separator = this.commandBarManager.CommandBars["Tools"].Items.AddSeparator();
			this.button = this.commandBarManager.CommandBars["Tools"].Items.AddButton("&File Disassembler", new EventHandler(this.FileDisassemblerButton_Click));
		}

		public void Unload()
		{
			this.windowManager.Windows.Remove("FileDisassemblerWindow");
			this.commandBarManager.CommandBars["Tools"].Items.Remove(this.button);
			this.commandBarManager.CommandBars["Tools"].Items.Remove(this.separator);
		}

		private void FileDisassemblerButton_Click(object sender, EventArgs e)
		{
			this.windowManager.Windows["FileDisassemblerWindow"].Visible = true;
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?