예제 #1
0
 def __init__(self, py_design_geometry, parent):
     PyDesignModelItem.__init__(self, parent, parent.model)
     self._data_object = py_design_geometry
     self._data_dict[PyDesignNamedObject.NAME] = self.data_name
     self._set_data_dict[PyDesignNamedObject.NAME] = self.set_data_name
     self._icon = get_icon("geometry")
     for i in range(0, py_design_geometry.feature_count()):
         feature = py_design_geometry.features(i)
         self._children.append(PyDesignFeatureItem(self, feature))
예제 #2
0
 def add_action(self, caption, icon_name, status_tip, icon_visible, connection, shortcut=None):
     action = QAction(get_icon(icon_name), caption, self)
     action.setStatusTip(status_tip)
     if connection is not None:
         action.triggered.connect(connection)
     action.setIconVisibleInMenu(icon_visible)
     if shortcut is not None:
         action.setShortcuts(shortcut)
     self.addAction(action)
     return action
예제 #3
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()