/// <summary> /// コンストラクタ /// </summary> public override void InitializePlugin(IPoderosaWorld poderosa) { base.InitializePlugin(poderosa); _instance = this; // 文字列リソース読み込み _stringResource = new Poderosa.StringResource("Contrib.ConnectProfile.strings", typeof(ConnectProfilePlugin).Assembly); ConnectProfilePlugin.Instance.PoderosaWorld.Culture.AddChangeListener(_stringResource); // コマンド登録 IPluginManager pm = poderosa.PluginManager; _coreServices = (ICoreServices)poderosa.GetAdapter(typeof(ICoreServices)); _terminalEmulatorPlugin = (ITerminalEmulatorService)pm.FindPlugin("org.poderosa.terminalemulator", typeof(ITerminalEmulatorService)); ConnectProfileCommand.Register(_coreServices.CommandManager); // メニューリスト作成 ConnectProfileMenuGroup menulist = new ConnectProfileMenuGroup(); ConnectProfileContextMenuGroup contextmenulist = new ConnectProfileContextMenuGroup(); // メニュー登録 IExtensionPoint toolmenu = pm.FindExtensionPoint("org.poderosa.menu.tool"); toolmenu.RegisterExtension(menulist); // コンテキストメニュー登録 IExtensionPoint contextmenu = pm.FindExtensionPoint("org.poderosa.terminalemulator.contextMenu"); contextmenu.RegisterExtension(contextmenulist); // 設定ファイル連携 _connectProfileOptionSupplier = new ConnectProfileOptionsSupplier(); _coreServices.PreferenceExtensionPoint.RegisterExtension(_connectProfileOptionSupplier); // 接続プロファイル _profiles = new ConnectProfileList(); }