def __init__(self, master): """Add the spin box for maximal number of attributes""" VizRankDialog.__init__(self, master) OWComponent.__init__(self, master) self.master = master self.n_neighbors = 10 max_n_attrs = len(master.model_selected) + len(master.model_other) - 1 box = gui.hBox(self) self.n_attrs_spin = gui.spin(box, self, "n_attrs", 3, max_n_attrs, label="Maximum number of variables: ", controlWidth=50, alignment=Qt.AlignRight, callback=self._n_attrs_changed) gui.rubber(box) self.last_run_n_attrs = None self.attr_color = master.attr_color self.attr_ordering = None self.data = None self.valid_data = None self.rank_table.clicked.connect(self.on_row_clicked) self.rank_table.verticalHeader().sectionClicked.connect( self.on_header_clicked)
def __init__(self, widget, model_format, provider_format, model_button_label='Model', provider_button_label='Provider'): QWidget.__init__(self) OWComponent.__init__(self, widget) self.model_path = None layout = QHBoxLayout(self) layout.setContentsMargins(0, 0, 0, 0) self.model_widget = FileWidget(recent_files=self.recent_files, dialog_title='Load model', dialog_format=model_format, start_dir=None, on_open=self.load_model, allow_empty=False, reload_button=False, browse_label=model_button_label) self.model_path = self.recent_files[0] if self.recent_files else None layout.addWidget(self.model_widget) self.provider_widget = FileWidget(recent_files=self.recent_provider, dialog_title='Load provider', dialog_format=provider_format, start_dir=None, on_open=self.load_provider, allow_empty=False, reload_button=False, browse_label=provider_button_label) layout.addWidget(self.provider_widget)
def __new__(cls, *args, captionTitle=None, **kwargs): self = super().__new__(cls, None, cls.get_flags()) QDialog.__init__(self, None, self.get_flags()) OWComponent.__init__(self) WidgetMessagesMixin.__init__(self) WidgetSignalsMixin.__init__(self) stored_settings = kwargs.get('stored_settings', None) if self.settingsHandler: self.settingsHandler.initialize(self, stored_settings) self.signalManager = kwargs.get('signal_manager', None) self.__env = _asmappingproxy(kwargs.get("env", {})) self.graphButton = None self.report_button = None OWWidget.widget_id += 1 self.widget_id = OWWidget.widget_id captionTitle = self.name if captionTitle is None else captionTitle # must be set without invoking setCaption self.captionTitle = captionTitle self.setWindowTitle(captionTitle) self.setFocusPolicy(Qt.StrongFocus) self.__blocking = False # flag indicating if the widget's position was already restored self.__was_restored = False self.__statusMessage = "" self.__msgwidget = None self.__msgchoice = 0 self.left_side = None self.controlArea = self.mainArea = self.buttonsArea = None self.splitter = None if self.want_basic_layout: self.set_basic_layout() sc = QShortcut(QKeySequence(Qt.ShiftModifier | Qt.Key_F1), self) sc.activated.connect(self.__quicktip) sc = QShortcut(QKeySequence.Copy, self) sc.activated.connect(self.copy_to_clipboard) if self.controlArea is not None: # Otherwise, the first control has focus self.controlArea.setFocus(Qt.ActiveWindowFocusReason) return self
def __init__(self, master): # Add the spin box for a number of attributes to take into account. VizRankDialog.__init__(self, master) OWComponent.__init__(self, master) box = gui.hBox(self) max_n_attrs = len(master.model_selected) self.n_attrs_spin = gui.spin( box, self, "n_attrs", 3, max_n_attrs, label="Number of variables: ", controlWidth=50, alignment=Qt.AlignRight, callback=self._n_attrs_changed) gui.rubber(box) self.last_run_n_attrs = None self.attr_color = master.attr_color
def __init__(self, master): """Add the spin box for maximal number of attributes""" VizRankDialog.__init__(self, master) OWComponent.__init__(self, master) box = gui.hBox(self) self.max_attr_spin = gui.spin( box, self, "max_attrs", 2, 4, label="Limit the number of attributes to: ", controlWidth=50, alignment=Qt.AlignRight, callback=self.max_attr_changed) gui.rubber(box) self.layout().addWidget(self.button) self.attr_ordering = None self.marginal = {} self.last_run_max_attr = None
def __init__(self, parent=None, **kwargs): BaseEditor.__init__(self, parent, **kwargs) OWComponent.__init__(self, parent) WidgetMessagesMixin.__init__(self) layout = QVBoxLayout() layout.setSpacing(0) layout.setContentsMargins(0, 0, 0, 0) self.setLayout(layout) self.controlArea = QWidget(self) self.controlArea.setContentsMargins(0, 0, 0, 0) self.layout().addWidget(self.controlArea) self.insert_message_bar() # from WidgetMessagesMixin self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred)
def __init__(self, master): QObject.__init__(self) OWComponent.__init__(self, master) self.view = gui.TableView(wordWrap=True, editTriggers=gui.TableView.NoEditTriggers) header = self.view.horizontalHeader() header.setSectionResizeMode(QHeaderView.ResizeToContents) header.setDefaultAlignment(Qt.AlignCenter) header.setStretchLastSection(False) header.setContextMenuPolicy(Qt.CustomContextMenu) header.customContextMenuRequested.connect(self.show_column_chooser) self.model = QStandardItemModel(master) self.model.setHorizontalHeaderLabels(["Method"]) self.view.setModel(self.model) self.view.setItemDelegate(self.ItemDelegate())
def __init__(self, master): """Add the spin box for maximal number of attributes""" VizRankDialog.__init__(self, master) OWComponent.__init__(self, master) self.master = master self.n_neighbors = 10 max_n_attrs = len(master.model_selected) + len(master.model_other) - 1 box = gui.hBox(self) self.n_attrs_spin = gui.spin( box, self, "n_attrs", 3, max_n_attrs, label="Maximum number of variables: ", controlWidth=50, alignment=Qt.AlignRight, callback=self._n_attrs_changed) gui.rubber(box) self.last_run_n_attrs = None self.attr_color = master.graph.attr_color self.attr_ordering = None self.data = None self.valid_data = None
def __init__(self, parent=None, **kwargs): BaseEditor.__init__(self, parent, **kwargs) OWComponent.__init__(self, parent) WidgetMessagesMixin.__init__(self) layout = QVBoxLayout() layout.setSpacing(0) layout.setContentsMargins(0, 0, 0, 0) self.setLayout(layout) self.controlArea = QWidget(self) self.controlArea.setContentsMargins(0, 0, 0, 0) self.layout().addWidget(self.controlArea) self.insert_message_bar() # from WidgetMessagesMixin # support for pre-Orange 3.20 self.messageActivated.connect(self.update_message_visibility) self.messageDeactivated.connect(self.update_message_visibility) self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred)
def __init__(self, master): """Add the spin box for maximal number of attributes""" VizRankDialog.__init__(self, master) OWComponent.__init__(self, master) box = gui.hBox(self) self.max_attr_combo = gui.comboBox( box, self, "max_attrs", label="变量数目:", orientation=Qt.Horizontal, items=["1", "2", "3", "4", "最多 2", "最多 3", "最多 4"], callback=self.max_attr_changed, ) gui.rubber(box) self.layout().addWidget(self.button) self.attr_ordering = None self.marginal = {} self.last_run_max_attr = None self.master.attrs_changed_manually.connect(self.on_manual_change)
def __init__(self, master): """Add the spin box for maximal number of attributes""" VizRankDialog.__init__(self, master) OWComponent.__init__(self, master) self.master = master self.n_neighbors = 10 box = gui.hBox(self) self.n_attrs_spin = gui.spin( box, self, "n_attrs", 3, 99, label="Maximum number of variables: ", controlWidth=50, alignment=Qt.AlignRight, callback=self._n_attrs_changed) gui.rubber(box) self.last_run_n_attrs = None self.attr_color = master.attr_color self.attr_ordering = None self.data = None self.valid_data = None self.rank_table.clicked.connect(self.on_row_clicked) self.rank_table.verticalHeader().sectionClicked.connect( self.on_header_clicked)
def __init__(self, widget, model_format, provider_format, model_button_label='Model', provider_button_label='Provider'): QWidget.__init__(self) OWComponent.__init__(self, widget) self.model_path = None layout = QHBoxLayout(self, spacing=0) layout.setContentsMargins(0, 0, 0, 0) self.model_widget = FileWidget(recent_files=self.recent_files, dialog_title='Load model', dialog_format=model_format, start_dir=None, on_open=self.load_model, allow_empty=False, reload_button=False, browse_label=model_button_label) self.model_path = self.recent_files[0] if self.recent_files else None layout.addWidget(self.model_widget) self.provider_widget = FileWidget(recent_files=None, dialog_title='Load provider', dialog_format=provider_format, start_dir=None, on_open=self.load_provider, allow_empty=False, reload_button=False, browse_label=provider_button_label) layout.addWidget(self.provider_widget)
def __init__(self, master): """Add the spin box for maximal number of attributes""" VizRankDialog.__init__(self, master) OWComponent.__init__(self, master) box = gui.hBox(self) self.max_attr_combo = gui.comboBox(box, self, "max_attrs", label="Number of variables:", orientation=Qt.Horizontal, items=[ "one", "two", "three", "four", "at most two", "at most three", "at most four" ], callback=self.max_attr_changed) gui.rubber(box) self.layout().addWidget(self.button) self.attr_ordering = None self.marginal = {} self.last_run_max_attr = None self.master.attrs_changed_manually.connect(self.on_manual_change)
def __init__(self, widget=None, parent=None, index = 0, a = 0.0, a_fixed = 0, a_has_min = 0, a_min = 0.0, a_has_max = 0, a_max = 0.0, a_function = 0, a_function_value = "", symmetry = 2, use_structure = 0, formula = "", intensity_scale_factor = 1.0, intensity_scale_factor_fixed = 0, intensity_scale_factor_has_min = 0, intensity_scale_factor_min = 0.0, intensity_scale_factor_has_max = 0, intensity_scale_factor_max = 0.0, intensity_scale_factor_function = 0, intensity_scale_factor_function_value = "", reflections = "", limit = 0.0, limit_type = 0): super(CrystalStructureBox, self).__init__(parent) OWComponent.__init__(self) self.setLayout(QtWidgets.QVBoxLayout()) self.layout().setAlignment(Qt.AlignTop) self.setFixedWidth(widget.CONTROL_AREA_WIDTH - 35) self.setFixedHeight(500) self.widget = widget self.index = index self.a = a self.a_fixed = a_fixed self.a_has_min = a_has_min self.a_min = a_min self.a_has_max = a_has_max self.a_max = a_max self.a_function = a_function self.a_function_value = a_function_value self.symmetry = symmetry self.use_structure = use_structure self.formula = formula self.intensity_scale_factor = intensity_scale_factor self.intensity_scale_factor_fixed = intensity_scale_factor_fixed self.intensity_scale_factor_has_min = intensity_scale_factor_has_min self.intensity_scale_factor_min = intensity_scale_factor_min self.intensity_scale_factor_has_max = intensity_scale_factor_has_max self.intensity_scale_factor_max = intensity_scale_factor_max self.intensity_scale_factor_function = intensity_scale_factor_function self.intensity_scale_factor_function_value = intensity_scale_factor_function_value self.reflections = reflections self.limit = limit self.limit_type = limit_type self.CONTROL_AREA_WIDTH = widget.CONTROL_AREA_WIDTH container = gui.widgetBox(parent, "", orientation="vertical", width=self.CONTROL_AREA_WIDTH-45) self.cb_symmetry = orangegui.comboBox(container, self, "symmetry", label="Symmetry", items=Symmetry.tuple(), callback=self.set_symmetry, orientation="horizontal") widget.create_box_in_widget(self, container, "a", "a [nm]", add_callback=True) orangegui.separator(container) structure_box = gui.widgetBox(container, "", orientation="vertical", width=self.CONTROL_AREA_WIDTH - 45) orangegui.comboBox(structure_box, self, "use_structure", label="Use Structural Model", items=["No", "Yes"], callback=self.set_structure, labelWidth=350, orientation="horizontal") self.structure_box_1 = gui.widgetBox(structure_box, "", orientation="vertical", width=self.CONTROL_AREA_WIDTH - 50, height=60) gui.lineEdit(self.structure_box_1, self, "formula", "Chemical Formula", labelWidth=90, valueType=str, callback=widget.dump_formula) widget.create_box_in_widget(self, self.structure_box_1, "intensity_scale_factor", "I0", add_callback=True) self.structure_box_2 = gui.widgetBox(structure_box, "", orientation="vertical", width=self.CONTROL_AREA_WIDTH - 50, height=60) orangegui.separator(container) gen_box = gui.widgetBox(container, "Generate Reflections", orientation="horizontal") le_limit = gui.lineEdit(gen_box, self, "limit", "Limit", labelWidth=90, valueType=float, validator=QDoubleValidator(), callback=widget.dump_limit) cb_limit = orangegui.comboBox(gen_box, self, "limit_type", label="Kind", items=["None", "Nr. Peaks", "2Theta Max"], orientation="horizontal") def set_limit(limit_type): if limit_type == 0: le_limit.setText("-1") le_limit.setEnabled(False) else: le_limit.setEnabled(True) if not self.is_on_init: widget.dump_limit() widget.dump_limit_type() cb_limit.currentIndexChanged.connect(set_limit) set_limit(self.limit_type) gui.button(gen_box, self, "Generate Reflections", callback=self.generate_reflections) self.set_structure() reflection_box = gui.widgetBox(container, "Reflections", orientation="vertical", width=self.CONTROL_AREA_WIDTH - 50) orangegui.label(reflection_box, self, "h, k, l, <intensity_name> int <, min value, max value>") scrollarea = QScrollArea(reflection_box) scrollarea.setMaximumWidth(self.CONTROL_AREA_WIDTH - 85) scrollarea.setMinimumWidth(self.CONTROL_AREA_WIDTH - 85) def write_text(): self.reflections = self.text_area.toPlainText() if not self.is_on_init: widget.dump_reflections() self.text_area = gui.textArea(height=500, width=1000, readOnly=False) self.text_area.setText(self.reflections) self.text_area.setStyleSheet("font-family: Courier, monospace;") self.text_area.textChanged.connect(write_text) scrollarea.setWidget(self.text_area) scrollarea.setWidgetResizable(1) reflection_box.layout().addWidget(scrollarea, alignment=Qt.AlignHCenter) self.is_on_init = False