class ConfigWizardPage(QtGui.QWizardPage):
    def __init__(self, parent=None):
        super(ConfigWizardPage, self).__init__(parent)

        self.setTitle('Configure Workflow Step')
        self.setSubTitle('Setup the configuration for the workflow step.')

        self._ui = Ui_Config()
        self._ui.setupUi(self)

        self._ui.identifierCheckBox.setChecked(True)

        horizontal_header = self._ui.configTableWidget.horizontalHeader()
        horizontal_header.setStretchLastSection(True)
        #         self._addConfigurationRow()
        #         self._ui.configTableWidget.setItem(0, 0, QtGui.QTableWidgetItem('Identifier'))
        #         self._ui.configTableWidget.setItem(0, 1, QtGui.QTableWidgetItem(''))

        self._updateUi()
        self._makeConnections()

    def _defineFields(self):
        self.registerField(IDENTIFIER_CHECKBOX, self._ui.identifierCheckBox)

    def _makeConnections(self):
        self._ui.addButton.clicked.connect(self._addConfigurationRow)
        self._ui.removeButton.clicked.connect(self._removeConfigurationRow)
        self._ui.configTableWidget.itemSelectionChanged.connect(self._updateUi)

    def _updateUi(self):
        have_selected_rows = len(
            self._ui.configTableWidget.selectedIndexes()) > 0
        self._ui.removeButton.setEnabled(have_selected_rows)

    def _addConfigurationRow(self):
        next_row = self._ui.configTableWidget.rowCount()
        self._ui.configTableWidget.insertRow(next_row)

    def _removeConfigurationRow(self):
        indexes = self._ui.configTableWidget.selectedIndexes()
        reversed_rows = indexes[::2]
        reversed_rows.reverse()
        for row in reversed_rows:
            self._ui.configTableWidget.removeRow(row.row())
class ConfigWizardPage(QtGui.QWizardPage):

    def __init__(self, parent=None):
        super(ConfigWizardPage, self).__init__(parent)

        self.setTitle('Configure Workflow Step')
        self.setSubTitle('Setup the configuration for the workflow step.')

        self._ui = Ui_Config()
        self._ui.setupUi(self)

        self._ui.identifierCheckBox.setChecked(True)

        horizontal_header = self._ui.configTableWidget.horizontalHeader()
        horizontal_header.setStretchLastSection(True)
#         self._addConfigurationRow()
#         self._ui.configTableWidget.setItem(0, 0, QtGui.QTableWidgetItem('Identifier'))
#         self._ui.configTableWidget.setItem(0, 1, QtGui.QTableWidgetItem(''))

        self._updateUi()
        self._makeConnections()

    def _defineFields(self):
        self.registerField(IDENTIFIER_CHECKBOX, self._ui.identifierCheckBox)

    def _makeConnections(self):
        self._ui.addButton.clicked.connect(self._addConfigurationRow)
        self._ui.removeButton.clicked.connect(self._removeConfigurationRow)
        self._ui.configTableWidget.itemSelectionChanged.connect(self._updateUi)

    def _updateUi(self):
        have_selected_rows = len(self._ui.configTableWidget.selectedIndexes()) > 0
        self._ui.removeButton.setEnabled(have_selected_rows)

    def _addConfigurationRow(self):
        next_row = self._ui.configTableWidget.rowCount()
        self._ui.configTableWidget.insertRow(next_row)

    def _removeConfigurationRow(self):
        indexes = self._ui.configTableWidget.selectedIndexes()
        reversed_rows = indexes[::2]
        reversed_rows.reverse()
        for row in reversed_rows:
            self._ui.configTableWidget.removeRow(row.row())
    def __init__(self, parent=None):
        super(ConfigWizardPage, self).__init__(parent)

        self.setTitle('Configure Workflow Step')
        self.setSubTitle('Setup the configuration for the workflow step.')

        self._ui = Ui_Config()
        self._ui.setupUi(self)

        self._ui.identifierCheckBox.setChecked(True)

        horizontal_header = self._ui.configTableWidget.horizontalHeader()
        horizontal_header.setStretchLastSection(True)
        #         self._addConfigurationRow()
        #         self._ui.configTableWidget.setItem(0, 0, QtGui.QTableWidgetItem('Identifier'))
        #         self._ui.configTableWidget.setItem(0, 1, QtGui.QTableWidgetItem(''))

        self._updateUi()
        self._makeConnections()
    def __init__(self, parent=None):
        super(ConfigWizardPage, self).__init__(parent)

        self.setTitle('Configure Workflow Step')
        self.setSubTitle('Setup the configuration for the workflow step.')

        self._ui = Ui_Config()
        self._ui.setupUi(self)

        self._ui.identifierCheckBox.setChecked(True)

        horizontal_header = self._ui.configTableWidget.horizontalHeader()
        horizontal_header.setStretchLastSection(True)
#         self._addConfigurationRow()
#         self._ui.configTableWidget.setItem(0, 0, QtGui.QTableWidgetItem('Identifier'))
#         self._ui.configTableWidget.setItem(0, 1, QtGui.QTableWidgetItem(''))

        self._updateUi()
        self._makeConnections()