Index: simulator/plugins/alarms/loader.py =================================================================== diff -u -rd04cee8574dd42b7299fbfe0f212b2b0995be799 -r6f1082f52141e89d2cc6ec99688430897bfb8469 --- simulator/plugins/alarms/loader.py (.../loader.py) (revision d04cee8574dd42b7299fbfe0f212b2b0995be799) +++ simulator/plugins/alarms/loader.py (.../loader.py) (revision 6f1082f52141e89d2cc6ec99688430897bfb8469) @@ -19,6 +19,7 @@ btnTrigger: QtWidgets.QPushButton btnClear: QtWidgets.QPushButton + btnCondition: QtWidgets.QPushButton spnAlarmID: QtWidgets.QSpinBox tblStatusIDs: QtWidgets.QTableWidget @@ -89,6 +90,7 @@ self.btnTrigger = self.find_button('btnTrigger') self.btnClear = self.find_button('btnClear') + self.btnCondition = self.find_button('btnCondition') self.spnAlarmID = self.find_spinbox('spnAlarmID') self.tblTriggeredIDs = self.find_table_widget('tblTriggeredIDs') @@ -113,6 +115,7 @@ """ self.btnTrigger.clicked.connect(self.do_trigger) self.btnClear.clicked.connect(self.do_clear) + self.btnCondition.clicked.connect(self.do_clear_condition) self.tblTriggeredIDs.itemClicked.connect(self.on_trigger_ids_item_clicked) self.btnSend.clicked.connect(self.do_send) @@ -208,16 +211,22 @@ the slot for clear button :return: none """ - items = self.tblTriggeredIDs.selectedItems() - if len(items): - item: QtWidgets.QTableWidgetItem = items[0] - row = item.row() - model = self.tblTriggeredIDs.model() - alarm_id = model.data(model.index(row, self.eColID)) - denaliMessages.setAlarmCleared(alarm_id) - self.tblTriggeredIDs.removeRow(row) + [alarm_id, row] = self.alarm_id() + denaliMessages.setAlarmCleared(alarm_id) + self.tblTriggeredIDs.removeRow(row) @Slot() + def do_clear_condition(self): + """ + the slot for condition button + :return: none + """ + [alarm_id, row] = self.alarm_id() + denaliMessages.setAlarmClearedCondition(alarm_id) + self.tblTriggeredIDs.item(row, self.eColID).setBackground(self.colors[AlarmPriority.ALARM_NONE]) + self.tblTriggeredIDs.item(row, self.eColID).setSelected(False) + + @Slot() def do_mute(self, value): """ the slot for mute button @@ -244,6 +253,7 @@ """ selected = item.isSelected() self.btnClear.setEnabled(selected) + self.btnCondition.setEnabled(selected) def __populate_status_ids_columns(self): """ @@ -303,3 +313,19 @@ model = self.tblTriggeredIDs.model() model.setData(model.index(row, self.eColTime), now) model.setData(model.index(row, self.eColID), alarm_id) + self.tblTriggeredIDs.item(row, self.eColID).setBackground(self.colors[AlarmPriority.ALARM_HIGH]) + + def alarm_id(self): + """ + gets the alarm id from the list of the triggered id list + :return: + """ + row = 0 + alarm_id = 0 + items = self.tblTriggeredIDs.selectedItems() + if len(items): + item: QtWidgets.QTableWidgetItem = items[0] + row = item.row() + model = self.tblTriggeredIDs.model() + alarm_id = model.data(model.index(row, self.eColID)) + return [alarm_id, row]