def __init__(self, parent=None):
        model = SensitivityStudyParametersModel()
        parameters = model.getParameters()
        n_parameters = len(parameters)

        super(QTableWidget, self).__init__(n_parameters, len(self.columns), parent)
        self.verticalHeader().setResizeMode(QHeaderView.Fixed)
        self.verticalHeader().hide()

        headers = [self.columns[col_id].header for col_id in self.column_list]
        self.setHorizontalHeaderLabels(headers)

        for row in range(n_parameters):
            param_name = parameters[row]

            param_name_widget = QLabel(param_name)
            param_name_widget.setMargin(5)
            self.setCellWidget(row, self.columns["name"].index, param_name_widget)

            if (model.getParameterType(param_name) == ErtImplType.GEN_KW):
                const_value_model = SensivityStudyParametersConstantValueModel(param_name, model)
                const_value_widget = StringBox(const_value_model, "Constant value", 
                                               "config/simulation/sensitivity_parameter_constant_value")
                const_value_widget.setValidator(FloatArgument())
                const_value_widget.setAlignment(Qt.AlignRight)
                self.setCellWidget(row, self.columns["const_value"].index, const_value_widget)
            else:
                empty_item = QTableWidgetItem()
                empty_item.setFlags(empty_item.flags() ^ Qt.ItemIsEditable)
                self.setItem(row, self.columns["const_value"].index, empty_item)


            is_active_model = SensivityStudyParametersIsIncludedModel(param_name, model)
            is_active_widget = CheckBox(is_active_model, "Is included", 
                                        "config/simulation/sensitivity_parameter_is_included", show_label=False)
            self.setCellWidget(row, self.columns["is_active"].index, is_active_widget)


        self.resizeColumnsToContents()
        self.setMinimumWidth(self.sizeHint().width())

        self.blockSignals(False)