def fuzzAll(self):
unfuzzedLabels = [label for label in self.labels if not label.fuzz_me]
for label in unfuzzedLabels:
label.fuzz_me = Qt.Checked
self.protolabel_fuzzing_status_changed.emit(label)
python类Checked()的实例源码
def from_xml(cls, tag: ET.Element, field_types_by_caption=None):
"""
:param tag:
:type field_types_by_caption: dict[str, FieldType]
:return:
"""
field_types_by_caption = dict() if field_types_by_caption is None else field_types_by_caption
name = tag.get("name")
start, end = int(tag.get("start", 0)), int(tag.get("end", 0)) - 1
color_index = int(tag.get("color_index", 0))
result = ProtocolLabel(name=name, start=start, end=end, color_index=color_index)
result.apply_decoding = True if tag.get("apply_decoding", 'True') == "True" else False
result.show = Qt.Checked if Formatter.str2val(tag.get("show", 0), int) else Qt.Unchecked
result.fuzz_me = Qt.Checked if Formatter.str2val(tag.get("fuzz_me", 0), int) else Qt.Unchecked
result.fuzz_values = tag.get("fuzz_values", "").split(",")
result.display_format_index = int(tag.get("display_format_index", 0))
result.auto_created = True if tag.get("auto_created", 'False') == "True" else False
if result.name in field_types_by_caption:
result.field_type = field_types_by_caption[result.name]
else:
result.field_type = None
return result
def __init__(self, signal: Signal):
self.messages = [] # type: list[Message]
self.signal = signal
self.filename = self.signal.filename if self.signal is not None else ""
self.__name = "Blank" # Fallback if Signal has no Name
self.show = Qt.Checked # Show in Compare Frame?
self.qt_signals = ProtocolAnalyzerSignals()
self.decoder = Encoding(["Non Return To Zero (NRZ)"]) # For Default Encoding of Protocol
self.message_types = [MessageType("default")]
def enabled(self, value: bool):
if value != self.__enabled:
self.__enabled = Qt.Checked if value else Qt.Unchecked
self.enabled_changed.emit()
def call_3DBeam(self,bgcolor):
"""
Creating and displaying 3D Beam
"""
self.display.EraseAll()
self.ui.chkBxBeam.setChecked(Qt.Checked)
if self.ui.chkBxBeam.isChecked():
self.ui.chkBxCol.setChecked(Qt.Unchecked)
self.ui.chkBxSeatAngle.setChecked(Qt.Unchecked)
self.ui.btn3D.setChecked(Qt.Unchecked)
self.ui.mytabWidget.setCurrentIndex(0)
self.commLogicObj.display_3DModel("Beam",bgcolor)
def call_3DColumn(self,bgcolor):
"""
"""
self.display.EraseAll()
self.ui.chkBxCol.setChecked(Qt.Checked)
if self.ui.chkBxCol.isChecked():
self.ui.chkBxBeam.setChecked(Qt.Unchecked)
self.ui.chkBxSeatAngle.setChecked(Qt.Unchecked)
self.ui.btn3D.setChecked(Qt.Unchecked)
self.ui.mytabWidget.setCurrentIndex(0)
self.commLogicObj.display_3DModel("Column",bgcolor)
def call_3DSeatAngle(self,bgcolor):
"""Displaying Seat Angle in 3D
"""
self.display.EraseAll()
self.ui.chkBxSeatAngle.setChecked(Qt.Checked)
if self.ui.chkBxSeatAngle.isChecked():
self.ui.chkBxBeam.setChecked(Qt.Unchecked)
self.ui.chkBxCol.setChecked(Qt.Unchecked)
self.ui.btn3D.setChecked(Qt.Unchecked)
self.ui.mytabWidget.setCurrentIndex(0)
self.commLogicObj.display_3DModel("SeatAngle", bgcolor)
def call_3DBeam(self,bgcolor):
'''
Creating and displaying 3D Beam
'''
self.ui.chkBxBeam.setChecked(Qt.Checked)
if self.ui.chkBxBeam.isChecked():
self.ui.chkBxCol.setChecked(Qt.Unchecked)
self.ui.chkBxFinplate.setChecked(Qt.Unchecked)
self.ui.btn3D.setChecked(Qt.Unchecked)
self.ui.mytabWidget.setCurrentIndex(0)
self.commLogicObj.display_3DModel("Beam",bgcolor)
def call_3DColumn(self,bgcolor):
'''
'''
self.ui.chkBxCol.setChecked(Qt.Checked)
if self.ui.chkBxCol.isChecked():
self.ui.chkBxBeam.setChecked(Qt.Unchecked)
self.ui.chkBxFinplate.setChecked(Qt.Unchecked)
self.ui.btn3D.setChecked(Qt.Unchecked)
self.ui.mytabWidget.setCurrentIndex(0)
self.commLogicObj.display_3DModel("Column",bgcolor)
def call_3d_model(self, bgcolor):
self.ui.btn3D.setChecked(Qt.Checked)
if self.ui.btn3D.isChecked():
self.ui.chkBxCol.setChecked(Qt.Unchecked)
self.ui.chkBxEndplate.setChecked(Qt.Unchecked)
self.ui.chkBxBeam.setChecked(Qt.Unchecked)
self.commLogicObj.display_3DModel("Model",bgcolor)
def call_3d_beam(self,bgcolor):
'''
Creating and displaying 3D Beam
'''
self.ui.chkBxBeam.setChecked(Qt.Checked)
if self.ui.chkBxBeam.isChecked():
self.ui.chkBxCol.setChecked(Qt.Unchecked)
self.ui.chkBxEndplate.setChecked(Qt.Unchecked)
self.ui.btn3D.setChecked(Qt.Unchecked)
self.ui.mytabWidget.setCurrentIndex(0)
self.commLogicObj.display_3DModel("Beam",bgcolor)
def call_3d_column(self,bgcolor):
'''
'''
self.ui.chkBxCol.setChecked(Qt.Checked)
if self.ui.chkBxCol.isChecked():
self.ui.chkBxBeam.setChecked(Qt.Unchecked)
self.ui.chkBxEndplate.setChecked(Qt.Unchecked)
self.ui.btn3D.setChecked(Qt.Unchecked)
self.ui.mytabWidget.setCurrentIndex(0)
self.commLogicObj.display_3DModel("Column",bgcolor)
def call_3d_endplate(self,bgcolor):
'''Displaying EndPlate in 3D
'''
self.ui.chkBxEndplate.setChecked(Qt.Checked)
if self.ui.chkBxEndplate.isChecked():
self.ui.chkBxBeam.setChecked(Qt.Unchecked)
self.ui.chkBxCol.setChecked(Qt.Unchecked)
self.ui.btn3D.setChecked(Qt.Unchecked)
self.ui.mytabWidget.setCurrentIndex(0)
self.commLogicObj.display_3DModel("Plate",bgcolor)
def call_3d_model(self,bgcolor):
"""
:return:
"""
self.ui.btn3D.setChecked(Qt.Checked)
if self.ui.btn3D.isChecked():
self.ui.chkBxBeam.setChecked(Qt.Unchecked)
self.ui.chkBxCol.setChecked(Qt.Unchecked)
self.ui.checkBoxCleat.setChecked(Qt.Unchecked)
self.commLogicObj.display_3DModel("Model",bgcolor)
def call_3d_column(self,bgcolor):
"""
:return:
"""
self.ui.chkBxCol.setChecked(Qt.Checked)
if self.ui.chkBxCol.isChecked():
self.ui.chkBxBeam.setChecked(Qt.Unchecked)
self.ui.checkBoxCleat.setChecked(Qt.Unchecked)
self.ui.btn3D.setChecked(Qt.Unchecked)
self.ui.mytabWidget.setCurrentIndex(0)
self.commLogicObj.display_3DModel("Column",bgcolor)
def call_3d_cleatangle(self,bgcolor):
'''Displaying FinPlate in 3D
'''
self.ui.checkBoxCleat.setChecked(Qt.Checked)
if self.ui.checkBoxCleat.isChecked():
self.ui.chkBxBeam.setChecked(Qt.Unchecked)
self.ui.chkBxCol.setChecked(Qt.Unchecked)
self.ui.btn3D.setChecked(Qt.Unchecked)
self.ui.mytabWidget.setCurrentIndex(0)
self.commLogicObj.display_3DModel("cleatAngle",bgcolor)
def changeIcon(self):
icon = QIcon()
for row in range(self.imagesTable.rowCount()):
item0 = self.imagesTable.item(row, 0)
item1 = self.imagesTable.item(row, 1)
item2 = self.imagesTable.item(row, 2)
if item0.checkState() == Qt.Checked:
if item1.text() == "Normal":
mode = QIcon.Normal
elif item1.text() == "Active":
mode = QIcon.Active
elif item1.text() == "Disabled":
mode = QIcon.Disabled
else:
mode = QIcon.Selected
if item2.text() == "On":
state = QIcon.On
else:
state = QIcon.Off
fileName = item0.data(Qt.UserRole)
image = QImage(fileName)
if not image.isNull():
icon.addPixmap(QPixmap.fromImage(image), mode, state)
self.previewArea.setIcon(icon)
def addImage(self):
fileNames, _ = QFileDialog.getOpenFileNames(self, "Open Images", '',
"Images (*.png *.xpm *.jpg);;All Files (*)")
for fileName in fileNames:
row = self.imagesTable.rowCount()
self.imagesTable.setRowCount(row + 1)
imageName = QFileInfo(fileName).baseName()
item0 = QTableWidgetItem(imageName)
item0.setData(Qt.UserRole, fileName)
item0.setFlags(item0.flags() & ~Qt.ItemIsEditable)
item1 = QTableWidgetItem("Normal")
item2 = QTableWidgetItem("Off")
if self.guessModeStateAct.isChecked():
if '_act' in fileName:
item1.setText("Active")
elif '_dis' in fileName:
item1.setText("Disabled")
elif '_sel' in fileName:
item1.setText("Selected")
if '_on' in fileName:
item2.setText("On")
self.imagesTable.setItem(row, 0, item0)
self.imagesTable.setItem(row, 1, item1)
self.imagesTable.setItem(row, 2, item2)
self.imagesTable.openPersistentEditor(item1)
self.imagesTable.openPersistentEditor(item2)
item0.setCheckState(Qt.Checked)
def print_list(self, state):
string = ''
id_string = ''
nick_list = []
self.friend_id = []
if state == Qt.Checked:
for x in range(len(tmp)):
if tmp[x].isChecked() == True:
string = tmp[x].text()
nick_list.append(string)
id_string = tmp2[x]
self.friend_id.append(id_string)
else:
for x in range(len(tmp)):
if tmp[x].isChecked() == True:
string = tmp[x].text()
nick_list.append(string)
id_string = tmp2[x]
self.friend_id.append(id_string)
string = ''
for x in range(len(nick_list)):
temp = nick_list[x]
string = string + '\n' + temp
self.room_member.setPlainText(string)
def test_generator_label(self):
labels = self.cframe.proto_analyzer.protocol_labels
self.assertEqual(len(labels), 2)
# Open Protocol in Generator
self.form.ui.tabWidget.setCurrentIndex(2)
item = self.gframe.tree_model.rootItem.children[0].children[0]
index = self.gframe.tree_model.createIndex(0, 0, item)
rect = self.gframe.ui.treeProtocols.visualRect(index)
self.assertEqual(len(self.gframe.ui.treeProtocols.selectedIndexes()), 0)
QTest.mousePress(self.gframe.ui.treeProtocols.viewport(), Qt.LeftButton, pos=rect.center())
self.assertEqual(self.gframe.ui.treeProtocols.selectedIndexes()[0], index)
mimedata = self.gframe.tree_model.mimeData(self.gframe.ui.treeProtocols.selectedIndexes())
self.gframe.table_model.dropMimeData(mimedata, 1, -1, -1, self.gframe.table_model.createIndex(0, 0))
self.assertEqual(self.gframe.table_model.row_count, 3)
# Check Label in Generator
labels = self.gframe.table_model.protocol.protocol_labels
self.assertEqual(len(labels), 2)
# Fuzz Label
lbl = copy.deepcopy(self.gframe.table_model.protocol.messages[0].message_type[1])
self.gframe.table_model.protocol.messages[0].message_type[1] = lbl
lbl.fuzz_values.append("1")
lbl.add_fuzz_value()
lbl.add_fuzz_value()
lbl.add_fuzz_value()
lbl.add_fuzz_value()
lbl.fuzz_me = Qt.Checked
self.assertEqual(len(lbl.fuzz_values), 5)
self.gframe.refresh_label_list()
self.gframe.refresh_table()
self.gframe.ui.btnFuzz.setEnabled(True)
self.gframe.ui.btnFuzz.click()
self.assertTrue(lbl.active_fuzzing)
self.assertIn(lbl, self.gframe.table_model.protocol.messages[0].message_type)
self.assertEqual(self.gframe.table_model.row_count, 4 + 3)
# Check if Background for fuzzed labels is drawn correctly
self.__check_background_is_drawn(lbl, 43, 43)
# Delete a line
old_row_count = self.gframe.table_model.row_count
self.gframe.ui.tableMessages.selectRow(2)
QTest.keyClick(self.gframe.ui.tableMessages, Qt.Key_Delete)
self.assertEqual(self.gframe.table_model.row_count, old_row_count - 1)
self.__check_background_is_drawn(lbl, 43, 43)
# Remove everything
for i in range(old_row_count):
self.gframe.ui.tableMessages.selectRow(0)
QTest.keyClick(self.gframe.ui.tableMessages, Qt.Key_Delete)
self.assertEqual(self.gframe.table_model.row_count, 0)