class EditDataExplorationPlotForm(QDialog): # form type is "histogram" or "scatterplot" def __init__(self, form_type, params, parent=None): super(EditDataExplorationPlotForm, self).__init__(parent) self.form_type = form_type if form_type == "histogram": self.page = HistogramPage(old_histogram_params=params) elif form_type == "scatterplot": self.page = ScatterPlotPage(old_scatterplot_params=params) else: raise Exception("Unrecognized page type") self.page.initializePage() ####self.funnelpage = FunnelPage(old_funnel_params=funnel_params) self.buttonbox = QDialogButtonBox(QDialogButtonBox.Ok|QDialogButtonBox.Cancel) self.buttonbox.accepted.connect(self.accept) self.buttonbox.rejected.connect(self.reject) self.ok_button= self.buttonbox.button(QDialogButtonBox.Ok) self.page.completeChanged.connect(self.setenable_OK) vlayout = QVBoxLayout() vlayout.addWidget(self.page) vlayout.addWidget(self.buttonbox) self.setLayout(vlayout) self.adjustSize() def setenable_OK(self): if self.page.isComplete(): self.ok_button.setEnabled(True) else: self.ok_button.setEnabled(False) def get_params(self): if self.form_type in ["histogram", "scatterplot"]: return self.page.get_parameters()