def __init__(self, config: Configuration = Configuration.defaults()): super().__init__() self._config = config self.doc = None self._render_context = None self._visible_layers = None self._current_layout = None self._reset_backend() self.view = CADGraphicsViewWithOverlay() self.view.setScene(qw.QGraphicsScene()) self.view.scale(1, -1) # so that +y is up self.view.element_selected.connect(self._on_element_selected) self.view.mouse_moved.connect(self._on_mouse_moved) menu = self.menuBar() select_doc_action = QAction("Select Document", self) select_doc_action.triggered.connect(self._select_doc) menu.addAction(select_doc_action) self.select_layout_menu = menu.addMenu("Select Layout") toggle_sidebar_action = QAction("Toggle Sidebar", self) toggle_sidebar_action.triggered.connect(self._toggle_sidebar) menu.addAction(toggle_sidebar_action) self.sidebar = qw.QSplitter(qc.Qt.Vertical) self.layers = qw.QListWidget() self.layers.setStyleSheet( "QListWidget {font-size: 12pt;} " "QCheckBox {font-size: 12pt; padding-left: 5px;}") self.sidebar.addWidget(self.layers) info_container = qw.QWidget() info_layout = qw.QVBoxLayout() info_layout.setContentsMargins(0, 0, 0, 0) self.selected_info = qw.QPlainTextEdit() self.selected_info.setReadOnly(True) info_layout.addWidget(self.selected_info) self.mouse_pos = qw.QLabel() info_layout.addWidget(self.mouse_pos) info_container.setLayout(info_layout) self.sidebar.addWidget(info_container) container = qw.QSplitter() self.setCentralWidget(container) container.addWidget(self.view) container.addWidget(self.sidebar) container.setCollapsible(0, False) container.setCollapsible(1, True) w = container.width() container.setSizes([int(3 * w / 4), int(w / 4)]) self.setWindowTitle("CAD Viewer") self.resize(1600, 900) self.show()
def setupUi(self, FindDialog): FindDialog.setObjectName("FindDialog") FindDialog.resize(320, 376) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( FindDialog.sizePolicy().hasHeightForWidth()) FindDialog.setSizePolicy(sizePolicy) FindDialog.setMinimumSize(QtCore.QSize(320, 376)) FindDialog.setMaximumSize(QtCore.QSize(320, 376)) FindDialog.setBaseSize(QtCore.QSize(320, 376)) self.verticalLayout_5 = QtWidgets.QVBoxLayout(FindDialog) self.verticalLayout_5.setObjectName("verticalLayout_5") self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize) self.horizontalLayout.setObjectName("horizontalLayout") self.label = QtWidgets.QLabel(FindDialog) self.label.setObjectName("label") self.horizontalLayout.addWidget(self.label) self.find_text_edit = QtWidgets.QLineEdit(FindDialog) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.find_text_edit.sizePolicy().hasHeightForWidth()) self.find_text_edit.setSizePolicy(sizePolicy) self.find_text_edit.setMinimumSize(QtCore.QSize(0, 24)) self.find_text_edit.setMaximumSize(QtCore.QSize(16777215, 24)) self.find_text_edit.setObjectName("find_text_edit") self.horizontalLayout.addWidget(self.find_text_edit) self.verticalLayout.addLayout(self.horizontalLayout) self.groupBox = QtWidgets.QGroupBox(FindDialog) sizePolicy = QtWidgets.QSizePolicy( QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.groupBox.sizePolicy().hasHeightForWidth()) self.groupBox.setSizePolicy(sizePolicy) self.groupBox.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) self.groupBox.setFlat(False) self.groupBox.setObjectName("groupBox") self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox) self.verticalLayout_3.setObjectName("verticalLayout_3") self.whole_words_check_box = QtWidgets.QCheckBox(self.groupBox) self.whole_words_check_box.setObjectName("whole_words_check_box") self.verticalLayout_3.addWidget(self.whole_words_check_box) self.match_case_check_box = QtWidgets.QCheckBox(self.groupBox) self.match_case_check_box.setObjectName("match_case_check_box") self.verticalLayout_3.addWidget(self.match_case_check_box) self.number_tags_check_box = QtWidgets.QCheckBox(self.groupBox) self.number_tags_check_box.setObjectName("number_tags_check_box") self.verticalLayout_3.addWidget(self.number_tags_check_box) self.verticalLayout.addWidget(self.groupBox, 0, QtCore.Qt.AlignTop) self.groupBox_2 = QtWidgets.QGroupBox(FindDialog) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.groupBox_2.sizePolicy().hasHeightForWidth()) self.groupBox_2.setSizePolicy(sizePolicy) self.groupBox_2.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) self.groupBox_2.setObjectName("groupBox_2") self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.groupBox_2) self.verticalLayout_4.setObjectName("verticalLayout_4") self.header_check_box = QtWidgets.QCheckBox(self.groupBox_2) self.header_check_box.setChecked(True) self.header_check_box.setObjectName("header_check_box") self.verticalLayout_4.addWidget(self.header_check_box) self.classes_check_box = QtWidgets.QCheckBox(self.groupBox_2) self.classes_check_box.setObjectName("classes_check_box") self.verticalLayout_4.addWidget(self.classes_check_box) self.tables_check_box = QtWidgets.QCheckBox(self.groupBox_2) self.tables_check_box.setChecked(True) self.tables_check_box.setObjectName("tables_check_box") self.verticalLayout_4.addWidget(self.tables_check_box) self.blocks_check_box = QtWidgets.QCheckBox(self.groupBox_2) self.blocks_check_box.setChecked(True) self.blocks_check_box.setObjectName("blocks_check_box") self.verticalLayout_4.addWidget(self.blocks_check_box) self.entities_check_box = QtWidgets.QCheckBox(self.groupBox_2) self.entities_check_box.setChecked(True) self.entities_check_box.setObjectName("entities_check_box") self.verticalLayout_4.addWidget(self.entities_check_box) self.objects_check_box = QtWidgets.QCheckBox(self.groupBox_2) self.objects_check_box.setChecked(False) self.objects_check_box.setObjectName("objects_check_box") self.verticalLayout_4.addWidget(self.objects_check_box) self.verticalLayout.addWidget(self.groupBox_2, 0, QtCore.Qt.AlignTop) self.verticalLayout_5.addLayout(self.verticalLayout) self.message = QtWidgets.QLabel(FindDialog) self.message.setObjectName("message") self.verticalLayout_5.addWidget(self.message) self.buttons_layout = QtWidgets.QHBoxLayout() self.buttons_layout.setSizeConstraint( QtWidgets.QLayout.SetNoConstraint) self.buttons_layout.setObjectName("buttons_layout") self.find_forward_button = QtWidgets.QPushButton(FindDialog) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.find_forward_button.sizePolicy().hasHeightForWidth()) self.find_forward_button.setSizePolicy(sizePolicy) self.find_forward_button.setMinimumSize(QtCore.QSize(0, 0)) self.find_forward_button.setMaximumSize(QtCore.QSize(200, 100)) self.find_forward_button.setObjectName("find_forward_button") self.buttons_layout.addWidget(self.find_forward_button, 0, QtCore.Qt.AlignBottom) self.find_backwards_button = QtWidgets.QPushButton(FindDialog) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.find_backwards_button.sizePolicy().hasHeightForWidth()) self.find_backwards_button.setSizePolicy(sizePolicy) self.find_backwards_button.setMinimumSize(QtCore.QSize(0, 0)) self.find_backwards_button.setMaximumSize(QtCore.QSize(200, 100)) self.find_backwards_button.setObjectName("find_backwards_button") self.buttons_layout.addWidget(self.find_backwards_button, 0, QtCore.Qt.AlignBottom) spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.buttons_layout.addItem(spacerItem) self.close_button = QtWidgets.QPushButton(FindDialog) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.close_button.sizePolicy().hasHeightForWidth()) self.close_button.setSizePolicy(sizePolicy) self.close_button.setMinimumSize(QtCore.QSize(0, 0)) self.close_button.setMaximumSize(QtCore.QSize(200, 100)) self.close_button.setToolTip("") self.close_button.setObjectName("close_button") self.buttons_layout.addWidget( self.close_button, 0, QtCore.Qt.AlignRight | QtCore.Qt.AlignBottom) self.verticalLayout_5.addLayout(self.buttons_layout) self.retranslateUi(FindDialog) QtCore.QMetaObject.connectSlotsByName(FindDialog)