def __init__(self, name, elements: list()): super(ElementsDialogue, self).__init__() self.setObjectName("self") self.setContextMenuPolicy(QtCore.Qt.NoContextMenu) self.layout = QtWidgets.QVBoxLayout(self) # build elements list self.objects_table = QtWidgets.QTableView() if len(elements) > 0: model = ObjectsModel(elements, elements[0].editable_headers, parent=self.objects_table, editable=False, non_editable_attributes=[1, 2, 14]) self.objects_table.setModel(model) # accept button self.accept_btn = QtWidgets.QPushButton() self.accept_btn.setText('Proceed') self.accept_btn.clicked.connect(self.accept_click) # add all to the GUI self.layout.addWidget(QtWidgets.QLabel("Logs")) self.layout.addWidget(self.objects_table) self.layout.addWidget(self.accept_btn) self.setLayout(self.layout) self.setWindowTitle(name) self.accepted = False
def mousePressEvent(self, event): """ mouse press: display the editor :param event: QGraphicsSceneMouseEvent """ dictionary_of_lists = dict() if self.api_object.device_type == DeviceType.BusDevice: dictionary_of_lists = { DeviceType.AreaDevice.value: self.diagramScene.circuit.areas, DeviceType.ZoneDevice.value: self.diagramScene.circuit.zones, DeviceType.SubstationDevice.value: self.diagramScene.circuit.substations, DeviceType.CountryDevice.value: self.diagramScene.circuit.countries } mdl = ObjectsModel( [self.api_object], self.api_object.editable_headers, parent=self.diagramScene.parent().object_editor_table, editable=True, transposed=True, dictionary_of_lists=dictionary_of_lists) self.diagramScene.parent().object_editor_table.setModel(mdl)
def mousePressEvent(self, event): """ mouse press: display the editor :param event: QGraphicsSceneMouseEvent """ mdl = ObjectsModel([self.api_object], self.api_object.editable_headers, parent=self.diagramScene.parent().object_editor_table, editable=True, transposed=True) self.diagramScene.parent().object_editor_table.setModel(mdl)