def toolSelectionChanged(self, index=None): """updates the ui when tools are selected""" if index: self.form.ToolsList.selectRow(index.row()) self.form.btnCopyTools.setEnabled(False) self.form.ButtonDelete.setEnabled(False) self.form.ButtonUp.setEnabled(False) self.form.ButtonDown.setEnabled(False) self.form.ButtonEdit.setEnabled(False) self.form.ButtonDuplicate.setEnabled(False) model = self.form.ToolsList.model() checkCount = 0 checkList = [] for i in range(model.rowCount()): item = model.item(i, 0) if item.checkState(): checkCount += 1 checkList.append(i) self.form.btnCopyTools.setEnabled(True) # only allow moving or deleting a single tool at a time. if checkCount == 1: # make sure the row is highlighted when the check box gets ticked self.form.ToolsList.selectRow(checkList[0]) self.form.ButtonDelete.setEnabled(True) self.form.ButtonUp.setEnabled(True) self.form.ButtonDown.setEnabled(True) self.form.ButtonEdit.setEnabled(True) self.form.ButtonDuplicate.setEnabled(True) if len(PathUtils.GetJobs()) == 0: self.form.btnCopyTools.setEnabled(False)
def checkCopy(self): self.form.btnCopyTools.setEnabled(False) model = self.form.ToolsList.model() for i in range(model.rowCount()): item = model.item(i, 0) if item.checkState(): self.form.btnCopyTools.setEnabled(True) if len(PathUtils.GetJobs()) == 0: self.form.btnCopyTools.setEnabled(False)
def _isImportEnvironmentReady(): """_isImportEnvironmentReady(docname)... Helper function to verify an active document exists, and that a Job object is available as a receiver for the Custom operation(s) that will be created as a result of the import process.""" # Verify active document exists if FreeCAD.ActiveDocument is None: raise PathNoActiveDocumentException() # Verify a Job object is available, and add one if not if not PathUtils.GetJobs(): raise PathNoJobException() return True