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'
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'
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 ) )
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'
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))
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 )
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'
def getPluginFileNames(): "Get analyze plugin fileNames." return gcodec.getPluginFileNamesFromDirectoryPath( getPluginsDirectoryPath() )
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)
def getImportPluginFileNames(): "Get analyze plugin fileNames." return gcodec.getPluginFileNamesFromDirectoryPath( gcodec.getAbsoluteFolderPath( os.path.dirname( __file__ ), 'import_plugins' ) )
def getImportPluginFileNames(): "Get analyze plugin fileNames." return gcodec.getPluginFileNamesFromDirectoryPath( gcodec.getAbsoluteFolderPath(os.path.dirname(__file__), 'import_plugins'))