def loadCharacteristics(self): model = QStandardItemModel(1,1) # set model headers model.setHorizontalHeaderItem(0,QStandardItem('Characteristic')) model.setHorizontalHeaderItem(1,QStandardItem('Data Type')) model.setHorizontalHeaderItem(2,QStandardItem('Description')) # get characteristics controller = Controller() characteristics = controller.getGlobalCharacteristics("Household") num = 0 for char in characteristics: qtName = QStandardItem( char.name ) qtDataType = QStandardItem( char.datatypestr ) qtDescription = QStandardItem( char.description ) model.setItem( num, 0, qtName ) model.setItem( num, 1, qtDataType) model.setItem( num, 2, qtDescription) num = num + 1 self.tblHouseholdCharacteristics.setModel(model) self.tblHouseholdCharacteristics.resizeColumnsToContents() self.tblHouseholdCharacteristics.show()
def moveAllHouseholdCharacteristics(self): ''' Add all available Household Characteristics to Project''' row = 0 controller = Controller() globalchars = controller.getGlobalCharacteristics("Household") for char in globalchars: if self.project.existsProjectCharacteristic(char.name): msg = "The household characteristic labelled, %s, has already been added to project" % (char.name) QMessageBox.information(self,"Project Configuration",msg) else: self.project.addProjectCharacteristic(char.name, char.chartype, char.datatype) self.displaySelectedHouseholdCharacteristics()
def removeAllHouseholdCharacteristics(self): ''' remove all listed household characteristics from Project''' msg = "Are you sure you want to remove all selected characteristics from this project?" ret = QMessageBox.question(self,"Confirm Deletion", msg, QMessageBox.Yes|QMessageBox.No) # if deletion is rejected return without deleting if ret == QMessageBox.No: return controller = Controller() chars = controller.getGlobalCharacteristics("Household") for char in chars: self.project.delProjectCharacteristic(char.name) self.displaySelectedHouseholdCharacteristics()
def displayAvailableHouseholdCharacteristics(self): ''' Retrieve and display available Household Characteristics ''' controller = Controller() chars = controller.getGlobalCharacteristics("Household") model = QStandardItemModel(1,2) # set model headers model.setHorizontalHeaderItem(0,QStandardItem('Characteristic')) model.setHorizontalHeaderItem(1,QStandardItem('Data Type')) # add data rows num = 0 for char in chars: qtCharacteristic = QStandardItem( char.name ) qtDataType = QStandardItem( char.datatypestr ) model.setItem( num, 0, qtCharacteristic ) model.setItem( num, 1, qtDataType ) num = num + 1 self.tblAvailableHouseholdCharacteristics.setModel(model) self.tblAvailableHouseholdCharacteristics.setSelectionMode(QAbstractItemView.ExtendedSelection) self.tblAvailableHouseholdCharacteristics.resizeColumnsToContents()