コード例 #1
0
ファイル: MainWindowMenu.cs プロジェクト: Ricordanza/poderosa
        public MainWindowMenu() {
            _idToMenu = new TypedSequentialTable<string, MainMenuItem>();

            _fileMenu = CreateMainMenu("Menu.File", "org.poderosa.menu.file");
            _editMenu = CreateMainMenu("Menu.Edit", "org.poderosa.menu.edit");
            _consoleMenu = CreateMainMenu("Menu.Console", "org.poderosa.menu.console");
            _toolMenu = CreateMainMenu("Menu.Tool", "org.poderosa.menu.tool");
            _windowMenu = CreateMainMenu("Menu.Window", "org.poderosa.menu.window");
            _pluginMenu = CreateMainMenu("Menu.Plugin", "org.poderosa.menu.plugin");
            _helpMenu = CreateMainMenu("Menu.Help", "org.poderosa.menu.help");

            _splitMenuGroup = new SplitMenuGroup();
#if !UNITTEST
            _windowMenu.ExtensionPoint.RegisterExtension(_splitMenuGroup);
            _windowMenu.ExtensionPoint.RegisterExtension(new CloseAllMenuGroup(_splitMenuGroup));
            _windowMenu.ExtensionPoint.RegisterExtension(new SetTabRowCountMenuGroup(_splitMenuGroup));
            _windowMenu.ExtensionPoint.RegisterExtension(new DocActivationMenuGroup());
            _fileMenu.ExtensionPoint.RegisterExtension(new NewWindowMenuGroup());
            _fileMenu.ExtensionPoint.RegisterExtension(new QuitMenuGroup());
            _editMenu.ExtensionPoint.RegisterExtension(new CopyGroup());
            _editMenu.ExtensionPoint.RegisterExtension(new PasteGroup());
            _consoleMenu.ExtensionPoint.RegisterExtension(new CloseDocumentGroup());
            _pluginMenu.ExtensionPoint.RegisterExtension(new DefaultPluginMenuGroup());
            _helpMenu.ExtensionPoint.RegisterExtension(new DefaultHelpMenuGroup());
#endif
        }
コード例 #2
0
ファイル: MenuUtil.cs プロジェクト: Ricordanza/poderosa
        public static ToolStripMenuItem CreateMenuItem(MainMenuItem item, ICommandTarget target) {
            item.Create();
            ToolStripMenuItem ui_menu = new ToolStripMenuItem();
            ui_menu.DropDownOpening += new EventHandler(OnRootPopupMenu);
            ui_menu.Text = item.Text;
            ui_menu.Tag = new MenuItemTag(null, item, target);
            ui_menu.Enabled = true;
            //メニュー項目を遅延作成させるためDropDownOpeningイベントを使ったが、このイベントは
            //「子メニュー項目がなく、キーボードでメニューが選択されたとき」には発生しない。結果、キーボードでのメニュー選択に支障が出る。
            //一応ダミー項目をセットするなどで回避できそうだが、面倒なのでここで一回自前でイベントを出して
            OnRootPopupMenu(ui_menu, null);

            return ui_menu;
        }
コード例 #3
0
ファイル: MainWindowMenu.cs プロジェクト: FNKGino/poderosa
 private MainMenuItem CreateMainMenu(string text_id, string extension_point_name)
 {
     StringResource str = CoreUtil.Strings;
     MainMenuItem item = new MainMenuItem(text_id, extension_point_name, _idToMenu.Count);
     _idToMenu.Add(extension_point_name, item);
     return item;
 }
コード例 #4
0
ファイル: MenuUtil.cs プロジェクト: VirusFree/Poderosa
        public static ToolStripMenuItem CreateMenuItem(MainMenuItem item, ICommandTarget target)
        {
            item.Create();
            ToolStripMenuItem ui_menu = new ToolStripMenuItem();
            ui_menu.DropDownOpening += new EventHandler(OnRootPopupMenu);
            ui_menu.Text = item.Text;
            ui_menu.Tag = new MenuItemTag(null, item, target);
            ui_menu.Enabled = true;
            //���j���[���ڂ�x���쐬�����邽��DropDownOpening�C�x���g��g�������A���̃C�x���g��
            //�u�q���j���[���ڂ��Ȃ��A�L�[�{�[�h�Ń��j���[���I����ꂽ�Ƃ��v�ɂ͔������Ȃ��B���ʁA�L�[�{�[�h�ł̃��j���[�I��Ɏx�Ⴊ�o��B
            //�ꉞ�_�~�[���ڂ�Z�b�g����Ȃǂʼn��ł����������A�ʓ|�Ȃ̂ł����ň�񎩑O�ŃC�x���g��o����
            OnRootPopupMenu(ui_menu, null);

            return ui_menu;
        }