Example #1
0
    def new_dock_window_obj(self, widget: 'QWidget', config=None):
        """
        以窗口对象插入,适用于已经创建的窗口。
        :param widget:
        :param config:
        :return:
        """
        from pyminer2.pmutil import get_main_window
        ()
        dock_name = config['name']
        text = config['text']
        side = config['side']

        widget = widget
        dock = get_main_window().add_widget_on_dock(dock_name=dock_name,
                                                    widget=widget,
                                                    text=text,
                                                    side='left')

        if side in {'top', 'bottom', 'left', 'right'}:
            import pyminer2.pmutil
            w2 = get_dock_by_position(side)
            pyminer2.pmutil.get_main_window().tabifyDockWidget(w2, dock)
            pyminer2.pmutil.get_main_window()
            dock.raise_into_view()
        return widget
Example #2
0
 def process_visibility_actions(self, e: ActionWithMessage):
     main_window = get_main_window()
     dws = main_window.dock_widgets
     if e.message in ['load_standard_layout']:
         main_window.load_predefined_layout('standard')
     if e.message in dws.keys():
         dws[e.message].setVisible(e.isChecked())
Example #3
0
    def __init__(self, parent=None):
        super(TopLevelWidget, self).__init__(parent)
        self.setWindowFlags(Qt.Popup | Qt.FramelessWindowHint)  # 点击其他位置之后,可以隐藏。
        self.setLayout(QVBoxLayout())
        self.title_layout = QHBoxLayout()
        self.layout().addLayout(self.title_layout)
        b = QPushButton('x')
        self.title_layout.addWidget(QLabel())
        self.title_layout.addWidget(b)
        b.setMaximumWidth(20)
        b.clicked.connect(self.hide)
        self.central_widget = None

        get_main_window().window_geometry_changed_signal.connect(self.refresh_position)
        self.position: QPoint = None
        self.width: int = 500
        self.height = 500
Example #4
0
 def add_settings_panel(text: str, panel_content: List[Tuple[str,
                                                             str]]):
     """
     添加设置面板
     :param text:
     :param panel_content:
     :return:
     """
     return get_main_window().main_option_form.add_settings_panel(
         text, panel_content)
Example #5
0
 def append_to_toolbar(self, widget_class: 'QWidget', config=None):
     from pyminer2.pmutil import get_main_window
     button_name = config['name']
     toolbar_name = config['toolbar']
     widget = widget_class()
     toolbar = get_main_window().toolbars.get(toolbar_name)
     toolbar.add_widget(button_name, widget)
     # PluginInterface.get_toolbar(toolbar_name).add_widget(
     #     button_name, widget)
     return widget
Example #6
0
 def closeEvent(self, event: QCloseEvent):
     from pyminer2.pmutil import get_main_window
     main_window = get_main_window()
     w = self.widget()
     if hasattr(w, 'on_closed_action'):
         if w.on_closed_action == 'delete':
             main_window.delete_dock_widget(self.name)
             return
     self.hide()
     event.accept()
     main_window.refresh_view_configs()
Example #7
0
    def new_dock_window(self, widget_class: 'QWidget', config=None):
        from pyminer2.pmutil import get_main_window
        ()
        dock_name = config['name']
        text = config['text']
        side = config['side']
        widget = widget_class()

        dock = get_main_window().add_widget_on_dock(dock_name=dock_name,
                                                    widget=widget,
                                                    text=text,
                                                    side=side)

        if side in {'top', 'bottom', 'left', 'right'}:
            import pyminer2.pmutil
            w2 = get_dock_by_position(side)
            pyminer2.pmutil.get_main_window().tabifyDockWidget(w2, dock)
            pyminer2.pmutil.get_main_window()
            dock.raise_into_view()
        return widget
Example #8
0
def load_theme(style: str):
    """
    设置主题。
    :param style:
    :return:
    """
    from pyminer2.pmutil import get_main_window

    app = QApplication.instance()
    mw = get_main_window()
    if style == 'Fusion':
        mw.setStyleSheet('')
        app.setStyleSheet('')
        standard_ss = mw.get_stylesheet('standard')
        fusion_ss = mw.get_stylesheet('Fusion')
        app.setStyleSheet(standard_ss + '\n' + fusion_ss)
        app.setStyle('Fusion')

    elif style == 'Qdarkstyle':
        app.setStyleSheet('')
        mw.setStyleSheet('')
        black_ss = mw.get_stylesheet('Qdarkstyle')
        app.setStyleSheet(qdarkstyle.load_stylesheet(qt_api='pyqt5'))
        app.setStyleSheet(app.styleSheet() + '\n' + black_ss)
        app.setStyle('Windows')

    elif style.lower() == 'windowsvista':
        app.setStyleSheet('')
        mw.setStyleSheet('')
        app.setStyleSheet(mw.get_stylesheet('windowsvista'))
        app.setStyle("windowsvista")
    elif style.lower() == 'windows':
        app.setStyleSheet('')
        mw.setStyleSheet('')
        app.setStyleSheet(mw.get_stylesheet('Windows'))
        app.setStyle("Windows")
Example #9
0
 def get_window_geometry_changed_signal():
     return get_main_window().window_geometry_changed_signal
Example #10
0
 def get_settings_changed_signal() -> 'pyqtSignal':
     return get_main_window().settings_changed_signal
Example #11
0
            def get_toolbar(toolbar_name: str) -> 'PMGToolBar':
                tb = get_main_window().toolbars.get(toolbar_name)

                return tb
Example #12
0
 def get_main_window_geometry() -> 'QRect':
     return get_main_window().geometry()
Example #13
0
 def refresh_position(self) -> None:
     if self.position is None:
         return
     mw = get_main_window()
     self.setGeometry(mw.geometry().x() + self.position.x(), mw.geometry().y() + self.position.y() + 16,
                      self.width, self.height)
Example #14
0
 def get_events_ready_signal():
     return get_main_window().events_ready_signal
Example #15
0
 def get_settings() -> Dict[str, str]:
     return get_main_window().settings
Example #16
0
 def open_script(self):
     editor: 'PMCodeEditTabWidget' = get_main_window().get_dock_widget(
         'code_editor').widget()
     editor.open_file()
Example #17
0
 def get_close_signal():
     return get_main_window().close_signal
Example #18
0
 def switch_toolbar(toolbar_name: str, switch_only: bool = True):
     app = get_main_window()
     app.switch_toolbar(toolbar_name, switch_only)
Example #19
0
 def get_default_font():
     app = get_main_window()
     return os.path.join(app.font_dir, app.default_font)
Example #20
0
 def raise_dock_into_view(dock_widget_name: str):
     return get_main_window().raise_dock_into_view(dock_widget_name)
Example #21
0
 def new_script(self):
     editor: 'PMCodeEditTabWidget' = get_main_window().get_dock_widget(
         'code_editor').widget()
     editor.create_new_editor_tab()
Example #22
0
 def get_layouts_ready_signal():
     return get_main_window().layouts_ready_signal
Example #23
0
 def get_widgets_ready_signal():
     return get_main_window().widgets_ready_signal
Example #24
0
 def get_resize_signal():
     return get_main_window().resize_signal