def __init__(self, parent=None, model=None, collection_getter=None): from camelot.view.controls.editors import NoteEditor super(DataPreviewPage, self).__init__(parent) assert model assert collection_getter self.setTitle(_('Data Preview')) self.setSubTitle(_('Please review the data below.')) self._complete = False self.model = model validator = self.model.get_validator() validator.validity_changed_signal.connect(self.update_complete) model.layoutChanged.connect(self.validate_all_rows) post(validator.validate_all_rows) self.collection_getter = collection_getter icon = 'tango/32x32/mimetypes/x-office-spreadsheet.png' self.setPixmap(QtGui.QWizard.LogoPixmap, Pixmap(icon).getQPixmap()) self.previewtable = One2ManyEditor( admin=model.get_admin(), parent=self, create_inline=True, vertical_header_clickable=False, ) self._note = NoteEditor() self._note.set_value(None) ly = QtGui.QVBoxLayout() ly.addWidget(self.previewtable) ly.addWidget(self._note) self.setLayout(ly) self.setCommitPage(True) self.setButtonText(QtGui.QWizard.CommitButton, _('Import')) self.update_complete()