Example #1
0
 def __init__(self, parent, name):
     QWidget.__init__(self, parent)
     self.setStyleSheet(get_stylesheet("ribbonPane"))
     horizontal_layout = QHBoxLayout()
     horizontal_layout.setSpacing(0)
     horizontal_layout.setContentsMargins(0, 0, 0, 0)
     self.setLayout(horizontal_layout)
     vertical_widget = QWidget(self)
     horizontal_layout.addWidget(vertical_widget)
     horizontal_layout.addWidget(RibbonSeparator(self))
     vertical_layout = QVBoxLayout()
     vertical_layout.setSpacing(0)
     vertical_layout.setContentsMargins(0, 0, 0, 0)
     vertical_widget.setLayout(vertical_layout)
     label = QLabel(name)
     label.setAlignment(Qt.AlignCenter)
     label.setStyleSheet("color:#666;")
     content_widget = QWidget(self)
     vertical_layout.addWidget(content_widget)
     vertical_layout.addWidget(label)
     content_layout = QHBoxLayout()
     content_layout.setAlignment(Qt.AlignLeft)
     content_layout.setSpacing(0)
     content_layout.setContentsMargins(0, 0, 0, 0)
     self.contentLayout = content_layout
     content_widget.setLayout(content_layout)
Example #2
0
 def __init__(self, parent):
     QToolBar.__init__(self, parent)
     self.setStyleSheet(get_stylesheet("ribbon"))
     self.setObjectName("ribbonWidget")
     self.setWindowTitle("Ribbon")
     self._ribbon_widget = QTabWidget(self)
     self._ribbon_widget.setMaximumHeight(120 * gui_scale())
     self._ribbon_widget.setMinimumHeight(110 * gui_scale())
     self.setMovable(False)
     self.addWidget(self._ribbon_widget)
Example #3
0
    def __init__(self, owner, action, is_large):
        QPushButton.__init__(self, owner)
        # sc = 1
        sc = gui_scale()
        self._actionOwner = action
        self.update_button_status_from_action()
        self.clicked.connect(self._actionOwner.trigger)
        self._actionOwner.changed.connect(self.update_button_status_from_action)

        if is_large:
            self.setMaximumWidth(80 * sc)
            self.setMinimumWidth(50 * sc)
            self.setMinimumHeight(75 * sc)
            self.setMaximumHeight(80 * sc)
            self.setStyleSheet(get_stylesheet("ribbonButton"))
            self.setToolButtonStyle(3)
            self.setIconSize(QSize(32 * sc, 32 * sc))
        else:
            self.setToolButtonStyle(2)
            self.setMaximumWidth(120 * sc)
            self.setIconSize(QSize(16 * sc, 16 * sc))
            self.setStyleSheet(get_stylesheet("ribbonSmallButton"))
Example #4
0
    def __init__(self, document):
        """
        :type document: PyDesignDocument
        :param document:
        :return:
        """
        QMainWindow.__init__(self, None)
        main_windows.append(self)
        self.setStyleSheet(get_stylesheet("main"))
        self._active_analysis = None
        self._active_geometry = None
        self._document = document
        self.resize(1280, 800)
        self.setDockNestingEnabled(True)
        self.setWindowIcon(get_icon("pydesign"))

        # tree dock
        self._tree_dock_widget = QDockWidget(self)
        self._tree_dock_widget.setObjectName("treeDockWidget");
        self._tree_widget = PyDesignTreeWidget(self)
        self._tree_dock_widget.setWidget(self._tree_widget)
        self._tree_dock_widget.setWindowTitle("Document model")
        self.addDockWidget(Qt.LeftDockWidgetArea, self._tree_dock_widget)

        # detail doc
        self._detail_dock_widget = QDockWidget(self)
        self._detail_dock_widget.setObjectName("detailDockWidget");
        self._detail_widget = PyDesignDetailWidget(self, document)
        self._detail_dock_widget.setWidget(self._detail_widget)
        self._detail_dock_widget.setWindowTitle("Details")
        self.addDockWidget(Qt.RightDockWidgetArea, self._detail_dock_widget)

        # View doc
        self._view_dock_widget = QDockWidget(self)
        # self._view_dock_widget.setStyleSheet(get_stylesheet("tab"))
        self._view_dock_widget.setObjectName("ViewDockWidget");
        self._view_widget = PyDesignViewWidget(self, document)
        self._view_dock_widget.setWidget(self._view_widget)
        self._view_dock_widget.setWindowTitle("View")
        self.addDockWidget(Qt.RightDockWidgetArea, self._view_dock_widget)

        # actions

        self._new_action = self.add_action("New", "new", "New", True, self.on_new, QKSec.New)
        self._open_action = self.add_action("Open", "open", "Open file", True, self.on_open_file, QKSec.Open)
        self._save_action = self.add_action("Save", "save", "Save file", True, self.on_save_file, QKSec.Save)
        self._save_as_action = self.add_action("Save \nFile as", "save", "Save file with other file name", True, self.on_save_file_as, QKSec.SaveAs)
        self._copy_action = self.add_action("Copy", "copy", "Copy selection", True, self.on_copy, QKSec.Copy)
        self._undo_action = self.add_action("Undo", "undo", "Undo last action", True, self.on_undo, QKSec.Undo)
        self._redo_action = self.add_action("Redo", "redo", "Redo last undone action", True, self.on_redo, QKSec.Redo)
        self._paste_action = self.add_action("Paste", "paste", "Paste from clipboard", True, self.on_paste, QKSec.Paste)
        self._about_action = self.add_action("About", "about", "About QupyRibbon", True, self.on_about)
        self._license_action = self.add_action("License", "license", "Licence for this software", True, self.on_license)
        self._exit_action = self.add_action("Exit", "exit", "exit now", True, self.on_exit)
        self._add_analysis_action = self.add_action("Add\nAnalysis", "addAnalysis", "Add layout to document", True, self.on_add_analysis)
        self._add_calc_sheet_action = self.add_action("Add\nCalc sheet", "addCalcsheet", "Add Calculation sheet to analysis", True, self.on_add_calc_sheet)
        self._add_geometry_action = self.add_action("Add\nGeometry", "addGeometry", "Add geometry to document", True, self.on_add_geometry)
        self._add_draft_action = self.add_action("Add\nDraft", "addDraft", "Add draft to geometry", True, self.on_add_draft)
        self._add_extrude_action = self.add_action("Extrude\nprofile", "extrude", "Extrude solid from profile", True, None)
        self._add_revolve_action = self.add_action("Revolve\nprofile", "revolve", "Add revolved solid from profile", True, None)
        self._add_polyline_action = self.add_action("Add\nlines", "addLines", "Add polyline to selected draft", True, None)
        self._add_circle_action = self.add_action("Add\ncircle", "addCircle", "Add circle to selected draft", True, None)
        self._add_fillet_action = self.add_action("Add\nfillet", "addFillet", "Add fillet to selected draft", True, None)

        # Status bar

        self.statusBar().showMessage("Ready")
        progress_bar = QProgressBar()
        progress_bar.setMaximumHeight(20)
        progress_bar.setMaximumWidth(300)
        progress_bar.setTextVisible(False)
        self.statusBar().addPermanentWidget(progress_bar, 0);
        progress_bar.setValue(100)

        # toolbar

        self._ribbon = RibbonWidget(self)
        self.addToolBar(self._ribbon)
        self.init_ribbon()

        self.read_settings()
        self.update_actions()