def test_pl_send_new_event_list(self): self.assertRaises(pe.WrongType, self.basePlugin.pl_send_new_event_list, None) self.assertRaises(pe.WrongLength, self.basePlugin.pl_send_new_event_list, []) events = [DEvent('1'), DEvent('2'), DEvent('3')] self.assertRaises(AttributeError, self.basePlugin.pl_send_new_event_list, events)
def cb_initialize_plugin(self): self.event_change = DEvent('Change') self.config = self.pl_get_current_config_ref() self.pl_send_new_event_list([self.event_change]) self.pl_set_widget_for_internal_usage(self.create_widget()) return True
def pl_create_DEvent(self, event_name): """ Creates a DEvent for use in a PaPI Plugin :param event_name: Name of the event :type event_name: str :return: DEvent object or None in case of error """ if isinstance(event_name, str): event = DEvent(event_name) return event return None
def test_parameterChanges(self): self.assertRaises(pe.WrongType, self.basePlugin.pl_emit_event, None, None) self.assertRaises(AttributeError, self.basePlugin._send_parameter_change, None, "DBlock") self.assertRaises(AttributeError, self.basePlugin.pl_emit_event, None, "DEvent") self.assertRaises(AttributeError, self.basePlugin._send_parameter_change, None, DBlock("Block")) self.assertRaises(AttributeError, self.basePlugin.pl_emit_event, None, DEvent("Event"))
def cb_initialize_plugin(self): self.event_choice = DEvent('Choice') self.pl_send_new_event_list([self.event_choice]) self.config = self.pl_get_current_config_ref() para_list = [] self.para_texts = DParameter( 'texts', default=self.config['option_texts']['value']) self.para_values = DParameter( 'values', default=self.config['option_values']['value']) para_list.append(self.para_texts) para_list.append(self.para_values) self.pl_send_new_parameter_list(para_list) self.central_widget = QWidget() self.option_texts = [] self.option_values = [] self.pre_selected_index = None if isinstance(self.config['selected_index']['value'], str): if self.config['selected_index']['value'] != '': self.pre_selected_index = int( self.config['selected_index']['value']) self.pl_set_widget_for_internal_usage(self.central_widget) self.layout = QVBoxLayout(self.central_widget) self.buttons = [] self.set_option_texts(self.config['option_texts']['value']) self.set_option_values(self.config['option_values']['value']) self.update_widget() return True
def cb_initialize_plugin(self): self.config = self.pl_get_current_config_ref() #super(Button, self).start_init(config) self.event_click = DEvent('Click') self.name = self.config['name']['value'] self.cur_value = 0 self.value_up = self.config['state1']['value'] self.value_down = self.config['state2']['value'] self.text_up = (self.config['state1_text']['value']) self.text_down = (self.config['state2_text']['value']) self.button_state = 'up' self.pl_send_new_event_list([self.event_click]) self.button = self.create_widget() self.pl_set_widget_for_internal_usage(self.button) self.button.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.button.customContextMenuRequested.connect(self.show_context_menu) return True
def cb_initialize_plugin(self): # Creates Slider Change Event to connect to Parameters and send it self.event_change = DEvent('Change') self.pl_send_new_event_list([self.event_change]) # get items of cfg for fist start of the Slider and cast to float self.value_max = self.pl_get_config_element('upper_bound', castHandler=float) self.value_min = self.pl_get_config_element('lower_bound', castHandler=float) self.tick_count = self.pl_get_config_element('step_count', castHandler=float) self.init_value = self.pl_get_config_element('value_init', castHandler=float) self.vertical = self.pl_get_config_element('vertical', castHandler=int) if self.vertical is not None: self.vertical = self.vertical == 1 else: self.vertical = False # Create Parameter list for change slider parameter live and send it self.para_value_max = DParameter('MaxValue', default=self.value_max, Regex=pc.REGEX_SIGNED_FLOAT_OR_INT) self.para_value_min = DParameter('MinValue', default=self.value_min, Regex=pc.REGEX_SIGNED_FLOAT_OR_INT) self.para_tick_count = DParameter('StepCount', default=self.tick_count, Regex=pc.REGEX_SINGLE_INT) self.pl_send_new_parameter_list( [self.para_tick_count, self.para_value_max, self.para_value_min]) # Set Slider widget for use in PaPI self.pl_set_widget_for_internal_usage(self.create_widget()) # return successful initialization return True
def cb_initialize_plugin(self): # --------------------------- # Read configuration # --------------------------- self.config = self.pl_get_current_config_ref() self.signal_next_state = self.config['signal_next_state']['value'] self.readOnly = self.config['readonly']['value'] == '1' # --------------------------- # Create Widget # --------------------------- self.widget = self.create_widget() self.create_actions() self.pl_set_widget_for_internal_usage(self.widget) self.current_state = None # --------------------------- # Create events # --------------------------- self.event_new_config = DEvent('StimulatorConfiguration') self.event_heartbeat = DEvent('Heartbeat') self.event_maxima_slider = DEvent('MaximaSlider') self.event_control_stim = DEvent('ControlStim') self.event_start = DEvent('Start') self.event_next_state = DEvent('NextState') self.pl_send_new_event_list([ self.event_new_config, self.event_heartbeat, self.event_maxima_slider, self.event_control_stim, self.event_start, self.event_next_state ]) # --------------------------- # Create Parameters # --------------------------- # --------------------------- # Create default structure # --------------------------- self.tableWidget.setColumnCount(1) self.tableWidget.setRowCount(1) self.tableWidget.setCellWidget(0, 0, QtWidgets.QLabel()) self.tableWidget.setSelectionMode( QtWidgets.QAbstractItemView.NoSelection) self.tableWidget.verticalHeader().hide() self.tableWidget.horizontalHeader().hide() self.gridLayout = QtWidgets.QGridLayout() self.gridWidget.setLayout(self.gridLayout) self.tableRowCount = 0 self.tableColCount = 0 self.button_group = QtWidgets.QButtonGroup() # ----------------------- # Custom configuration # ----------------------- self.pal_cell_selected = QtGui.QPalette() self.pal_cell_selected.setColor(QtGui.QPalette.Text, QtGui.QColor(0, 0, 255)) #self.pal_cell_selected.setColor(QtGui.QPalette.Window, QtGui.QColor(0, 0, 100)) #self.pal_cell_selected.setColor(QtGui.QPalette.Base, QtGui.QColor(0, 0, 100)) #self.pal_cell_selected.setColor(QtGui.QPalette.Button, QtGui.QColor(0, 0, 100)) # ----------------------- # Load configuration # ----------------------- filename = self.config['config']['value'] if os.path.isfile(filename): self.load_config(filename) # -------------------- # Create timer for heartbeat # -------------------- self.timer = QtCore.QTimer() self.timer.timeout.connect(self.timeout_send_heartbeat) self.timer.start(1000) self.heartbeat = 0 # --------------------- # General variables # --------------------- self.last_next_state_nr = None return True