本文整理汇总了Python中CeciliaLib.buildFileTree方法的典型用法代码示例。如果您正苦于以下问题:Python CeciliaLib.buildFileTree方法的具体用法?Python CeciliaLib.buildFileTree怎么用?Python CeciliaLib.buildFileTree使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CeciliaLib
的用法示例。
在下文中一共展示了CeciliaLib.buildFileTree方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: import CeciliaLib [as 别名]
# 或者: from CeciliaLib import buildFileTree [as 别名]
def __init__(self, frame, mainFrame=None):
wx.MenuBar.__init__(self, wx.MB_DOCKABLE)
self.frame = frame
if mainFrame:
self.mainFrame = mainFrame
else:
self.mainFrame = CeciliaLib.getVar("mainFrame")
inMainFrame = False
if frame == mainFrame:
inMainFrame = True
# File Menu
self.fileMenu = wx.Menu()
self.fileMenu.Append(ID_OPEN, 'Open...\tCtrl+O', kind=wx.ITEM_NORMAL)
self.frame.Bind(wx.EVT_MENU, self.mainFrame.onOpen, id=ID_OPEN)
self.fileMenu.Append(ID_OPEN_RANDOM, 'Open Random...\tShift+Ctrl+O', kind=wx.ITEM_NORMAL)
self.frame.Bind(wx.EVT_MENU, self.mainFrame.onOpenRandom, id=ID_OPEN_RANDOM)
######## Implement the Open builtin menu #########
self.root, self.directories, self.files = CeciliaLib.buildFileTree()
self.openBuiltinMenu = wx.Menu()
subId1 = ID_OPEN_BUILTIN
for dir in self.directories:
menu = wx.Menu()
self.openBuiltinMenu.AppendMenu(-1, dir, menu)
for f in self.files[dir]:
menu.Append(subId1, f)
self.frame.Bind(wx.EVT_MENU, self.mainFrame.onOpenBuiltin, id=subId1)
subId1 += 1
prefPath = CeciliaLib.getVar("prefferedPath")
if prefPath:
for path in prefPath.split(';'):
path = CeciliaLib.ensureNFD(path)
if not os.path.isdir(path):
continue
menu = wx.Menu(os.path.split(path)[1])
self.openBuiltinMenu.AppendMenu(-1, os.path.split(path)[1], menu)
files = os.listdir(path)
for file in files:
if os.path.isfile(os.path.join(path, file)):
ok = False
try:
ext = file.rsplit('.')[1]
if ext == FILE_EXTENSION:
ok = True
except:
ok = False
if ok:
try:
menu.Append(subId1, CeciliaLib.ensureNFD(file))
self.frame.Bind(wx.EVT_MENU, self.mainFrame.onOpenPrefModule, id=subId1)
subId1 += 1
except:
pass
self.fileMenu.AppendMenu(-1, 'Modules', self.openBuiltinMenu)
self.openRecentMenu = wx.Menu()
subId2 = ID_OPEN_RECENT
recentFiles = []
filename = os.path.join(TMP_PATH,'.recent.txt')
if os.path.isfile(filename):
f = open(filename, "r")
for line in f.readlines():
try:
recentFiles.append(line)
except:
pass
f.close()
if recentFiles:
for file in recentFiles:
try:
self.openRecentMenu.Append(subId2, CeciliaLib.ensureNFD(file))
subId2 += 1
except:
pass
if subId2 > ID_OPEN_RECENT:
for i in range(ID_OPEN_RECENT,subId2):
self.frame.Bind(wx.EVT_MENU, self.mainFrame.openRecent, id=i)
self.fileMenu.AppendMenu(-1,'Open Recent', self.openRecentMenu, 'Access previously opened files in Cecilia')
self.fileMenu.AppendSeparator()
self.fileMenu.Append(ID_SAVE, 'Save\tCtrl+S', 'Save changes made on the current module', kind=wx.ITEM_NORMAL)
self.frame.Bind(wx.EVT_MENU, self.mainFrame.onSave, id=ID_SAVE)
self.fileMenu.Append(ID_SAVEAS, 'Save as...\tShift+Ctrl+s', 'Save the current module as... (.cec file)', kind=wx.ITEM_NORMAL)
self.frame.Bind(wx.EVT_MENU, self.mainFrame.onSaveAs, id=ID_SAVEAS)
self.fileMenu.AppendSeparator()
self.fileMenu.Append(ID_OPEN_AS_TEXT, 'Open Module as Text\tCtrl+E', '', kind=wx.ITEM_NORMAL)
self.frame.Bind(wx.EVT_MENU, self.mainFrame.openModuleAsText, id=ID_OPEN_AS_TEXT)
self.fileMenu.Append(ID_UPDATE_INTERFACE, 'Reload module\tCtrl+R', 'Reload the current module', kind=wx.ITEM_NORMAL)
self.frame.Bind(wx.EVT_MENU, self.mainFrame.reloadCurrentModule, id=ID_UPDATE_INTERFACE)
if CeciliaLib.getVar("systemPlatform") in ['win32', 'linux2']:
self.fileMenu.AppendSeparator()
pref_item = self.fileMenu.Append(wx.ID_PREFERENCES, 'Preferences...\tCtrl+,', 'Open Cecilia preferences pane', kind=wx.ITEM_NORMAL)
self.frame.Bind(wx.EVT_MENU, self.mainFrame.onPreferences, pref_item)
if CeciliaLib.getVar("systemPlatform") in ['win32', 'linux2']:
self.fileMenu.AppendSeparator()
quit_item = self.fileMenu.Append(wx.ID_EXIT, 'Quit\tCtrl+Q', 'Quit Cecilia', kind=wx.ITEM_NORMAL)
self.frame.Bind(wx.EVT_MENU, self.mainFrame.onQuit, quit_item)
#.........这里部分代码省略.........