def __init__(self, *args): BaseWidget.__init__(self, *args) # Hardware objects ---------------------------------------------------- self.motor_hwobj = None # Internal values ----------------------------------------------------- self.positions = None # Properties ---------------------------------------------------------- self.add_property("label", "string", "") self.add_property("mnemonic", "string", "") self.add_property("icons", "string", "") self.add_property("showMoveButtons", "boolean", True) # Signals ------------------------------------------------------------- # Slots --------------------------------------------------------------- self.define_slot("setEnabled", ()) # Graphic elements ---------------------------------------------------- _main_gbox = qt_import.QGroupBox(self) self.label = qt_import.QLabel("motor:", _main_gbox) self.positions_combo = qt_import.QComboBox(self) self.previous_position_button = qt_import.QPushButton(_main_gbox) self.next_position_button = qt_import.QPushButton(_main_gbox) # Layout -------------------------------------------------------------- _main_gbox_hlayout = qt_import.QHBoxLayout(_main_gbox) _main_gbox_hlayout.addWidget(self.label) _main_gbox_hlayout.addWidget(self.positions_combo) _main_gbox_hlayout.addWidget(self.previous_position_button) _main_gbox_hlayout.addWidget(self.next_position_button) _main_gbox_hlayout.setSpacing(2) _main_gbox_hlayout.setContentsMargins(2, 2, 2, 2) _main_hlayout = qt_import.QHBoxLayout(self) _main_hlayout.addWidget(_main_gbox) _main_hlayout.setSpacing(0) _main_hlayout.setContentsMargins(0, 0, 0, 0) # Size Policy --------------------------------------------------------- # Qt signal/slot connections ------------------------------------------ self.positions_combo.activated.connect(self.position_selected) self.previous_position_button.clicked.connect( self.select_previous_position) self.next_position_button.clicked.connect(self.select_next_position) # Other --------------------------------------------------------------- self.positions_combo.setFixedHeight(27) self.positions_combo.setToolTip( "Moves the motor to a predefined position") self.previous_position_button.setIcon(icons.load_icon("Minus2")) self.previous_position_button.setFixedSize(27, 27) self.next_position_button.setIcon(icons.load_icon("Plus2")) self.next_position_button.setFixedSize(27, 27)
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, parent, row, col, color): qt_import.QWidget.__init__(self, parent) self.col = col self.row = row self.parent = parent self.change_color_button = qt_import.QPushButton("Color...", parent) self.reset_color_button = qt_import.QPushButton("reset", parent) main_layout = qt_import.QHBoxLayout(self) main_layout.addWidget(self.change_color_button) main_layout.addWidget(self.reset_color_button) main_layout.setSpacing(0) main_layout.setContentsMargins(0, 0, 0, 0) self.change_color_button.clicked.connect(self.change_color_clicked) self.reset_color_button.clicked.connect(self.reset_color_clicked) self.set_color(color)
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, *args): BaseWidget.__init__(self, *args) # Hardware objects ---------------------------------------------------- self.exporter_client_hwobj = None # Internal variables -------------------------------------------------- # Properties ---------------------------------------------------------- self.add_property("mnemonic", "string", "") # Signals ------------------------------------------------------------ # Slots --------------------------------------------------------------- # Graphic elements ---------------------------------------------------- self.info_widget = qt_import.QWidget(self) self.info_address_ledit = qt_import.QLineEdit(self.info_widget) self.info_refresh_button = qt_import.QPushButton( "Refresh", self.info_widget) self.method_table = qt_import.QTableWidget(self) self.property_table = qt_import.QTableWidget(self) # Layout -------------------------------------------------------------- _info_widget_hlayout = qt_import.QHBoxLayout(self.info_widget) _info_widget_hlayout.addWidget(self.info_address_ledit) _info_widget_hlayout.addWidget(self.info_refresh_button) _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.info_widget) _main_vlayout.addWidget(self.method_table) _main_vlayout.addWidget(self.property_table) _main_vlayout.setSpacing(2) _main_vlayout.setContentsMargins(2, 2, 2, 2) # Qt signal/slot connections ------------------------------------------ # Other --------------------------------------------------------------- self.method_table.setColumnCount(2) self.method_table.setHorizontalHeaderLabels( ["Type", "Method (Parameters)"]) self.property_table.setColumnCount(4) self.property_table.setHorizontalHeaderLabels( ["Type", "Property", "Access", "Value"]) self.setFixedWidth(600)
def __init__(self, parent, row, col, filename, file_filter): qt_import.QWidget.__init__(self) self.file_filter = file_filter self.parent = parent self.col = col self.row = row self.cmdBrowse = qt_import.QPushButton("Browse", self.parent.viewport()) main_layout = qt_import.QHBoxLayout() main_layout.addWidget(self.cmdBrowse) main_layout.setSpacing(0) main_layout.setContentsMargins(0, 0, 0, 0) self.setLayout(main_layout) self.cmdBrowse.clicked.connect(self.browse_clicked) self.set_filename(filename)
def __init__(self, parent, options): qt_import.QWidget.__init__(self, parent) # do not allow qt to stretch us vertically policy = self.sizePolicy() policy.setVerticalPolicy(qt_import.QSizePolicy.Fixed) self.setSizePolicy(policy) qt_import.QHBoxLayout(self) self.__name = options["variableName"] self.filepath = qt_import.QLineEdit(self) self.filepath.setAlignment(qt_import.Qt.AlignLeft) if "defaultValue" in options: self.filepath.setText(options["defaultValue"]) self.open_dialog_btn = qt_import.QPushButton("...", self) self.open_dialog_btn.clicked.connect(self.open_file_dialog) self.layout().addWidget(self.filepath) self.layout().addWidget(self.open_dialog_btn)
def __init__(self, *args): BaseWidget.__init__(self, *args) # Hardware objects ---------------------------------------------------- self.beamline_test_hwobj = None self.unittest_hwobj = None # Internal variables -------------------------------------------------- self.available_tests = None self.com_device_list = None # Properties ---------------------------------------------------------- self.add_property("mnemonic", "string", "") self.add_property("hwobj_unittest", "string", "") # Signals ------------------------------------------------------------ # Slots --------------------------------------------------------------- # Graphic elements ---------------------------------------------------- self.beamline_test_widget = qt_import.load_ui_file( "beamline_test_widget_layout.ui" ) self.test_toolbox = self.beamline_test_widget.test_toolbox self.test_queue_page = self.beamline_test_widget.queue_toolbox_page self.test_com_page = self.beamline_test_widget.com_toolbox_page self.test_focus_page = self.beamline_test_widget.focus_toolbox_page self.test_ppu_page = self.beamline_test_widget.ppu_toolbox_page self.com_device_table = self.beamline_test_widget.comm_device_table # self.current_test_listwidget = self.beamline_test_widget.current_test_listbox self.available_tests_listwidget = ( self.beamline_test_widget.available_tests_listwidget ) _web_view_widget = qt_import.QWidget(self) _load_last_test_button = qt_import.QPushButton( "View last results", _web_view_widget ) self.test_result_browser = WebViewWidget(_web_view_widget) # Layout -------------------------------------------------------------- _web_view_widget_vlayout = qt_import.QVBoxLayout(_web_view_widget) _web_view_widget_vlayout.addWidget(_load_last_test_button) _web_view_widget_vlayout.addWidget(self.test_result_browser) _web_view_widget_vlayout.setSpacing(2) _web_view_widget_vlayout.setContentsMargins(0, 0, 0, 0) _main_vlayout = qt_import.QHBoxLayout(self) _main_vlayout.addWidget(self.beamline_test_widget) _main_vlayout.addWidget(_web_view_widget) _main_vlayout.setSpacing(2) _main_vlayout.setContentsMargins(2, 2, 2, 2) # Qt signal/slot connections ------------------------------------------ self.beamline_test_widget.execute_all_button.clicked.connect( self.execute_all_tests_clicked ) self.beamline_test_widget.test_button.clicked.connect(self.execute_test_clicked) self.beamline_test_widget.focus_modes_combo.activated.connect( self.set_focus_mode_pressed ) self.available_tests_listwidget.itemDoubleClicked.connect( self.available_tests_double_clicked ) _load_last_test_button.clicked.connect(self.load_latest_test_results) self.beamline_test_widget.ppu_restart_button.clicked.connect(self.restart_ppu) # Other --------------------------------------------------------------- # self.beamline_test_widget.setFixedWidth(600) self.test_result_browser.setSizePolicy( qt_import.QSizePolicy.Expanding, qt_import.QSizePolicy.Expanding ) _load_last_test_button.setFixedWidth(200) self.test_toolbox.setCurrentWidget(self.test_queue_page) self.beamline_test_widget.setFixedWidth(700) self.test_result_browser.navigation_bar.setHidden(True)