def __init__(self, parent=None, name=None, fl=0): qt_import.QDialog.__init__(self, parent, qt_import.Qt.WindowFlags(fl)) if name is not None: self.setObjectName(name) # Internal variables -------------------------------------------------- # AsyncResult to return values self._async_result = None # Layout qt_import.QVBoxLayout(self) main_layout = self.layout() main_layout.setSpacing(10) main_layout.setMargin(6) self.setSizePolicy(qt_import.QSizePolicy.Expanding, qt_import.QSizePolicy.Expanding) self.setWindowTitle("GPhL Workflow parameters") # Info box self.info_gbox = qt_import.QGroupBox("Info", self) qt_import.QVBoxLayout(self.info_gbox) main_layout.addWidget(self.info_gbox) self.info_text = qt_import.QTextEdit(self.info_gbox) self.info_text.setFont(qt_import.QFont("Courier")) self.info_text.setReadOnly(True) self.info_gbox.layout().addWidget(self.info_text) # Special parameter box self.cplx_gbox = qt_import.QGroupBox("Indexing solution", self) qt_import.QVBoxLayout(self.cplx_gbox) main_layout.addWidget(self.cplx_gbox) self.cplx_gbox.setSizePolicy(qt_import.QSizePolicy.Expanding, qt_import.QSizePolicy.Expanding) self.cplx_widget = None # Parameter box self.parameter_gbox = qt_import.QGroupBox("Parameters", self) main_layout.addWidget(self.parameter_gbox) self.parameter_gbox.setSizePolicy(qt_import.QSizePolicy.Expanding, qt_import.QSizePolicy.Expanding) self.params_widget = None # Button bar button_layout = qt_import.QHBoxLayout(None) hspacer = qt_import.QSpacerItem(1, 20, qt_import.QSizePolicy.Expanding, qt_import.QSizePolicy.Minimum) button_layout.addItem(hspacer) self.continue_button = qt_import.QPushButton("Continue", self) button_layout.addWidget(self.continue_button) self.cancel_button = qt_import.QPushButton("Abort", self) button_layout.addWidget(self.cancel_button) main_layout.addLayout(button_layout) self.continue_button.clicked.connect(self.continue_button_click) self.cancel_button.clicked.connect(self.cancel_button_click) self.resize( qt_import.QSize(1018, 472).expandedTo(self.minimumSizeHint()))
def __init__(self, *args): BaseWidget.__init__(self, *args) # Hardware objects ---------------------------------------------------- # Internal values ----------------------------------------------------- # Properties ---------------------------------------------------------- # Signals ------------------------------------------------------------ # Slots --------------------------------------------------------------- # Graphic elements ---------------------------------------------------- self.main_gbox = qt_import.QGroupBox("Aperture", self) self.aperture_diameter_combo = qt_import.QComboBox(self.main_gbox) self.aperture_diameter_combo.setMinimumWidth(100) self.aperture_position_combo = qt_import.QComboBox(self.main_gbox) self.aperture_position_combo.setMinimumWidth(100) # Layout -------------------------------------------------------------- _main_gbox_vlayout = qt_import.QVBoxLayout(self.main_gbox) _main_gbox_vlayout.addWidget(self.aperture_diameter_combo) _main_gbox_vlayout.addWidget(self.aperture_position_combo) _main_gbox_vlayout.addStretch() _main_gbox_vlayout.setSpacing(2) _main_gbox_vlayout.setContentsMargins(0, 0, 0, 0) _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.main_gbox) _main_vlayout.setSpacing(0) # _main_vlayout.addSpacing(0) _main_vlayout.setContentsMargins(2, 2, 2, 2) # Qt signal/slot connections ------------------------------------------ self.aperture_diameter_combo.activated.connect(self.change_diameter) self.aperture_position_combo.activated.connect(self.change_position) # SizePolicies -------------------------------------------------------- # Other --------------------------------------------------------------- colors.set_widget_color( self.aperture_diameter_combo, colors.LIGHT_GREEN, qt_import.QPalette.Button ) colors.set_widget_color( self.aperture_position_combo, colors.LIGHT_GREEN, qt_import.QPalette.Button ) self.aperture_diameter_combo.setMinimumWidth(100) self.aperture_position_combo.setMinimumWidth(100) self.init_aperture() self.connect( HWR.beamline.beam.aperture, "diameterIndexChanged", self.diameter_changed ) self.connect( HWR.beamline.beam.aperture, "valueChanged", self.position_changed )
def __init__(self, *args): BaseWidget.__init__(self, *args) # Properties ---------------------------------------------------------- self.add_property("title", "string", "Shutter") self.add_property("hwobj_shutter", "string", "") # Signals ------------------------------------------------------------- # Slots --------------------------------------------------------------- # Hardware objects ---------------------------------------------------- self.shutter_hwobj = None # Internal values ----------------------------------------------------- # Graphic elements ---------------------------------------------------- self.main_groupbox = qt_import.QGroupBox("Shutter", self) self.main_groupbox.setAlignment(qt_import.Qt.AlignCenter) self.state_label = qt_import.QLabel("<b>unknown</b>", self.main_groupbox) self.state_label.setAlignment(qt_import.Qt.AlignCenter) self.state_label.setFixedHeight(24) colors.set_widget_color(self.state_label, colors.LIGHT_GRAY) _button_widget = qt_import.QWidget(self.main_groupbox) self.open_button = qt_import.QPushButton( icons.load_icon("ShutterOpen"), "Open", _button_widget) self.close_button = qt_import.QPushButton( icons.load_icon("ShutterClose"), "Close", _button_widget) # Layout -------------------------------------------------------------- _button_widget_hlayout = qt_import.QHBoxLayout(_button_widget) _button_widget_hlayout.addWidget(self.open_button) _button_widget_hlayout.addWidget(self.close_button) _button_widget_hlayout.setSpacing(2) _button_widget_hlayout.setContentsMargins(0, 0, 0, 0) _main_gbox_vlayout = qt_import.QVBoxLayout(self.main_groupbox) _main_gbox_vlayout.addWidget(self.state_label) _main_gbox_vlayout.addWidget(_button_widget) _main_gbox_vlayout.setSpacing(2) _main_gbox_vlayout.setContentsMargins(2, 2, 2, 2) _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.main_groupbox) _main_vlayout.setSpacing(0) _main_vlayout.setContentsMargins(0, 0, 0, 0) # SizePolicies -------------------------------------------------------- # Qt signal/slot connections ------------------------------------------ self.open_button.clicked.connect(self.open_button_clicked) self.close_button.clicked.connect(self.close_button_clicked)
def __init__(self, *args): BaseWidget.__init__(self, *args) # Hardware objects ---------------------------------------------------- self.image_tracking_hwobj = None # Internal values ----------------------------------------------------- # Properties ---------------------------------------------------------- self.add_property("mnemonic", "string", "/image-tracking") # Signals ------------------------------------------------------------ # Slots --------------------------------------------------------------- # Graphic elements ---------------------------------------------------- _main_groupbox = qt_import.QGroupBox("Image tracking", self) self.state_label = qt_import.QLabel("<b> </b>", _main_groupbox) self.image_tracking_cbox = qt_import.QCheckBox( "Enable Adxv image tracking", _main_groupbox) self.filter_frames_cbox = qt_import.QCheckBox( "Filter frames based on Dozor score", _main_groupbox) self.spot_list_cbox = qt_import.QCheckBox("Indicate spots in ADxV", _main_groupbox) # Layout -------------------------------------------------------------- _main_groupbox_vlayout = qt_import.QVBoxLayout(_main_groupbox) _main_groupbox_vlayout.addWidget(self.state_label) _main_groupbox_vlayout.addWidget(self.image_tracking_cbox) _main_groupbox_vlayout.addWidget(self.filter_frames_cbox) _main_groupbox_vlayout.addWidget(self.spot_list_cbox) _main_groupbox_vlayout.setSpacing(2) _main_groupbox_vlayout.setContentsMargins(4, 4, 4, 4) _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(_main_groupbox) _main_vlayout.setSpacing(0) _main_vlayout.setContentsMargins(0, 0, 0, 0) # SizePolicies -------------------------------------------------------- # Qt signal/slot connections ------------------------------------------ self.image_tracking_cbox.toggled.connect( self.image_tracking_cbox_toggled) self.filter_frames_cbox.toggled.connect( self.filter_frames_cbox_toggled) self.spot_list_cbox.toggled.connect(self.spot_list_cbox_toggled) # Other --------------------------------------------------------------- self.state_label.setAlignment(qt_import.Qt.AlignCenter) self.state_label.setFixedHeight(24) self.state_changed("unknown")
def __init__(self, *args): BaseWidget.__init__(self, *args) # variables ----------------------------------------------------------- self.current_beam_position = None self.current_zoom_pos_name = None self.current_zoom_idx = -1 self.multipos_file_xml_path = None # Hardware objects ---------------------------------------------------- self.multipos_hwobj = None # Internal values ----------------------------------------------------- self.table_created = False # Properties ---------------------------------------------------------- self.add_property("zoom", "string", "") # Signals ------------------------------------------------------------ # Slots --------------------------------------------------------------- # Graphic elements ---------------------------------------------------- self.main_groupbox = qt_import.QGroupBox("Beam Position", self) self.ui_widgets_manager = qt_import.load_ui_file( "camera_beam_brick.ui") # Size policy -------------------------------- self.ui_widgets_manager.beam_positions_table.setSizePolicy( qt_import.QSizePolicy.Minimum, qt_import.QSizePolicy.Minimum, ) # Layout -------------------------------------------------------------- _groupbox_vlayout = qt_import.QVBoxLayout(self) _groupbox_vlayout.addWidget(self.ui_widgets_manager) _groupbox_vlayout.setSpacing(0) _groupbox_vlayout.setContentsMargins(0, 0, 0, 0) self.main_groupbox.setLayout(_groupbox_vlayout) _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.main_groupbox) _main_vlayout.setSpacing(0) _main_vlayout.setContentsMargins(0, 0, 0, 0) self.setLayout(_main_vlayout) # Qt signal/slot connections ------------------------------------------ self.ui_widgets_manager.save_current_beam_pos_pushbutton.clicked.connect( self.save_beam_position)
def __init__(self, parent=None, name=None, fl=0): qt_import.QWidget.__init__(self, parent, qt_import.Qt.WindowFlags(fl)) self.setObjectName("char_type_widget") # Hardware objects ---------------------------------------------------- # Internal variables -------------------------------------------------- # Graphic elements ---------------------------------------------------- self.charact_type_gbox = qt_import.QGroupBox(self) # Fix the widths of the widgets to make the layout look nicer, # and beacuse the qt layout engine is so tremendosly good. self.charact_type_gbox.setFixedWidth(800) self.charact_type_gbox.setFixedHeight(220) self.charact_type_tbox = qt_import.QToolBox(self.charact_type_gbox) self.routine_dc_page = RoutineDCWidgetLayout(self.charact_type_tbox) self.sad_page = SADWidgetLayout(self.charact_type_tbox) self.rad_damage_page = RadiationDamageWidgetLayout(self.charact_type_tbox) self.charact_type_tbox.addItem(self.routine_dc_page, "Routine-DC") self.charact_type_tbox.addItem(self.sad_page, "SAD") self.charact_type_tbox.addItem(self.rad_damage_page, "Radiation damage") # Layout -------------------------------------------------------------- _charact_type_gbox_vlayout = qt_import.QVBoxLayout(self.charact_type_gbox) _charact_type_gbox_vlayout.addWidget(self.charact_type_tbox) _charact_type_gbox_vlayout.addStretch(0) _charact_type_gbox_vlayout.setSpacing(0) _charact_type_gbox_vlayout.setContentsMargins(0, 0, 0, 0) _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.charact_type_gbox) _main_vlayout.addStretch(0) _main_vlayout.setSpacing(0) _main_vlayout.setContentsMargins(0, 0, 0, 0) # SizePolicies -------------------------------------------------------- # Qt signal/slot connections ------------------------------------------ self.routine_dc_page.dose_limit_cbx.toggled.connect(self.enable_dose_ledit) self.routine_dc_page.time_limit_cbx.toggled.connect(self.enable_time_ledit) self.routine_dc_page.dose_time_bgroup.buttonClicked.connect( self._toggle_time_dose ) # Other --------------------------------------------------------------- self._toggle_time_dose(self.routine_dc_page.dose_time_bgroup.checkedId())
def __init__(self, parent=None, name="scan_plot_widget"): qt_import.QWidget.__init__(self, parent) if name is not None: self.setObjectName(name) self.xdata = [] self.ylabel = "" self.isRealTimePlot = None self.is_connected = None self.isScanning = None self.lblTitle = qt_import.QLabel(self) self.lblPosition = qt_import.QLabel(self) self.graph = QtBlissGraph(self) self.graph.canvas().setMouseTracking(True) self.graph.enableLegend(False) self.graph.enableZoom(False) _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.lblTitle) _main_vlayout.addWidget(self.lblPosition) _main_vlayout.addWidget(self.graph) _main_vlayout.setSpacing(2) _main_vlayout.setContentsMargins(0, 0, 0, 0)
def __init__(self, *args): BaseWidget.__init__(self, *args) # Hardware objects ---------------------------------------------------- # Internal values ----------------------------------------------------- self.use_dialog = False # Properties ---------------------------------------------------------- self.add_property("mnemonicList", "string", "") # Signals ------------------------------------------------------------ # Slots --------------------------------------------------------------- # Graphic elements ---------------------------------------------------- self.progress_type_label = qt_import.QLabel("", self) self.progress_bar = qt_import.QProgressBar(self) # $self.progress_bar.setCenterIndicator(True) self.progress_bar.setMinimum(0) main_layout = qt_import.QVBoxLayout(self) main_layout.addWidget(self.progress_type_label) main_layout.addWidget(self.progress_bar) main_layout.setContentsMargins(2, 2, 2, 2) main_layout.setSpacing(2) self.setEnabled(False) new_palette = qt_import.QPalette() new_palette.setColor(qt_import.QPalette.Highlight, colors.DARK_GREEN) self.progress_bar.setPalette(new_palette)
def __init__(self, parent=None): qt_import.QWidget.__init__(self, parent) self.im = None self.mpl_canvas = MplCanvas(self) self.colorbar = None # self.ntb = NavigationToolbar(self.mpl_canvas, self) self.selection_xrange = None self.selection_span = None self.mouse_clicked = None _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.mpl_canvas) # _main_vlayout.addWidget(self.ntb) _main_vlayout.setSpacing(2) _main_vlayout.setContentsMargins(0, 0, 0, 0) self.setSizePolicy(qt_import.QSizePolicy.Expanding, qt_import.QSizePolicy.Expanding) # self.mpl_canvas.axes.grid(True) self.mpl_canvas.axes.grid(color="r") self.mpl_canvas.fig.canvas.mpl_connect("button_press_event", self.button_pressed) self.mpl_canvas.fig.canvas.mpl_connect("button_release_event", self.mouse_released) self.mpl_canvas.fig.canvas.mpl_connect("motion_notify_event", self.motion_notify_event)
def __init__(self, parent=None, name=None, window_flags=0): qt_import.QWidget.__init__(self, parent, qt_import.Qt.WindowFlags(window_flags)) if not name: self.setObjectName("OptimisationParametersWidgetLayout") # Hardware objects ---------------------------------------------------- # Internal variables -------------------------------------------------- # Graphic elements ---------------------------------------------------- self.opt_param_widget = qt_import.load_ui_file( "optimization_parameters_widget_layout.ui") # Layout -------------------------------------------------------------- _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.opt_param_widget) _main_vlayout.setSpacing(0) _main_vlayout.setContentsMargins(0, 0, 0, 0) # Size policies ------------------------------------------------------- # Other --------------------------------------------------------------- self.setAttribute(qt_import.Qt.WA_WState_Polished)
def __init__(self, *args): qt_import.QWidget.__init__(self, *args) self.value_plot = None self.title_label = qt_import.QLabel(self) self.value_widget = qt_import.QWidget(self) self.value_label = qt_import.QLabel(self.value_widget) self.value_label.setAlignment(qt_import.Qt.AlignCenter) self.history_button = qt_import.QPushButton( icons.load_icon("LineGraph"), "", self.value_widget) self.history_button.hide() self.history_button.setFixedWidth(22) self.history_button.setFixedHeight(22) _value_widget_hlayout = qt_import.QHBoxLayout(self.value_widget) _value_widget_hlayout.addWidget(self.value_label) _value_widget_hlayout.addWidget(self.history_button) _value_widget_hlayout.setSpacing(2) _value_widget_hlayout.setContentsMargins(0, 0, 0, 0) self.main_vlayout = qt_import.QVBoxLayout(self) self.main_vlayout.addWidget(self.title_label) self.main_vlayout.addWidget(self.value_widget) self.main_vlayout.setSpacing(1) self.main_vlayout.setContentsMargins(0, 0, 0, 0) self.history_button.clicked.connect(self.open_history_view)
def __init__(self, *args): """Main init""" BaseWidget.__init__(self, *args) # Internal values ----------------------------------------------------- self.graphics_initialized = False self.value_label_list = [] # Properties (name, type, default value, comment)---------------------- self.add_property("maxPlotPoints", "integer", 100, comment="Maximal number of plot points") # Signals ------------------------------------------------------------- # Slots --------------------------------------------------------------- # Graphic elements ---------------------------------------------------- # Layout -------------------------------------------------------------- self.main_vlayout = qt_import.QVBoxLayout(self) self.main_vlayout.setSpacing(1) self.main_vlayout.setContentsMargins(2, 2, 2, 2) # SizePolicies -------------------------------------------------------- # Other --------------------------------------------------------------- self.setToolTip("Main information about the beamline")
def __init__(self, parent, realtime_plot=False): qt_import.QWidget.__init__(self, parent) self.snapshot_gbox = qt_import.QGroupBox("Snapshot", self) self.animation_gbox = qt_import.QGroupBox("Animation", self) self.snapshot_label = qt_import.QLabel(self.snapshot_gbox) self.animation_label = qt_import.QLabel(self.animation_gbox) # Layout -------------------------------------------------------------- _snaphot_gbox_hlayout = qt_import.QHBoxLayout(self.snapshot_gbox) _snaphot_gbox_hlayout.addWidget(self.snapshot_label) _snaphot_gbox_hlayout.setContentsMargins(0, 0, 0, 0) _animation_gbox_hlayout = qt_import.QHBoxLayout(self.animation_gbox) _animation_gbox_hlayout.addWidget(self.animation_label) _animation_gbox_hlayout.setContentsMargins(0, 0, 0, 0) _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.snapshot_gbox) _main_vlayout.addWidget(self.animation_gbox) _main_vlayout.setSpacing(2) _main_vlayout.setContentsMargins(2, 2, 2, 2) _main_vlayout.addStretch(0) self.animation_gbox.setHidden(True)
def __init__(self, parent=None, name=None, fl=0): qt_import.QWidget.__init__(self, parent, qt_import.Qt.WindowFlags(fl)) if not name: self.setObjectName("RadiationDamageModelWidgetLayout") # Hardware objects ---------------------------------------------------- # Internal variables -------------------------------------------------- # Graphic elements ---------------------------------------------------- self.rad_damage_widget = qt_import.load_ui_file( "radiation_damage_model_widget_layout.ui") # Layout -------------------------------------------------------------- _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.rad_damage_widget) _main_vlayout.setSpacing(0) _main_vlayout.setContentsMargins(0, 0, 0, 0) self.setLayout(_main_vlayout) # Size policies ------------------------------------------------------- # Other --------------------------------------------------------------- self.languageChange() self.setAttribute(qt_import.Qt.WA_WState_Polished) colors.set_widget_color(self, colors.GROUP_BOX_GRAY)
def __init__(self, parent, realtime_plot=False): qt_import.QWidget.__init__(self, parent) self.axis_x_array = [] self.axis_y_array = [] self.realtime_plot = realtime_plot self.pymca_graph = Plot(self) self.pymca_graph.showGrid() self.info_label = qt_import.QLabel("", self) self.info_label.setAlignment(qt_import.Qt.AlignRight) _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.pymca_graph) _main_vlayout.addWidget(self.info_label) _main_vlayout.setSpacing(2) _main_vlayout.setContentsMargins(2, 2, 2, 2) self.setSizePolicy(qt_import.QSizePolicy.Expanding, qt_import.QSizePolicy.Expanding) if PYMCA_EXISTS: qt_import.QObject.connect( self.pymca_graph, qt_import.SIGNAL("QtBlissGraphSignal"), self.handle_graph_signal, ) colors.set_widget_color(self, colors.WHITE)
def __init__(self, *args): BaseWidget.__init__(self, *args) # Properties ---------------------------------------------------------- # Signals ------------------------------------------------------------ # Slots --------------------------------------------------------------- # Hardware objects ---------------------------------------------------- # Internal values ----------------------------------------------------- # Graphic elements ---------------------------------------------------- self.main_groupbox = qt_import.QGroupBox("Door interlock", self) self.main_groupbox.setAlignment(qt_import.Qt.AlignCenter) self.state_label = qt_import.QLabel("<b>unknown</b>", self.main_groupbox) colors.set_widget_color(self.state_label, self.STATES["unknown"]) self.state_label.setAlignment(qt_import.Qt.AlignCenter) self.state_label.setFixedHeight(24) self.unlock_door_button = qt_import.QPushButton( icons.load_icon("EnterHutch"), "Unlock", self.main_groupbox) # Layout -------------------------------------------------------------- _main_gbox_vlayout = qt_import.QVBoxLayout(self.main_groupbox) _main_gbox_vlayout.addWidget(self.state_label) _main_gbox_vlayout.addWidget(self.unlock_door_button) _main_gbox_vlayout.setSpacing(2) _main_gbox_vlayout.setContentsMargins(4, 4, 4, 4) _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.main_groupbox) _main_vlayout.setSpacing(0) _main_vlayout.setContentsMargins(0, 0, 0, 0) # SizePolicies -------------------------------------------------------- # Qt signal/slot connections ------------------------------------------ self.unlock_door_button.clicked.connect(self.unlock_doors) # Other --------------------------------------------------------------- self.state_label.setToolTip("Shows the current door state") self.unlock_door_button.setToolTip("Unlocks the doors") self.connect(HWR.beamline.hutch_interlock, "valueChanged", self.value_changed)
def __init__(self, parent=None, name=None, flags=0): qt_import.QWidget.__init__(self, parent, qt_import.Qt.WindowFlags(flags)) if not name: self.setObjectName("RadiationDamageWidgetLayout") # Hardware objects ---------------------------------------------------- # Internal variables -------------------------------------------------- # Graphic elements ---------------------------------------------------- self.rad_damage_cbx = qt_import.QCheckBox(self) _label_widget = qt_import.QWidget(self) self.burn_osc_start_label = qt_import.QLabel(_label_widget) self.burn_osc_start_ledit = qt_import.QLineEdit(_label_widget) self.burn_osc_start_ledit.setMinimumSize(50, 0) self.burn_osc_start_ledit.setMaximumSize(50, 32767) _value_widget = qt_import.QWidget(self) self.burn_osc_interval_label = qt_import.QLabel(_value_widget) self.burn_osc_interval_ledit = qt_import.QLineEdit(_value_widget) self.burn_osc_interval_ledit.setMinimumSize(50, 0) self.burn_osc_interval_ledit.setMaximumSize(50, 32767) # Layout -------------------------------------------------------------- _label_widget_hlayout = qt_import.QHBoxLayout(self) _label_widget_hlayout.addWidget(self.burn_osc_start_label) _label_widget_hlayout.addWidget(self.burn_osc_start_ledit) _label_widget_hlayout.addStretch(0) _label_widget_hlayout.setSpacing(0) _label_widget_hlayout.setContentsMargins(0, 0, 0, 0) _label_widget.setLayout(_label_widget_hlayout) _value_hlayout = qt_import.QHBoxLayout(self) _value_hlayout.addWidget(self.burn_osc_interval_label) _value_hlayout.addWidget(self.burn_osc_interval_ledit) _value_hlayout.addStretch(0) _value_hlayout.setSpacing(0) _value_hlayout.setContentsMargins(0, 0, 0, 0) _value_widget.setLayout(_value_hlayout) _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.rad_damage_cbx) _main_vlayout.addWidget(_label_widget) _main_vlayout.addWidget(_value_widget) _main_vlayout.addStretch(0) _main_vlayout.setSpacing(0) _main_vlayout.setContentsMargins(0, 0, 0, 0) self.setLayout(_main_vlayout) # SizePolicies -------------------------------------------------------- # Qt signal/slot connections ------------------------------------------ # Other --------------------------------------------------------------- self.languageChange()
def _initialize_graphics(self): # Graphic elements ---------------------------------------------------- self._workflow_type_widget = qt_import.QGroupBox("Workflow type", self) self._workflow_cbox = qt_import.QComboBox(self._workflow_type_widget) self._gphl_acq_widget = qt_import.QGroupBox("Acquisition", self) self._gphl_acq_param_widget = GphlAcquisitionWidget( self._gphl_acq_widget, "gphl_acquisition_parameter_widget") self._gphl_diffractcal_widget = GphlDiffractcalWidget( self._gphl_acq_widget, "gphl_diffractcal_widget") self._data_path_widget = DataPathWidget(self, "create_dc_path_widget", layout="vertical") data_path_layout = self._data_path_widget.data_path_layout data_path_layout.file_name_label.hide() data_path_layout.file_name_value_label.hide() data_path_layout.run_number_label.hide() data_path_layout.run_number_ledit.hide() data_path_layout.folder_ledit.setReadOnly(True) # Layout -------------------------------------------------------------- _workflow_type_vlayout = qt_import.QVBoxLayout( self._workflow_type_widget) _workflow_type_vlayout.addWidget(self._workflow_cbox) _gphl_acq_vlayout = qt_import.QVBoxLayout(self._gphl_acq_widget) _gphl_acq_vlayout.addWidget(self._gphl_acq_param_widget) _gphl_acq_vlayout.addWidget(self._gphl_diffractcal_widget) _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self._workflow_type_widget) _main_vlayout.addWidget(self._data_path_widget) _main_vlayout.addWidget(self._gphl_acq_widget) _main_vlayout.addStretch(0) _main_vlayout.setSpacing(2) _main_vlayout.setContentsMargins(0, 0, 0, 0) # SizePolicies -------------------------------------------------------- # Qt signal/slot connections ------------------------------------------ self._workflow_cbox.currentIndexChanged.connect(self.workflow_selected) # set up popup data dialog self.gphl_data_dialog = GphlDataDialog(self, "GPhL Workflow Data") self.gphl_data_dialog.setModal(True) self.gphl_data_dialog.continueClickedSignal.connect(self.data_acquired)
def __init__(self, parent=None, name=None, fl=0): CreateTaskBase.__init__( self, parent, name, qt_import.Qt.WindowFlags(fl), "Standard" ) if not name: self.setObjectName("create_discrete_widget") # Internal variables -------------------------------------------------- self.init_models() # Graphic elements ---------------------------------------------------- self._acq_widget = AcquisitionWidget( self, "acquisition_widget", layout="vertical", acq_params=self._acquisition_parameters, path_template=self._path_template, ) self._data_path_widget = DataPathWidget( self, "create_dc_path_widget", data_model=self._path_template, layout="vertical", ) self._processing_widget = ProcessingWidget( self, data_model=self._processing_parameters ) # Layout -------------------------------------------------------------- _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self._acq_widget) _main_vlayout.addWidget(self._data_path_widget) _main_vlayout.addWidget(self._processing_widget) _main_vlayout.addStretch(0) _main_vlayout.setSpacing(6) _main_vlayout.setContentsMargins(2, 2, 2, 2) # SizePolicies -------------------------------------------------------- # Qt signal/slot connections ------------------------------------------ self._acq_widget.acqParametersChangedSignal.connect(self.acq_parameters_changed) self._data_path_widget.pathTemplateChangedSignal.connect( self.path_template_changed ) self._acq_widget.madEnergySelectedSignal.connect(self.mad_energy_selected) self._processing_widget.enableProcessingSignal.connect( self._run_processing_toggled ) # Other --------------------------------------------------------------- self._processing_widget.processing_widget.run_online_processing_cbox.\ setChecked(HWR.beamline.run_online_processing)
def __init__(self, parent, email_addresses, tab_label): qt_import.QWidget.__init__(self, parent) # Hardware objects ---------------------------------------------------- # Internal values ----------------------------------------------------- self.tab_label = tab_label self.unread_messages = 0 self.email_addresses = email_addresses self.from_email_address = None msg = [ "Feel free to report any comment about this software;", " an email will be sent to the people concerned.", "Do not forget to put your name or email address if you require an answer.", ] # Properties ---------------------------------------------------------- # Signals ------------------------------------------------------------ # Slots --------------------------------------------------------------- # Graphic elements ---------------------------------------------------- __label = qt_import.QLabel("<b>%s</b>" % "\n".join(msg), self) __msg_label = qt_import.QLabel("Message:", self) self.submit_button = qt_import.QToolButton(self) self.message_textedit = qt_import.QTextEdit(self) # Layout -------------------------------------------------------------- _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(__label) _main_vlayout.addWidget(__msg_label) _main_vlayout.addWidget(self.message_textedit) _main_vlayout.addWidget(self.submit_button) _main_vlayout.setSpacing(0) _main_vlayout.setContentsMargins(2, 2, 2, 2) # SizePolicies -------------------------------------------------------- # Qt signal/slot connections ------------------------------------------ self.submit_button.clicked.connect(self.submit_message) # Other --------------------------------------------------------------- self.message_textedit.setToolTip( "Write here your comments or feedback") self.submit_button.setText("Submit") # if hasattr(self.submit_button, "setUsesTextLabel"): # self.submit_button.setUsesTextLabel(True) # elif hasattr(self.submit_button, "setToolButtonStyle"): # self.submit_button.setToolButtonStyle(Qt.ToolButtonTextUnderIcon) self.submit_button.setToolButtonStyle(True) self.submit_button.setIcon(icons.load_icon("Envelope")) self.submit_button.setToolTip("Click here to send your feedback " + "to the authors of this software")
def __init__(self, parent=None, name=None, fl=0, data_model=None): qt_import.QWidget.__init__(self, parent, qt_import.Qt.WindowFlags(fl)) if name is not None: self.setObjectName(name) main_gbox = qt_import.QGroupBox("Comments", self) self.comment_textbox = qt_import.QTextEdit(main_gbox) main_gbox_vbox = qt_import.QVBoxLayout(main_gbox) main_gbox_vbox.addWidget(self.comment_textbox) main_gbox_vbox.setSpacing(0) main_gbox_vbox.setContentsMargins(0, 0, 0, 0) self.main_layout = qt_import.QVBoxLayout(self) self.main_layout.addWidget(main_gbox) self.main_layout.setSpacing(0) self.main_layout.setContentsMargins(0, 0, 0, 0)
def __init__(self, *args): BaseWidget.__init__(self, *args) # Internal values ----------------------------------------------------- # Properties ---------------------------------------------------------- self.add_property("confirmPhaseChange", "boolean", False) # Properties to initialize hardware objects -------------------------- # Signals ------------------------------------------------------------ # Slots --------------------------------------------------------------- # Graphic elements ---------------------------------------------------- self.group_box = qt_import.QGroupBox("Phase", self) self.phase_combobox = qt_import.QComboBox(self.group_box) # Layout -------------------------------------------------------------- _group_box_vlayout = qt_import.QVBoxLayout(self.group_box) _group_box_vlayout.addWidget(self.phase_combobox) _group_box_vlayout.addStretch() _group_box_vlayout.setSpacing(2) _group_box_vlayout.setContentsMargins(0, 0, 0, 0) _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.group_box) _main_vlayout.setSpacing(0) _main_vlayout.setContentsMargins(2, 2, 2, 2) # SizePolicies -------------------------------------------------------- # Qt signal/slot connections ------------------------------------------ self.phase_combobox.activated.connect(self.change_phase) # Other --------------------------------------------------------------- colors.set_widget_color(self.phase_combobox, colors.LIGHT_GREEN, qt_import.QPalette.Button) self.init_phase_list() self.connect(HWR.beamline.diffractometer, "minidiffPhaseChanged", self.phase_changed)
def __init__(self, *args): BaseWidget.__init__(self, *args) # Hardware objects ---------------------------------------------------- # Internal values ----------------------------------------------------- # Properties ---------------------------------------------------------- self.add_property("formatString", "formatString", "#.#") # Signals ------------------------------------------------------------ # Slots --------------------------------------------------------------- # Graphic elements ---------------------------------------------------- self.main_gbox = qt_import.QGroupBox("Beam size", self) hor_label = qt_import.QLabel("Horizontal:", self.main_gbox) self.hor_size_ledit = qt_import.QLineEdit(self.main_gbox) self.hor_size_ledit.setMaximumWidth(120) self.hor_size_ledit.setEnabled(False) self.hor_size_ledit.setAlignment(qt_import.Qt.AlignRight) ver_label = qt_import.QLabel("Vertical:", self.main_gbox) self.ver_size_ledit = qt_import.QLineEdit(self.main_gbox) self.ver_size_ledit.setMaximumWidth(120) self.ver_size_ledit.setEnabled(False) self.ver_size_ledit.setAlignment(qt_import.Qt.AlignRight) bold_font = self.hor_size_ledit.font() bold_font.setBold(True) self.hor_size_ledit.setFont(bold_font) self.ver_size_ledit.setFont(bold_font) # Layout -------------------------------------------------------------- _main_gbox_gridlayout = qt_import.QGridLayout(self.main_gbox) _main_gbox_gridlayout.addWidget(hor_label, 0, 0) _main_gbox_gridlayout.addWidget(self.hor_size_ledit, 0, 1) _main_gbox_gridlayout.addWidget(ver_label, 1, 0) _main_gbox_gridlayout.addWidget(self.ver_size_ledit, 1, 1) _main_gbox_gridlayout.setRowStretch(2, 10) _main_gbox_gridlayout.setSpacing(2) _main_gbox_gridlayout.setContentsMargins(0, 0, 0, 0) _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.main_gbox) _main_vlayout.setSpacing(0) _main_vlayout.setContentsMargins(2, 2, 2, 2) # SizePolicies -------------------------------------------------------- # Qt signal/slot connections ------------------------------------------ # Other --------------------------------------------------------------- self.connect(HWR.beamline.beam, "beamInfoChanged", self.beam_info_changed)
def __init__(self, *args): BaseWidget.__init__(self, *args) # Hardware objects ---------------------------------------------------- # Internal values ----------------------------------------------------- self.num_cols = None self.num_rows = None self.num_drops = None self.current_location = None self.plate_content = None self.xtal_map = None # Properties ---------------------------------------------------------- self.add_property("icons", "string", "") # Signals ------------------------------------------------------------- # Slots --------------------------------------------------------------- # Graphic elements ---------------------------------------------------- self.plate_navigator_widget = PlateNavigatorWidget(self) self.crims_widget = qt_import.load_ui_file( "plate_crims_widget_layout.ui") # Layout -------------------------------------------------------------- _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.plate_navigator_widget) _main_vlayout.addWidget(self.crims_widget) _main_vlayout.setSpacing(0) _main_vlayout.setContentsMargins(0, 0, 0, 0) # Qt signal/slot connections ------------------------------------------ self.crims_widget.search_button.clicked.connect( self.search_button_clicked) self.crims_widget.move_button.clicked.connect( self.move_to_xtal_clicked) self.crims_widget.abort_button.clicked.connect(self.abort_clicked) self.crims_widget.xtal_treewidget.currentItemChanged.connect( self.xtal_treewidget_current_item_changed) # Other --------------------------------------------------------------- self.xtal_image_graphicsscene = qt_import.QGraphicsScene(self) self.crims_widget.xtal_image_graphicsview.setScene( self.xtal_image_graphicsscene) self.xtal_image_pixmap = qt_import.QPixmap() self.xtal_image_graphics_pixmap = qt_import.QGraphicsPixmapItem() self.xtal_image_graphicsscene.addItem(self.xtal_image_graphics_pixmap) if HWR.beamline.plate_manipulator is not None: self.connect( HWR.beamline.plate_manipulator, SampleChanger.INFO_CHANGED_EVENT, self.plate_navigator_widget.refresh_plate_location, )
def __init__(self, *args): BaseWidget.__init__(self, *args) self.dc_group_widget = DCGroupWidget(self) _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.dc_group_widget) # Qt-Slots self.define_slot("populate_dc_group_widget", ({}))
def __init__(self, *args): BaseWidget.__init__(self, *args) # Hardware objects ---------------------------------------------------- # Internal variables -------------------------------------------------- # Properties ---------------------------------------------------------- self.add_property("formatString", "formatString", "###.##") # Signals ------------------------------------------------------------ # Slots --------------------------------------------------------------- # Graphic elements ---------------------------------------------------- self.group_box = qt_import.QGroupBox("Transmission", self) current_label = qt_import.QLabel("Current:", self.group_box) current_label.setFixedWidth(75) self.transmission_ledit = qt_import.QLineEdit(self.group_box) self.transmission_ledit.setReadOnly(True) set_to_label = qt_import.QLabel("Set to:", self.group_box) self.new_value_ledit = qt_import.QLineEdit(self.group_box) # Layout -------------------------------------------------------------- _group_box_gridlayout = qt_import.QGridLayout(self.group_box) _group_box_gridlayout.addWidget(current_label, 0, 0) _group_box_gridlayout.addWidget(self.transmission_ledit, 0, 1) _group_box_gridlayout.addWidget(set_to_label, 1, 0) _group_box_gridlayout.addWidget(self.new_value_ledit, 1, 1) _group_box_gridlayout.setSpacing(0) _group_box_gridlayout.setContentsMargins(1, 1, 1, 1) _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.setSpacing(0) _main_vlayout.setContentsMargins(0, 0, 2, 2) _main_vlayout.addWidget(self.group_box) # SizePolicies -------------------------------------------------------- # Other --------------------------------------------------------------- self._update_ledit_color(colors.LIGHT_GREEN) self.validator = qt_import.QDoubleValidator(0, 100, 2, self.new_value_ledit) self.new_value_ledit.setToolTip("Transmission limits 0 : 100 %") self.instance_synchronize("transmission_ledit", "new_value_ledit") if HWR.beamline.transmission is not None: # Qt signal/slot connections ------------------------------------------ self.new_value_ledit.returnPressed.connect(self.current_value_changed) self.new_value_ledit.textChanged.connect(self.input_field_changed) self.connect(HWR.beamline.transmission, "stateChanged", self._state_changed) self.connect(HWR.beamline.transmission, "valueChanged", self._value_changed) self.connected() else: self.disconnected()
def __init__(self, *args): """TurretBrick constructor Arguments: :params args: """ super(TurretBrick, self).__init__(*args) # Hardware objects ---------------------------------------------------- self.multiple_pos_hwobj = None self.turret_hwobj = None # hardware object # Graphic elements----------------------------------------------------- self.frame = qt_import.QGroupBox() self.frame_layout = qt_import.QVBoxLayout() self.custom_dial = DialWithTags(dict()) # self.dial.setMinimum(1) # self.dial.setMaximum(5) # self.dial.setSingleStep(1) # self.dial.setNotchesVisible(True) # Layout -------------------------------------------------------------- self.frame_layout.addWidget(self.custom_dial) self.frame.setLayout(self.frame_layout) self.main_layout = qt_import.QVBoxLayout() self.main_layout.addWidget(self.frame, 0, qt_import.Qt.AlignCenter) self.setLayout(self.main_layout) # Qt signal/slot connections ----------------------------------------- self.custom_dial.valueChanged.connect(self.value_changed) # define properties self.add_property("mnemonic", "string", "") # member variables -------------------------------------------------------------- self.zoom_position_dict = {}
def __init__(self, *args): BaseWidget.__init__(self, *args) self.define_slot("populate_xrf_widget", ({})) self.xrf_spectrum_widget = XRFSpectrumParametersWidget(self) _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.xrf_spectrum_widget) _main_vlayout.setSpacing(0) _main_vlayout.setContentsMargins(0, 0, 0, 0)
def __init__(self, *args): BaseWidget.__init__(self, *args) # Layout self.energy_scan_widget = EnergyScanParametersWidget(self) _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.energy_scan_widget) # Qt-Slots self.define_slot("populate_parameter_widget", ({}))
def __init__(self, *args): BaseWidget.__init__(self, *args) # Hardware objects ---------------------------------------------------- self.beam_focusing_hwobj = None # Internal values ----------------------------------------------------- # Properties ---------------------------------------------------------- self.add_property("mnemonic", "string", "") # Signals ------------------------------------------------------------ # Slots --------------------------------------------------------------- # Graphic elements ---------------------------------------------------- _main_groupbox = qt_import.QGroupBox("Beamline mode", self) self.beam_focusing_combo = qt_import.QComboBox(_main_groupbox) self.beam_focusing_combo.setMinimumWidth(100) # Layout -------------------------------------------------------------- _main_groupbox_vlayout = qt_import.QVBoxLayout(_main_groupbox) _main_groupbox_vlayout.addWidget(self.beam_focusing_combo) _main_groupbox_vlayout.addStretch() _main_groupbox_vlayout.setSpacing(2) _main_groupbox_vlayout.setContentsMargins(2, 2, 2, 2) _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(_main_groupbox) _main_vlayout.setSpacing(0) _main_vlayout.setContentsMargins(2, 2, 2, 2) # Qt signal/slot connections ------------------------------------------ self.beam_focusing_combo.activated.connect(self.change_focus_mode) # SizePolicies -------------------------------------------------------- # Other --------------------------------------------------------------- colors.set_widget_color(self.beam_focusing_combo, colors.LIGHT_GREEN, qt_import.QPalette.Button)