Beispiel #1
0
def addToProfileMenu( profileSelection, profileType, repository ):
	"Add a profile menu."
	pluginFileNames = skeinforge_profile.getPluginFileNames()
	craftTypeName = skeinforge_profile.getCraftTypeName()
	pluginModule = skeinforge_profile.getCraftTypePluginModule()
	profilePluginSettings = settings.getReadRepository( pluginModule.getNewRepository() )
	for pluginFileName in pluginFileNames:
		skeinforge_profile.ProfileTypeMenuRadio().getFromMenuButtonDisplay( profileType, pluginFileName, repository, craftTypeName == pluginFileName )
	for profileName in profilePluginSettings.profileList.value:
		skeinforge_profile.ProfileSelectionMenuRadio().getFromMenuButtonDisplay( profileSelection, profileName, repository, profileName == profilePluginSettings.profileListbox.value )
Beispiel #2
0
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 )
Beispiel #3
0
	def clickRadio( self ):
		"Workaround for Tkinter bug, invoke and set the value when clicked."
		if not self.activate:
			return
		self.radioVar.set( self.profileJoinName )
		pluginModule = skeinforge_profile.getCraftTypePluginModule( self.profilePluginFileName )
		profilePluginSettings = settings.getReadRepository( pluginModule.getNewRepository() )
		profilePluginSettings.profileListbox.value = self.name
		settings.writeSettings( profilePluginSettings )
		profileSettings = skeinforge_profile.getReadProfileRepository()
		plugins = profileSettings.craftRadios
		for plugin in plugins:
			plugin.value = ( plugin.name == self.profilePluginFileName )
		settings.writeSettings( profileSettings )
		skeinforge_profile.updateProfileSaveListeners()
Beispiel #4
0
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)
Beispiel #5
0
def addToProfileMenu(profileSelection, profileType, repository):
    "Add a profile menu."
    pluginFileNames = skeinforge_profile.getPluginFileNames()
    craftTypeName = skeinforge_profile.getCraftTypeName()
    pluginModule = skeinforge_profile.getCraftTypePluginModule()
    profilePluginSettings = settings.getReadRepository(
        pluginModule.getNewRepository())
    for pluginFileName in pluginFileNames:
        skeinforge_profile.ProfileTypeMenuRadio().getFromMenuButtonDisplay(
            profileType, pluginFileName, repository,
            craftTypeName == pluginFileName)
    for profileName in profilePluginSettings.profileList.value:
        skeinforge_profile.ProfileSelectionMenuRadio(
        ).getFromMenuButtonDisplay(
            profileSelection, profileName, repository,
            profileName == profilePluginSettings.profileListbox.value)
Beispiel #6
0
 def clickRadio(self):
     "Workaround for Tkinter bug, invoke and set the value when clicked."
     if not self.activate:
         return
     self.radioVar.set(self.profileJoinName)
     pluginModule = skeinforge_profile.getCraftTypePluginModule(
         self.profilePluginFileName)
     profilePluginSettings = settings.getReadRepository(
         pluginModule.getNewRepository())
     profilePluginSettings.profileListbox.value = self.name
     settings.writeSettings(profilePluginSettings)
     profileSettings = skeinforge_profile.getReadProfileRepository()
     plugins = profileSettings.craftRadios
     for plugin in plugins:
         plugin.value = (plugin.name == self.profilePluginFileName)
     settings.writeSettings(profileSettings)
     skeinforge_profile.updateProfileSaveListeners()
Beispiel #7
0
 def setRadioButtons(self):
     "Profile has been saved and craft radio plugins should be updated."
     craftSequence = skeinforge_profile.getCraftTypePluginModule().getCraftSequence()
     gridPosition = self.gridPosition.getCopy()
     maximumValue = False
     activeRadioPlugins = []
     for radioPlugin in self.radioPlugins:
         if radioPlugin.name in craftSequence:
             activeRadioPlugins.append(radioPlugin)
             radioPlugin.incrementGridPosition(gridPosition)
             maximumValue = max(radioPlugin.value, maximumValue)
         else:
             radioPlugin.radiobutton.grid_remove()
     if not maximumValue:
         selectedRadioPlugin = settings.getSelectedRadioPlugin(
             self.repository.importantFileNames + [activeRadioPlugins[0].name], activeRadioPlugins
         ).setSelect()
     self.repository.pluginFrame.update()
Beispiel #8
0
 def setRadioButtons(self):
     "Profile has been saved and craft radio plugins should be updated."
     craftSequence = skeinforge_profile.getCraftTypePluginModule(
     ).getCraftSequence()
     gridPosition = self.gridPosition.getCopy()
     maximumValue = False
     activeRadioPlugins = []
     for radioPlugin in self.radioPlugins:
         if radioPlugin.name in craftSequence:
             activeRadioPlugins.append(radioPlugin)
             radioPlugin.incrementGridPosition(gridPosition)
             maximumValue = max(radioPlugin.value, maximumValue)
         else:
             radioPlugin.radiobutton.grid_remove()
     if not maximumValue:
         selectedRadioPlugin = settings.getSelectedRadioPlugin(
             self.repository.importantFileNames +
             [activeRadioPlugins[0].name], activeRadioPlugins).setSelect()
     self.repository.pluginFrame.update()
Beispiel #9
0
def getReadCraftSequence():
	"Get profile sequence."
	return skeinforge_profile.getCraftTypePluginModule().getCraftSequence()