def libraryLoad(self, path): self.toolTableView.setUpdatesEnabled(False) self.model.clear() self.model.setHorizontalHeaderLabels(self.columnNames()) if path: with open(path) as fp: PathPreferences.setLastPathToolTable(os.path.basename(path)) library = json.load(fp) for toolBit in library['tools']: nr = toolBit['nr'] bit = PathToolBit.findBit(toolBit['path']) if bit: PathLog.track(bit) tool = PathToolBit.Declaration(bit) self._toolAdd(nr, tool, bit) else: PathLog.error("Could not find tool #{}: {}".format( nr, library['tools'][nr])) self.toolTableView.resizeColumnsToContents() self.toolTableView.setUpdatesEnabled(True) self.form.setWindowTitle("{} - {}".format( self.title, os.path.basename(path) if path else '')) self.path = path self.updateToolbar()
def newTool(self, datamodel, path): ''' Adds a toolbit item to a model ''' PathLog.track() try: nr = 0 for row in range(datamodel.rowCount()): itemNr = int(datamodel.item(row, 0).data(PySide.QtCore.Qt.EditRole)) nr = max(nr, itemNr) nr += 1 tool = PathToolBit.Declaration(path) except Exception as e: PathLog.error(e) datamodel.appendRow(self._toolAdd(nr, tool, path))
def toolAdd(self): PathLog.track() # pylint: disable=broad-except try: nr = 0 for row in range(self.model.rowCount()): itemNr = int(self.model.item(row, 0).data(PySide.QtCore.Qt.EditRole)) nr = max(nr, itemNr) nr += 1 for i, foo in enumerate(PathToolBitGui.GetToolFiles(self.form)): tool = PathToolBit.Declaration(foo) self._toolAdd(nr + i, tool, foo) self.toolTableView.resizeColumnsToContents() except Exception: PathLog.error('something happened') PathLog.error(traceback.print_exc())
def __libraryLoad(self, path, datamodel): PathLog.track(path) PathPreferences.setLastFileToolLibrary(path) # self.currenLib = path with open(path) as fp: library = json.load(fp) for toolBit in library['tools']: try: nr = toolBit['nr'] bit = PathToolBit.findToolBit(toolBit['path'], path) if bit: PathLog.track(bit) tool = PathToolBit.Declaration(bit) datamodel.appendRow(self._toolAdd(nr, tool, bit)) else: PathLog.error("Could not find tool #{}: {}".format(nr, toolBit['path'])) except Exception as e: msg = "Error loading tool: {} : {}".format(toolBit['path'], e) FreeCAD.Console.PrintError(msg)