def addSubmenus( menu, pluginFileName, pluginFolderPath, pluginPath ): "Add a tool plugin menu." submenu = settings.Tkinter.Menu( menu, tearoff = 0 ) menu.add_cascade( label = pluginFileName.capitalize(), menu = submenu ) settings.ToolDialog().addPluginToMenu( submenu, pluginPath ) submenu.add_separator() submenuFileNames = archive.getPluginFileNamesFromDirectoryPath( pluginFolderPath ) for submenuFileName in submenuFileNames: settings.ToolDialog().addPluginToMenu( submenu, os.path.join( pluginFolderPath, submenuFileName ) )
def addToCraftMenu( menu ): "Add a craft plugin menu." settings.ToolDialog().addPluginToMenu( menu, archive.getUntilDot( os.path.abspath( __file__ ) ) ) menu.add_separator() directoryPath = skeinforge_craft.getPluginsDirectoryPath() directoryFolders = settings.getFolders(directoryPath) pluginFileNames = skeinforge_craft.getPluginFileNames() for pluginFileName in pluginFileNames: pluginFolderName = pluginFileName + '_plugins' pluginPath = os.path.join( directoryPath, pluginFileName ) if pluginFolderName in directoryFolders: addSubmenus( menu, pluginFileName, os.path.join( directoryPath, pluginFolderName ), pluginPath ) else: settings.ToolDialog().addPluginToMenu( menu, pluginPath )
def addToProfileMenu( menu ): "Add a profile menu." settings.ToolDialog().addPluginToMenu( menu, __file__[ : __file__.rfind('.') ] ) menu.add_separator() directoryPath = skeinforge_profile.getPluginsDirectoryPath() pluginFileNames = skeinforge_profile.getPluginFileNames() craftTypeName = skeinforge_profile.getCraftTypeName() profileRadioVar = settings.Tkinter.StringVar() for pluginFileName in pluginFileNames: addSubmenus( craftTypeName, menu, pluginFileName, os.path.join( directoryPath, pluginFileName ), profileRadioVar )
def addToProfileMenu( menu ): "Add a profile menu." settings.ToolDialog().addPluginToMenu(menu, archive.getUntilDot(archive.getSkeinforgePluginsPath('profile.py'))) menu.add_separator() directoryPath = skeinforge_profile.getPluginsDirectoryPath() pluginFileNames = skeinforge_profile.getPluginFileNames() craftTypeName = skeinforge_profile.getCraftTypeName() profileRadioVar = settings.Tkinter.StringVar() for pluginFileName in pluginFileNames: addSubmenus( craftTypeName, menu, pluginFileName, os.path.join( directoryPath, pluginFileName ), profileRadioVar )
def addSubmenus( craftTypeName, menu, pluginFileName, pluginPath, profileRadioVar ): "Add a tool plugin menu." submenu = settings.Tkinter.Menu( menu, tearoff = 0 ) menu.add_cascade( label = pluginFileName.capitalize(), menu = submenu ) settings.ToolDialog().addPluginToMenu( submenu, pluginPath ) submenu.add_separator() pluginModule = skeinforge_profile.getCraftTypePluginModule( pluginFileName ) profilePluginSettings = settings.getReadRepository( pluginModule.getNewRepository() ) isSelected = ( craftTypeName == pluginFileName ) for profileName in profilePluginSettings.profileList.value: value = isSelected and profileName == profilePluginSettings.profileListbox.value ProfileMenuRadio( pluginFileName, submenu, profileName, profileRadioVar, value )