Esempio n. 1
0
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)
Esempio n. 2
0
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)