Beispiel #1
0
	def __init__( self ):
		"Set the default settings, execute title & settings fileName."
		settings.addListsToRepository( 'skeinforge_tools.craft_plugins.export.html', '', self )
		self.fileNameInput = settings.FileNameInput().getFromFileName( interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Export', self, '' )
		self.openWikiManualHelpPage = settings.HelpPage().getOpenFromAbsolute( 'http://www.bitsfrombytes.com/wiki/index.php?title=Skeinforge_Export' )
		self.activateExport = settings.BooleanSetting().getFromValue( 'Activate Export', self, True )
		self.alsoSendOutputTo = settings.StringSetting().getFromValue( 'Also Send Output To:', self, '' )
		self.deleteComments = settings.BooleanSetting().getFromValue( 'Delete Comments', self, True )
		exportPluginsFolderPath = gcodec.getAbsoluteFolderPath( __file__, 'export_plugins' )
		exportStaticDirectoryPath = os.path.join( exportPluginsFolderPath, 'static_plugins' )
		exportPluginFileNames = gcodec.getPluginFileNamesFromDirectoryPath( exportPluginsFolderPath )
		exportStaticPluginFileNames = gcodec.getPluginFileNamesFromDirectoryPath( exportStaticDirectoryPath )
		self.exportLabel = settings.LabelDisplay().getFromName( 'Export Operations: ', self )
		self.exportPlugins = []
		exportLatentStringVar = settings.LatentStringVar()
		self.doNotChangeOutput = settings.RadioCapitalized().getFromRadio( exportLatentStringVar, 'Do Not Change Output', self, True )
		self.doNotChangeOutput.directoryPath = None
		allExportPluginFileNames = exportPluginFileNames + exportStaticPluginFileNames
		for exportPluginFileName in allExportPluginFileNames:
			exportPlugin = None
			if exportPluginFileName in exportPluginFileNames:
				path = os.path.join( exportPluginsFolderPath, exportPluginFileName )
				exportPlugin = settings.RadioCapitalizedButton().getFromPath( exportLatentStringVar, exportPluginFileName, path, self, False )
				exportPlugin.directoryPath = exportPluginsFolderPath
			else:
				exportPlugin = settings.RadioCapitalized().getFromRadio( exportLatentStringVar, exportPluginFileName, self, False )
				exportPlugin.directoryPath = exportStaticDirectoryPath
			self.exportPlugins.append( exportPlugin )
		self.fileExtension = settings.StringSetting().getFromValue( 'File Extension:', self, 'gcode' )
		self.savePenultimateGcode = settings.BooleanSetting().getFromValue( 'Save Penultimate Gcode', self, False )
		self.executeTitle = 'Export'
Beispiel #2
0
 def __init__(self):
     "Set the default settings, execute title & settings fileName."
     settings.addListsToRepository(
         'skeinforge_tools.craft_plugins.export.html', '', self)
     self.fileNameInput = settings.FileNameInput().getFromFileName(
         interpret.getGNUTranslatorGcodeFileTypeTuples(),
         'Open File for Export', self, '')
     self.openWikiManualHelpPage = settings.HelpPage().getOpenFromAbsolute(
         'http://www.bitsfrombytes.com/wiki/index.php?title=Skeinforge_Export'
     )
     self.activateExport = settings.BooleanSetting().getFromValue(
         'Activate Export', self, True)
     self.alsoSendOutputTo = settings.StringSetting().getFromValue(
         'Also Send Output To:', self, '')
     self.deleteComments = settings.BooleanSetting().getFromValue(
         'Delete Comments', self, True)
     exportPluginsFolderPath = gcodec.getAbsoluteFolderPath(
         __file__, 'export_plugins')
     exportStaticDirectoryPath = os.path.join(exportPluginsFolderPath,
                                              'static_plugins')
     exportPluginFileNames = gcodec.getPluginFileNamesFromDirectoryPath(
         exportPluginsFolderPath)
     exportStaticPluginFileNames = gcodec.getPluginFileNamesFromDirectoryPath(
         exportStaticDirectoryPath)
     self.exportLabel = settings.LabelDisplay().getFromName(
         'Export Operations: ', self)
     self.exportPlugins = []
     exportLatentStringVar = settings.LatentStringVar()
     self.doNotChangeOutput = settings.RadioCapitalized().getFromRadio(
         exportLatentStringVar, 'Do Not Change Output', self, True)
     self.doNotChangeOutput.directoryPath = None
     allExportPluginFileNames = exportPluginFileNames + exportStaticPluginFileNames
     for exportPluginFileName in allExportPluginFileNames:
         exportPlugin = None
         if exportPluginFileName in exportPluginFileNames:
             path = os.path.join(exportPluginsFolderPath,
                                 exportPluginFileName)
             exportPlugin = settings.RadioCapitalizedButton().getFromPath(
                 exportLatentStringVar, exportPluginFileName, path, self,
                 False)
             exportPlugin.directoryPath = exportPluginsFolderPath
         else:
             exportPlugin = settings.RadioCapitalized().getFromRadio(
                 exportLatentStringVar, exportPluginFileName, self, False)
             exportPlugin.directoryPath = exportStaticDirectoryPath
         self.exportPlugins.append(exportPlugin)
     self.fileExtension = settings.StringSetting().getFromValue(
         'File Extension:', self, 'gcode')
     self.savePenultimateGcode = settings.BooleanSetting().getFromValue(
         'Save Penultimate Gcode', self, False)
     self.executeTitle = 'Export'
Beispiel #3
0
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 = gcodec.getPluginFileNamesFromDirectoryPath( pluginFolderPath )
	for submenuFileName in submenuFileNames:
		settings.ToolDialog().addPluginToMenu( submenu, os.path.join( pluginFolderPath, submenuFileName ) )
Beispiel #4
0
	def __init__( self ):
		"Set the default settings, execute title & settings fileName."
		settings.addListsToRepository( 'skeinforge_tools.craft.html', '', self )
		self.fileNameInput = settings.FileNameInput().getFromFileName( interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Craft', self, '' )
		self.importantFileNames = [ 'carve', 'chop', 'feed', 'flow', 'lift', 'raft', 'speed' ]
		allCraftNames = gcodec.getPluginFileNamesFromDirectoryPath( getPluginsDirectoryPath() )
		radioPlugins = settings.getRadioPluginsAddPluginFrame( getPluginsDirectoryPath(), self.importantFileNames, allCraftNames, self )
		CraftRadioButtonsSaveListener().getFromRadioPlugins( radioPlugins, self )
		self.executeTitle = 'Craft'
Beispiel #5
0
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 = gcodec.getPluginFileNamesFromDirectoryPath(
        pluginFolderPath)
    for submenuFileName in submenuFileNames:
        settings.ToolDialog().addPluginToMenu(
            submenu, os.path.join(pluginFolderPath, submenuFileName))
Beispiel #6
0
	def addCanvasMenuRootScrollSkein( self, repository, skein, suffix, title ):
		"Add the canvas, menu bar, scroll bar, skein panes, tableau repository, root and skein."
		self.imagesDirectoryPath = os.path.join( settings.getSkeinforgeDirectoryPath(), 'images' )
		self.movementTextID = None
		self.mouseInstantButtons = []
		self.photoImages = {}
		self.repository = repository
		self.root = settings.Tkinter.Tk()
		self.gridPosition = settings.GridVertical( 0, 1 )
		self.gridPosition.master = self.root
		self.root.title( os.path.basename( skein.fileName ) + ' - ' + title )
		self.rulingExtent = 24
		self.rulingTargetSeparation = 150.0
		self.screenSize = skein.screenSize
		self.skein = skein
		self.skeinPanes = skein.skeinPanes
		self.suffix = suffix
		self.timerID = None
		repository.animationSlideShowRate.value = max( repository.animationSlideShowRate.value, 0.01 )
		repository.animationSlideShowRate.value = min( repository.animationSlideShowRate.value, 85.0 )
		repository.drawArrows.setUpdateFunction( self.setWindowToDisplaySaveUpdate )
		repository.goAroundExtruderOffTravel.setUpdateFunction( self.setWindowToDisplaySavePhoenixUpdate )
		repository.layerExtraSpan.setUpdateFunction( self.setWindowToDisplaySaveUpdate )
		repository.widthOfSelectionThread.setUpdateFunction( self.setWindowToDisplaySaveUpdate )
		repository.widthOfTravelThread.setUpdateFunction( self.setWindowToDisplaySaveUpdate )
		repository.window = self
		for menuRadio in repository.mouseMode.menuRadios:
			fileName = menuRadio.name.lower()
			fileName = fileName.replace( ' ', '_' ) + '.ppm'
			menuRadio.mouseButton = self.getPhotoButtonGridIncrement( menuRadio.invoke, fileName, self.gridPosition )
		self.gridPosition = settings.GridHorizontal( 1, 99 )
		self.gridPosition.master = self.root
		self.xScrollbar = settings.HiddenScrollbar( self.root, orient = settings.Tkinter.HORIZONTAL )
		self.xScrollbar.grid( row = 98, column = 2, columnspan = 96, sticky = settings.Tkinter.E + settings.Tkinter.W )
		self.yScrollbar = settings.HiddenScrollbar( self.root )
		self.yScrollbar.grid( row = 1, rowspan = 97, column = 99, sticky = settings.Tkinter.N + settings.Tkinter.S )
		self.canvasHeight = min( int( skein.screenSize.imag ), self.root.winfo_screenheight() - repository.screenVerticalInset.value )
		self.canvasWidth = min( int( skein.screenSize.real ), self.root.winfo_screenwidth() - repository.screenHorizontalInset.value )
		scrollRegionBoundingBox = ( 0, 0, int( skein.screenSize.real ), int( skein.screenSize.imag ) )
		self.canvas = settings.Tkinter.Canvas( self.root, highlightthickness = 3, width = self.canvasWidth, height = self.canvasHeight, scrollregion = scrollRegionBoundingBox )
		self.canvas.grid( row = 1, rowspan = 97, column = 2, columnspan = 96, sticky = settings.Tkinter.E + settings.Tkinter.W + settings.Tkinter.N + settings.Tkinter.S )
		self.fileHelpMenuBar = settings.FileHelpMenuBar( self.root )
		self.exportMenu = settings.Tkinter.Menu( self.fileHelpMenuBar.fileMenu, tearoff = 0 )
		self.fileHelpMenuBar.fileMenu.add_cascade( label = "Export", menu = self.exportMenu, underline = 0 )
		exportCanvasPluginsFolderPath = gcodec.getAbsoluteFolderPath( os.path.dirname( __file__ ), 'export_canvas_plugins' )
		exportCanvasPluginFileNames = gcodec.getPluginFileNamesFromDirectoryPath( exportCanvasPluginsFolderPath )
		for exportCanvasPluginFileName in exportCanvasPluginFileNames:
			ExportCanvasDialog().addPluginToMenu( self.canvas, skein.fileName, self.exportMenu, exportCanvasPluginFileName, suffix )
		self.fileHelpMenuBar.fileMenu.add_separator()
		self.fileHelpMenuBar.completeMenu( self.close, repository, self.save, self )
Beispiel #7
0
 def __init__(self):
     "Set the default settings, execute title & settings fileName."
     settings.addListsToRepository('skeinforge_tools.craft.html', '', self)
     self.fileNameInput = settings.FileNameInput().getFromFileName(
         interpret.getGNUTranslatorGcodeFileTypeTuples(),
         'Open File for Craft', self, '')
     self.importantFileNames = [
         'carve', 'chop', 'feed', 'flow', 'lift', 'raft', 'speed'
     ]
     allCraftNames = gcodec.getPluginFileNamesFromDirectoryPath(
         getPluginsDirectoryPath())
     radioPlugins = settings.getRadioPluginsAddPluginFrame(
         getPluginsDirectoryPath(), self.importantFileNames, allCraftNames,
         self)
     CraftRadioButtonsSaveListener().getFromRadioPlugins(radioPlugins, self)
     self.executeTitle = 'Craft'
Beispiel #8
0
def getPluginFileNames():
	"Get analyze plugin fileNames."
	return gcodec.getPluginFileNamesFromDirectoryPath( getPluginsDirectoryPath() )
Beispiel #9
0
 def addCanvasMenuRootScrollSkein(self, repository, skein, suffix, title):
     "Add the canvas, menu bar, scroll bar, skein panes, tableau repository, root and skein."
     self.imagesDirectoryPath = os.path.join(
         settings.getSkeinforgeDirectoryPath(), 'images')
     self.movementTextID = None
     self.mouseInstantButtons = []
     self.photoImages = {}
     self.repository = repository
     self.root = settings.Tkinter.Tk()
     self.gridPosition = settings.GridVertical(0, 1)
     self.gridPosition.master = self.root
     self.root.title(os.path.basename(skein.fileName) + ' - ' + title)
     self.rulingExtent = 24
     self.rulingTargetSeparation = 150.0
     self.screenSize = skein.screenSize
     self.skein = skein
     self.skeinPanes = skein.skeinPanes
     self.suffix = suffix
     self.timerID = None
     repository.animationSlideShowRate.value = max(
         repository.animationSlideShowRate.value, 0.01)
     repository.animationSlideShowRate.value = min(
         repository.animationSlideShowRate.value, 85.0)
     repository.drawArrows.setUpdateFunction(
         self.setWindowToDisplaySaveUpdate)
     repository.goAroundExtruderOffTravel.setUpdateFunction(
         self.setWindowToDisplaySavePhoenixUpdate)
     repository.layerExtraSpan.setUpdateFunction(
         self.setWindowToDisplaySaveUpdate)
     repository.widthOfSelectionThread.setUpdateFunction(
         self.setWindowToDisplaySaveUpdate)
     repository.widthOfTravelThread.setUpdateFunction(
         self.setWindowToDisplaySaveUpdate)
     repository.window = self
     for menuRadio in repository.mouseMode.menuRadios:
         fileName = menuRadio.name.lower()
         fileName = fileName.replace(' ', '_') + '.ppm'
         menuRadio.mouseButton = self.getPhotoButtonGridIncrement(
             menuRadio.invoke, fileName, self.gridPosition)
     self.gridPosition = settings.GridHorizontal(1, 99)
     self.gridPosition.master = self.root
     self.xScrollbar = settings.HiddenScrollbar(
         self.root, orient=settings.Tkinter.HORIZONTAL)
     self.xScrollbar.grid(row=98,
                          column=2,
                          columnspan=96,
                          sticky=settings.Tkinter.E + settings.Tkinter.W)
     self.yScrollbar = settings.HiddenScrollbar(self.root)
     self.yScrollbar.grid(row=1,
                          rowspan=97,
                          column=99,
                          sticky=settings.Tkinter.N + settings.Tkinter.S)
     self.canvasHeight = min(
         int(skein.screenSize.imag),
         self.root.winfo_screenheight() -
         repository.screenVerticalInset.value)
     self.canvasWidth = min(
         int(skein.screenSize.real),
         self.root.winfo_screenwidth() -
         repository.screenHorizontalInset.value)
     scrollRegionBoundingBox = (0, 0, int(skein.screenSize.real),
                                int(skein.screenSize.imag))
     self.canvas = settings.Tkinter.Canvas(
         self.root,
         highlightthickness=3,
         width=self.canvasWidth,
         height=self.canvasHeight,
         scrollregion=scrollRegionBoundingBox)
     self.canvas.grid(row=1,
                      rowspan=97,
                      column=2,
                      columnspan=96,
                      sticky=settings.Tkinter.E + settings.Tkinter.W +
                      settings.Tkinter.N + settings.Tkinter.S)
     self.fileHelpMenuBar = settings.FileHelpMenuBar(self.root)
     self.exportMenu = settings.Tkinter.Menu(self.fileHelpMenuBar.fileMenu,
                                             tearoff=0)
     self.fileHelpMenuBar.fileMenu.add_cascade(label="Export",
                                               menu=self.exportMenu,
                                               underline=0)
     exportCanvasPluginsFolderPath = gcodec.getAbsoluteFolderPath(
         os.path.dirname(__file__), 'export_canvas_plugins')
     exportCanvasPluginFileNames = gcodec.getPluginFileNamesFromDirectoryPath(
         exportCanvasPluginsFolderPath)
     for exportCanvasPluginFileName in exportCanvasPluginFileNames:
         ExportCanvasDialog().addPluginToMenu(self.canvas, skein.fileName,
                                              self.exportMenu,
                                              exportCanvasPluginFileName,
                                              suffix)
     self.fileHelpMenuBar.fileMenu.add_separator()
     self.fileHelpMenuBar.completeMenu(self.close, repository, self.save,
                                       self)
Beispiel #10
0
def getPluginFileNames():
	"Get analyze plugin fileNames."
	return gcodec.getPluginFileNamesFromDirectoryPath( getPluginsDirectoryPath() )
Beispiel #11
0
def getImportPluginFileNames():
	"Get analyze plugin fileNames."
	return gcodec.getPluginFileNamesFromDirectoryPath( gcodec.getAbsoluteFolderPath( os.path.dirname( __file__ ), 'import_plugins' ) )
Beispiel #12
0
def getImportPluginFileNames():
    "Get analyze plugin fileNames."
    return gcodec.getPluginFileNamesFromDirectoryPath(
        gcodec.getAbsoluteFolderPath(os.path.dirname(__file__),
                                     'import_plugins'))