Пример #1
0
    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))
Пример #3
0
    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)