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))
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
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()