■
MenuModeが大体出来たので公開してみる。
MenuMode
拡張子別に実行ファイルを選べたり、コマンドを階層メニューの中から選んだり出来るようになります。バグがあったら報告お願いします。改良して欲しい所も受付中。
MenuMode普及推進週間ということで,nakayatoさんとこで話題になっていたメニューからスタックされているモードを選ぶ方法をMenuMode使うとこんな感じ.
def SetMode(name): import clmode if clmode.Top().__class__.__name__ == 'MenuMode': PopMode() for n, mode in enumerate(clmode.mode_stack): if mode.__class__.__name__ == name: mode = clmode.mode_stack.pop(n) PushMode(mode) def SelectMode(): import os.path, clmode_menu, clmode list =[] omit_mode =['BaseMode'] #表示しないモード for mode in clmode.mode_stack: mode_name = mode.__class__.__name__ if omit_mode.count(mode_name)==0: list.append((mode_name, mode_name, u"SetMode('%s')" %mode_name)) args = {'SetMode':SetMode} menu = menu = clmenu.ParentMenu(item_list=[]) menu.AddMenuItem(list) PushMode(clmode_menu.MenuMode(menu, args=args)) SetKeyDownHandler( ord('M'), MODKEY_CTRL|MODKEY_ALT, SelectMode )