public override void InitializePlugin(IPoderosaWorld poderosa) { base.InitializePlugin(poderosa); _instance = this; IPluginManager pm = poderosa.PluginManager; _coreServices = (ICoreServices)poderosa.GetAdapter(typeof(ICoreServices)); TEnv.ReloadStringResource(); _terminalViewFactory = new TerminalViewFactory(); pm.FindExtensionPoint(WindowManagerConstants.VIEW_FACTORY_ID).RegisterExtension(_terminalViewFactory); //このViewFactoryはデフォ foreach (IViewManagerFactory mf in pm.FindExtensionPoint(WindowManagerConstants.MAINWINDOWCONTENT_ID).GetExtensions()) { mf.DefaultViewFactory = _terminalViewFactory; } //ログインダイアログのサポート用 pm.CreateExtensionPoint("org.poderosa.terminalsessions.telnetSSHLoginDialogInitializer", typeof(ITelnetSSHLoginDialogInitializer), this); pm.CreateExtensionPoint("org.poderosa.terminalsessions.loginDialogUISupport", typeof(ILoginDialogUISupport), this); pm.CreateExtensionPoint("org.poderosa.terminalsessions.terminalParameterStore", typeof(ITerminalSessionParameterStore), this); IExtensionPoint factory_point = pm.CreateExtensionPoint(TERMINAL_CONNECTION_FACTORY_ID, typeof(ITerminalConnectionFactory), this); _pasteCommandExt = pm.CreateExtensionPoint("org.poderosa.terminalsessions.pasteCommand", typeof(IPoderosaCommand), this); _terminalSessionsOptionSupplier = new TerminalSessionOptionsSupplier(); _coreServices.PreferenceExtensionPoint.RegisterExtension(_terminalSessionsOptionSupplier); //Add conversion for TerminalPane _paneBridgeAdapter = new PaneBridgeAdapter(); poderosa.AdapterManager.RegisterFactory(_paneBridgeAdapter); _startCommand = new StartCommand(factory_point); _reproduceCommand = new ReproduceCommand(); _coreServices.CommandManager.Register(_reproduceCommand); ReproduceMenuGroup rmg = new ReproduceMenuGroup(); IExtensionPoint consolemenu = pm.FindExtensionPoint("org.poderosa.menu.console"); consolemenu.RegisterExtension(rmg); IExtensionPoint contextmenu = pm.FindExtensionPoint("org.poderosa.terminalemulator.contextMenu"); contextmenu.RegisterExtension(rmg); IExtensionPoint documentContext = pm.FindExtensionPoint("org.poderosa.terminalemulator.documentContextMenu"); documentContext.RegisterExtension(rmg); }
//ExtP作成とデフォルトの登録 public static void CreateExtensionPointAndDefaultCommands(IPluginManager pm) { IExtensionPoint pt = pm.CreateExtensionPoint(POPUP_MENU_EXTENSION_POINT, typeof(ICommandResultProcessorMenuItem), TerminalEmulatorPlugin.Instance); pt.RegisterExtension(new PopupCommandResult()); pt.RegisterExtension(new CopyCommandResult()); }
public override void InitializePlugin(IPoderosaWorld poderosa) { base.InitializePlugin(poderosa); _instance = this; _protocolOptionsSupplier = new ProtocolOptionsSupplier(); _poderosaLog = ((IPoderosaApplication)poderosa.GetAdapter(typeof(IPoderosaApplication))).PoderosaLog; _netCategory = new PoderosaLogCategoryImpl("Network"); IPluginManager pm = poderosa.PluginManager; RegisterTerminalParameterSerializers(pm.FindExtensionPoint("org.poderosa.core.serializeElement")); _connectionResultEventHandler = pm.CreateExtensionPoint(ProtocolsPluginConstants.RESULTEVENTHANDLER_EXTENSION, typeof(IConnectionResultEventHandler), this); pm.CreateExtensionPoint(ProtocolsPluginConstants.HOSTKEYCHECKER_EXTENSION, typeof(ISSHHostKeyVerifier2), ProtocolsPlugin.Instance); PEnv.Init((ICoreServices)poderosa.GetAdapter(typeof(ICoreServices))); }
public override void InitializePlugin(IPoderosaWorld poderosa) { base.InitializePlugin(poderosa); _instance = this; //GranadosをロードするパスをProtocolsの場所に #if !MONOLITHIC AppDomain.CurrentDomain.SetupInformation.PrivateBinPath += ";" + ProtocolUtil.ProtocolsPluginHomeDir; #endif _protocolOptionsSupplier = new ProtocolOptionsSupplier(); _passphraseCache = new PassphraseCache(); _poderosaLog = ((IPoderosaApplication)poderosa.GetAdapter(typeof(IPoderosaApplication))).PoderosaLog; _netCategory = new PoderosaLogCategoryImpl("Network"); IPluginManager pm = poderosa.PluginManager; RegisterTerminalParameterSerializers(pm.FindExtensionPoint("org.poderosa.core.serializeElement")); _connectionResultEventHandler = pm.CreateExtensionPoint(ProtocolsPluginConstants.RESULTEVENTHANDLER_EXTENSION, typeof(IConnectionResultEventHandler), this); pm.CreateExtensionPoint(ProtocolsPluginConstants.HOSTKEYCHECKER_EXTENSION, typeof(ISSHHostKeyVerifier), ProtocolsPlugin.Instance); PEnv.Init((ICoreServices)poderosa.GetAdapter(typeof(ICoreServices))); }
public override void InitializePlugin(IPoderosaWorld poderosa) { base.InitializePlugin(poderosa); _instance = this; _stringResource = new StringResource("Poderosa.Usability.strings", typeof(OptionDialogPlugin).Assembly); poderosa.Culture.AddChangeListener(this); IPluginManager pm = poderosa.PluginManager; _coreServices = (ICoreServices)poderosa.GetAdapter(typeof(ICoreServices)); IExtensionPoint panel_ext = pm.CreateExtensionPoint(OPTION_PANEL_ID, typeof(IOptionPanelExtension), this); ICommandCategory dialogs = _coreServices.CommandManager.CommandCategories.Dialogs; _optionDialogCommand = new GeneralCommandImpl("org.poderosa.optiondialog.open", _stringResource, "Command.OptionDialog", dialogs, new ExecuteDelegate(OptionDialogCommand.OpenOptionDialog)).SetDefaultShortcutKey(Keys.Alt | Keys.Control | Keys.T); _detailedPreferenceCommand = new GeneralCommandImpl("org.poderosa.preferenceeditor.open", _stringResource, "Command.PreferenceEditor", dialogs, new ExecuteDelegate(OptionDialogCommand.OpenPreferenceEditor)); IExtensionPoint toolmenu = pm.FindExtensionPoint("org.poderosa.menu.tool"); _optionDialogMenuGroup = new PoderosaMenuGroupImpl(new IPoderosaMenuItem[] { new PoderosaMenuItemImpl(_optionDialogCommand, _stringResource, "Menu.OptionDialog"), new PoderosaMenuItemImpl(_detailedPreferenceCommand, _stringResource, "Menu.PreferenceEditor") }).SetPosition(PositionType.Last, null); toolmenu.RegisterExtension(_optionDialogMenuGroup); //基本のオプションパネルを登録 panel_ext.RegisterExtension(new DisplayOptionPanelExtension()); panel_ext.RegisterExtension(new TerminalOptionPanelExtension()); panel_ext.RegisterExtension(new PeripheralOptionPanelExtension()); panel_ext.RegisterExtension(new CommandOptionPanelExtension()); panel_ext.RegisterExtension(new SSHOptionPanelExtension()); panel_ext.RegisterExtension(new ConnectionOptionPanelExtension()); panel_ext.RegisterExtension(new GenericOptionPanelExtension()); }
public override void InitializePlugin(IPoderosaWorld poderosa) { base.InitializePlugin(poderosa); _instance = this; #if UNITTEST StartMode = StartMode.Slave; #else //NOTE Preferenceから取得するなどすべきか StartMode = StartMode.StandAlone; #endif //Coreアセンブリ内のプラグインを代表してここでAdapterFactoryをセット new CoreServices(poderosa); TabBar.Init(); IPluginManager pm = poderosa.PluginManager; pm.FindExtensionPoint("org.poderosa.root").RegisterExtension(this); pm.CreateExtensionPoint(WindowManagerConstants.MAINWINDOWCONTENT_ID, typeof(IViewManagerFactory), this); pm.CreateExtensionPoint(WindowManagerConstants.VIEW_FACTORY_ID, typeof(IViewFactory), this); pm.CreateExtensionPoint(WindowManagerConstants.VIEWFORMATEVENTHANDLER_ID, typeof(IViewFormatEventHandler), this); pm.CreateExtensionPoint(WindowManagerConstants.TOOLBARCOMPONENT_ID, typeof(IToolBarComponent), this); pm.CreateExtensionPoint(WindowManagerConstants.MAINWINDOWEVENTHANDLER_ID, typeof(IMainWindowEventHandler), this); pm.CreateExtensionPoint(WindowManagerConstants.FILEDROPHANDLER_ID, typeof(IFileDropHandler), this); AboutBoxUtil.DefineExtensionPoint(pm); _preferences = new WindowPreference(); pm.FindExtensionPoint(PreferencePlugin.EXTENSIONPOINT_NAME) .RegisterExtension(_preferences); pm.FindExtensionPoint(WindowManagerConstants.MAINWINDOWCONTENT_ID) .RegisterExtension(new DefaultViewManagerFactory()); _windows = new List <MainWindow>(); _popupWindows = new List <PopupViewContainer>(); _menu = new MainWindowMenu(); _selectionService = new SelectionService(this); _viewFactoryManager = new ViewFactoryManager(); CommandManagerPlugin.Instance.AddKeyBindChangeListener(this); poderosa.Culture.AddChangeListener(this); }
internal static void DefineExtensionPoint(IPluginManager pm) { IExtensionPoint pt = pm.CreateExtensionPoint("org.poderosa.window.aboutbox", typeof(IPoderosaAboutBoxFactory), WindowManagerPlugin.Instance); pt.RegisterExtension(new DefaultAboutBoxFactory()); }
internal static void DefineExtensionPoint(IPluginManager pm) { IExtensionPoint pt = pm.CreateExtensionPoint("org.poderosa.window.aboutbox", typeof(IPoderosaAboutBoxFactory), WindowManagerPlugin.Instance); pt.RegisterExtension(new DefaultAboutBoxFactory()); }
public override void InitializePlugin(IPoderosaWorld poderosa) { base.InitializePlugin(poderosa); _instance = this; _optionSupplier = new TerminalOptionsSupplier(); _keepAlive = new KeepAlive(); _customKeySettings = new CustomKeySettings(); _shellSchemeCollection = new ShellSchemeCollection(); GEnv.Init(); IPluginManager pm = poderosa.PluginManager; ICoreServices cs = (ICoreServices)poderosa.GetAdapter(typeof(ICoreServices)); Debug.Assert(cs != null); cs.PreferenceExtensionPoint.RegisterExtension(_optionSupplier); cs.PreferenceExtensionPoint.RegisterExtension(_shellSchemeCollection); _coreServices = cs; //Serialize Service cs.SerializerExtensionPoint.RegisterExtension(new TerminalSettingsSerializer(pm)); _commandManager = cs.CommandManager; TerminalCommand.Register(_commandManager); TerminalSettingMenuGroup.Initialize(); //PromptChecker _promptCheckerWithTimer = new PromptCheckerWithTimer(); //Edit Menuに追加 IExtensionPoint editmenu = pm.FindExtensionPoint("org.poderosa.menu.edit"); editmenu.RegisterExtension(new AdvancedCopyPasteMenuGroup()); editmenu.RegisterExtension(new TerminalBufferMenuGroup()); editmenu.RegisterExtension(new SelectionMenuGroup()); //Console Menu : これは処置に困るところだが! IExtensionPoint consolemenu = pm.FindExtensionPoint("org.poderosa.menu.console"); consolemenu.RegisterExtension(new TerminalSettingMenuGroup()); consolemenu.RegisterExtension(new IntelliSenseMenuGroup()); //Context Menu _contextMenu = pm.CreateExtensionPoint(TerminalEmulatorConstants.TERMINAL_CONTEXT_MENU_EXTENSIONPOINT, typeof(IPoderosaMenuGroup), this); _contextMenu.RegisterExtension(new BasicCopyPasteMenuGroup()); _contextMenu.RegisterExtension(new TerminalSettingMenuGroup()); _contextMenu.RegisterExtension(new IntelliSenseMenuGroup()); //タブのコンテキストメニュー _documentContextMenu = pm.CreateExtensionPoint(TerminalEmulatorConstants.DOCUMENT_CONTEXT_MENU_EXTENSIONPOINT, typeof(IPoderosaMenuGroup), this); _documentContextMenu.RegisterExtension(new PoderosaMenuGroupImpl(new PoderosaMenuItemImpl( cs.CommandManager.Find("org.poderosa.core.session.closedocument"), GEnv.Strings, "Menu.DocumentClose"))); //ToolBar IExtensionPoint toolbar = pm.FindExtensionPoint("org.poderosa.core.window.toolbar"); TerminalToolBar terminaltoolbar = new TerminalToolBar(); toolbar.RegisterExtension(terminaltoolbar); GetSessionManager().AddActiveDocumentChangeListener(terminaltoolbar); //その他 Extension _intelliSenseExtension = pm.CreateExtensionPoint(TerminalEmulatorConstants.INTELLISENSE_CANDIDATE_EXTENSIONPOINT, typeof(IIntelliSenseCandidateExtension), this); _autoLogFileFormatter = pm.CreateExtensionPoint(TerminalEmulatorConstants.LOG_FILENAME_FORMATTER_EXTENSIONPOINT, typeof(IAutoLogFileFormatter), this); _dynamicCaptionFormatter = pm.CreateExtensionPoint(TerminalEmulatorConstants.DYNAMIC_CAPTION_FORMATTER_EXTENSIONPOINT, typeof(IDynamicCaptionFormatter), this); //Command Popup CommandResultSession.Init(poderosa); PopupStyleCommandResultRecognizer.CreateExtensionPointAndDefaultCommands(pm); // Preferences for PromptRecognizer cs.PreferenceExtensionPoint.RegisterExtension(PromptRecognizerPreferences.Instance); // Preferences for XTerm cs.PreferenceExtensionPoint.RegisterExtension(XTermPreferences.Instance); }
//ExtP�쐬�ƃf�t�H���g�̓o�^ public static void CreateExtensionPointAndDefaultCommands(IPluginManager pm) { IExtensionPoint pt = pm.CreateExtensionPoint(POPUP_MENU_EXTENSION_POINT, typeof(ICommandResultProcessorMenuItem), TerminalEmulatorPlugin.Instance); pt.RegisterExtension(new PopupCommandResult()); pt.RegisterExtension(new CopyCommandResult()); }