# This Python file uses the following encoding: utf-8 from PySide6.QtCore import QAbstractTableModel, QModelIndex, Qt, Slot from .BusinessDAO import BusinessDAO # USERS TABLE # CUSTOMER_COLUMN_NAMES = \ # { # "userid": "Identification", # "username": "Benutzername", # "password": "Passwort", # "enabled": "Aktiv", # "roleid": "Rolle", # "gecos": "Information" # } # # CUSTOMER_COLUMN_INDEX = \ # { # "userid": 0, # "username": 1, # "password": 2, # "enabled": 3, # "roleid": 4, # "gecos": 5 # } ####################################### # COLS = \ # { # "businessid": "Kundennummer", # "company": "Firma", # "street": "Straße", # "postcodeid": "PLZ", # "phone": "Telefon", # "mobilephone": "Mobil", # "email": "E-Mail", # "homepage": "Homepage", # "director": "Geschäftsführer", # "contactpersonid": "Ansprechpartner", # "info": "Info", # "btid": "Typ", # } # COLS_INDEX = \ # { # "businessid": 0, # "company": 1, # "street": 2, # "postcodeid": 3, # "phone": 4, # "mobilephone": 5, # "email": 6, # "homepage": 7, # "director": 8, # "contactpersonid": 9, # "info": 10, # "btid": 11, # } class BusinessModel(QAbstractTableModel): __visible_index = {} __col_name = "" def __init__(self): super().__init__() self.__data = self.__getData() def __getData(self): rows, self.__visible_columns = BusinessDAO().getBusiness() return rows def rowCount(self, parent= QModelIndex()): return len (self.__data) def columnCount(self, parent= QModelIndex()): return len(self.__visible_columns) def data(self, index, role= Qt.DisplayRole): if role == Qt.DisplayRole: row = self.__data[index.row()] return row[index.column()] return None def headerData(self, section, orientation, role= Qt.DisplayRole): if orientation == Qt.Horizontal and role ==Qt.DisplayRole: self.__col_name = self.__visible_columns[section] return self.__col_name return super().headerData(section, orientation, role) ########################NOT READY################################# # @Slot(dict) # def setVisibleColumns(self, cols): # self.__visible_columns.clear() # self.__visible_index.clear() # for col, val in cols.items(): # self.__visible_index[val] = COLS_INDEX[cols[col]] # self.__visible_columns.append(cols[col]) # # self.headerDataChanged.emit() # # self.dataChanged.emit() # self.layoutChanged.emit() ################################################################# @Slot(int) def onRowClicked(self, row): print(row) @Slot(dict) def addBusiness(self, business): pass