Exemple #1
0
 def __init__(self, *args):
   apply(QSplitter.__init__,(self,)+args)
   self.left=guiMultiLineEdit(self)
   self.left.setReadOnly(TRUE)
   self.right=guiListEditor(self)
   self.connect (self.right, PYSIGNAL("lineRemoved"), self.removeLine)
   self.keys=[]
Exemple #2
0
    def __init__(self, parent, record, mode, *args):
        QWidget.__init__(self, parent, *args)
        self.mode=mode
        self.record=record
        self.grdFields=QGridLayout(self)
        self.grdFields.setSpacing(6)
        self.grdFields.setMargin(11)
    
        self.fieldList=[]
        self.fieldTypes={}
        row=0

        for field, fieldDef in record.tableDef.orderedFieldList():
            if fieldDef.dialog: # show in dialog
                self.grdFields.expand(row + 1, 2)
                self.fieldList.append((field, fieldDef))
                self.fieldTypes[field]=fieldDef
        
                if fieldDef.datatype == constants.TEXT: # Multiline
                    if fieldDef.readonly and mode != constants.SEARCH:
                        fld=self.addField(field, guiLabel(self))
                        fld.setAlignment(Qt.AlignLeft or Qt.AlignTop)
                        fld.setFrameShape(guiLabel.Panel)
                        fld.setFrameShadow(guiLabel.Sunken)
                        fld.setFont(font)
                    else:
                        fld=self.addField(field,
                                          guiMultiLineEdit(self))
                        fld.setText(record.getFieldValue(field))
          
                    self.grdFields.addWidget(self.addField("txt"+field,
                                                 guiLabel(fld,
                                                          fieldDef.label,
                                                          self)),
                                             row, 0)
                    self.grdFields.addWidget(fld, row, 1)
          
                elif fieldDef.relation <> None: # Combobox
                    if fieldDef.readonly and mode != constants.SEARCH:
                        fld=self.addField(field, guiLabel(self))
                        fld.setFrameShape(guiLabel.Panel)
                        fld.setFrameShadow(guiLabel.Sunken)
                        fld.setText(record.getFieldValue(record.getDescriptorColumnName(field)))
                        fld.setFont(font)
                    else:
                        fld=self.addField(field, guiComboBox(self))
                        fld.fillComboBox(record, field, self.mode)
          
                    self.grdFields.addWidget(self.addField("txt"+field,
                                                           guiLabel(fld, fieldDef.label, self)),
                                             row, 0)
                    self.grdFields.addWidget(fld, row, 1)
          
                elif fieldDef.datatype == constants.BOOLEAN: # checkbox
                    fld=self.addField(field, guiCheckBox(self, fieldDef.label))
                    if mode == constants.SEARCH:
                        fld.setTristate(True)
                    fld.setChecked(record.getFieldValue(field))
                    if fieldDef.readonly and mode != constants.SEARCH:
                        fld.setEnabled(False)
                      
                    self.grdFields.addWidget(fld, row, 0)
          
                elif fieldDef.datatype == constants.INTEGER: # number
                    if fieldDef.readonly and mode != constants.SEARCH:
                        fld=self.addField(field, guiLabel(self))
                        fld.setFrameShape(guiLabel.Panel)
                        fld.setFrameShadow(guiLabel.Sunken)
                        fld.setFont(font)
                        value = record.getFieldValue(field)
                        if value != None:
                            fld.setText(str(value))
                    else:
                        fld=self.addField(field, guiNumberBox(self))
                        fld.setText(record.getFieldValue(field))
          
                    self.grdFields.addWidget(self.addField("txt"+field,
                                                           guiLabel(fld, fieldDef.label, self)),
                                             row, 0)
                    self.grdFields.addWidget(fld, row, 1)
          
                else:# Lineedit
                    if fieldDef.readonly and mode != constants.SEARCH:
                        fld=self.addField(field, guiLabel(self))
                        fld.setFrameShape(guiLabel.Panel)
                        fld.setFrameShadow(guiLabel.Sunken)
                        fld.setFont(font)
                    else:
                        fld=self.addField(field, guiLineEdit(self))
                        fld.setMaxLength(fieldDef.length)

                    fld.setText(record.getFieldValue(field))
                    self.grdFields.addWidget(self.addField("txt"+field,
                                                           guiLabel(fld, fieldDef.label, self)),
                                             row, 0)
                    self.grdFields.addWidget(fld, row, 1)
                row=row+1