class BaseGuestDataFrame(QFrame): def __init__(self, parent, name='BaseGuestDataFrame'): QFrame.__init__(self, parent, name) self.guestid = None numrows = 2 numcols = 2 margin = 0 space = 1 self.grid = QGridLayout(self, numrows, numcols, margin, space, 'BaseGuestDataLayout') self.app = get_application_pointer() self.fname_lbl = QLabel('First Name', self) self.fname_entry = KLineEdit('', self) self.grid.addWidget(self.fname_lbl, 0, 0) self.grid.addWidget(self.fname_entry, 1, 0) self.lname_lbl = QLabel('Last Name', self) self.lname_entry = KLineEdit('', self) self.grid.addWidget(self.lname_lbl, 0, 1) self.grid.addWidget(self.lname_entry, 1, 1) self.title_lbl = QLabel('Title', self) self.title_entry = KLineEdit('', self) self.grid.addMultiCellWidget(self.title_lbl, 2, 2, 0, 1) self.grid.addMultiCellWidget(self.title_entry, 3, 3, 0, 1) self.desc_lbl = QLabel('Description', self) self.desc_entry = KTextEdit(self, 'description_entry') self.grid.addMultiCellWidget(self.desc_lbl, 4, 4, 0, 1) self.grid.addMultiCellWidget(self.desc_entry, 5, 7, 0, 1) #self.works_frame = BaseGuestWorksFrame(self) #self.grid.addMultiCellWidget(self.works_frame, 8, 8, 0, 1) def get_guest_data(self): fname = str(self.fname_entry.text()) lname = str(self.lname_entry.text()) title = str(self.title_entry.text()) desc = str(self.desc_entry.text()) # take the newlines out for now # until the sqlgen is fixed to work with sqlite desc = desc.replace('\n', ' ') data = dict(firstname=fname, lastname=lname, description=desc, title=title) if self.guestid is not None: data['guestid'] = self.guestid return data def set_guest_data(self, data): self.guestid = data['guestid'] self.fname_entry.setText(data['firstname']) self.lname_entry.setText(data['lastname']) if data['title']: self.title_entry.setText(data['title']) if data['description']: desc = data['description'] desc = self.app.guests.unescape_text(desc) self.desc_entry.setText(desc)
class BaseEntityDataFrame(AppFrame): def __init__(self, parent, name='BaseEntityDataFrame'): AppFrame.__init__(self, parent, name) self.entityid = None numrows = 2 numcols = 1 margin = 3 space = 2 self.grid = QGridLayout(self, numrows, numcols, margin, space, 'BaseEntityDataLayout') self.app = get_application_pointer() self.name_lbl = QLabel('Name', self) self.name_entry = KLineEdit('', self) self.grid.addWidget(self.name_lbl, 0, 0) self.grid.addWidget(self.name_entry, 1, 0) self.etype_lbl = QLabel('type', self) self.etype_combo = KComboBox(self, 'etype_combo') db = self.app.db etypes = db.session.query(db.EntityType).all() self.etype_combo.insertStrList([e.type for e in etypes]) self.connect(self.etype_combo, SIGNAL('activated(const QString &)'), self.change_etype) self.grid.addWidget(self.etype_lbl, 2, 0) self.grid.addWidget(self.etype_combo, 3, 0) self.url_lbl = QLabel('url', self) self.url_entry = KLineEdit('', self) self.grid.addWidget(self.url_lbl, 4, 0) self.grid.addWidget(self.url_entry, 5, 0) grid_rownum = 6 self.desc_lbl = QLabel('Description', self) self.desc_entry = KTextEdit(self, 'description_entry') self.desc_entry.setTextFormat(self.PlainText) self.grid.addMultiCellWidget(self.desc_lbl, 6, 6, 0, 0) self.grid.addMultiCellWidget(self.desc_entry, 7, 10, 0, 0) #self.works_frame = BaseGuestWorksFrame(self) #self.grid.addMultiCellWidget(self.works_frame, 8, 8, 0, 1) def change_etype(self, etype): print 'change_etype', etype def get_data(self): name = str(self.name_entry.text()) etype = str(self.etype_combo.currentText()) url = str(self.url_entry.text()) desc = str(self.desc_entry.text()) data = dict(name=name, type=etype, url=url, desc=desc) if self.entityid is not None: data['entityid'] = self.entityid return data def set_entity(self, entity): self.entity = entity self.set_data(entity) def set_data(self, entity): self.entityid = entity.entityid self.name_entry.setText(entity.name) self.etype_combo.setCurrentText(entity.type) self.url_entry.setText(entity.url) self.desc_entry.setText(entity.desc)