예제 #1
0
    def addParam(self, paramName, value):
        grid = self.gridLayoutHeader

        row_number = grid.rowCount()

        # type of parameter
        [type_widget, type_options, name] = splitParamNameAndType(paramName)

        # name
        grid.addWidget(QLabel(name), row_number, 0)

        # value
        if "value" in value:
            value = value["value"]
        else:
            value = value["default"]

        # update widget

        if type_widget == "text":
            edit_widget = QLineEdit()
            edit_widget.setText(value)

        elif type_widget == "date":
            edit_widget = QDateEdit()
            edit_widget.setCalendarPopup(True)
            edit_widget.lineEdit().setText(value)

        elif type_widget == "select":
            edit_widget = QComboBox()
            edit_widget.setEditable(True)
            self.dbrequest.sqlFillQtWidget(type_options, edit_widget)
            edit_widget.setEditText(value)

        elif type_widget == "selected_item":
            if type_options != "geom":
                edit_widget = QLabel(tr(u"Attribute of selected feature") + " : " + type_options)
            else:
                edit_widget = QLabel(tr(u"Geometry of selected feature"))

        grid.addWidget(edit_widget, row_number, 1)
        return edit_widget