def __init__(self, name, plugin, parent=None, options=DEFAULT_OPTIONS): super().__init__(parent=parent) # Attributes # -------------------------------------------------------------------- self._options = options self._is_tab = False self._name = name self._plugin = plugin self._parent = parent self._default_margins = None self.is_maximized = None self.is_visible = None # We create our toggle action instead of using the one that comes with # dockwidget because it was not possible to raise and focus the plugin self.toggle_view_action = None self._widgets = {} self._toolbars = {} # Widgets # -------------------------------------------------------------------- self.windowwidget = None self.dockwidget = None self._central_widget = QWidget(self) self._icon = QIcon() self._spinner = create_waitspinner(size=16, parent=self) self._corner_widget = MainCornerWidget( parent=self, name=PluginMainWidgetWidgets.CornerWidget, )
def __init__(self, name, plugin, parent=None): if PYQT5: super().__init__(parent=parent, class_parent=plugin) else: QWidget.__init__(self, parent) SpyderWidgetMixin.__init__(self, class_parent=plugin) # Attributes # -------------------------------------------------------------------- self._is_tab = False self._name = name self._plugin = plugin self._parent = parent self._default_margins = None self.is_maximized = None self.is_visible = None self.dock_action = None self.undock_action = None self.close_action = None self._toolbars_already_rendered = False # Attribute used to access the action, toolbar, toolbutton and menu # registries self.PLUGIN_NAME = name # We create our toggle action instead of using the one that comes with # dockwidget because it was not possible to raise and focus the plugin self.toggle_view_action = None self._toolbars = OrderedDict() self._auxiliary_toolbars = OrderedDict() # Widgets # -------------------------------------------------------------------- self.windowwidget = None self.dockwidget = None self._icon = QIcon() self._spinner = None if self.ENABLE_SPINNER: self._spinner = create_waitspinner(size=16, parent=self) self._corner_widget = MainCornerWidget( parent=self, name=PluginMainWidgetWidgets.CornerWidget, ) self._corner_widget.ID = 'main_corner' self._main_toolbar = MainWidgetToolbar( parent=self, title=_("Main widget toolbar"), ) self._main_toolbar.ID = 'main_toolbar' TOOLBAR_REGISTRY.register_reference( self._main_toolbar, self._main_toolbar.ID, self.PLUGIN_NAME, self.CONTEXT_NAME) self._corner_toolbar = MainWidgetToolbar( parent=self, title=_("Main widget corner toolbar"), ) self._corner_toolbar.ID = 'corner_toolbar', TOOLBAR_REGISTRY.register_reference( self._corner_toolbar, self._corner_toolbar.ID, self.PLUGIN_NAME, self.CONTEXT_NAME) self._corner_toolbar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Expanding) self._options_menu = self.create_menu( PluginMainWidgetMenus.Options, title=_('Options menu'), ) # Layout # -------------------------------------------------------------------- # These margins are necessary to give some space between the widgets # inside this widget and the window vertical separator. self._margin_left = 1 self._margin_right = 1 self._main_layout = QVBoxLayout() self._toolbars_layout = QVBoxLayout() self._main_toolbar_layout = QHBoxLayout() self._toolbars_layout.setContentsMargins( self._margin_left, 0, self._margin_right, 0) self._toolbars_layout.setSpacing(0) self._main_toolbar_layout.setContentsMargins(0, 0, 0, 0) self._main_toolbar_layout.setSpacing(0) self._main_layout.setContentsMargins(0, 0, 0, 0) self._main_layout.setSpacing(0) # Add inititals layouts self._main_toolbar_layout.addWidget(self._main_toolbar, stretch=10000) self._main_toolbar_layout.addWidget(self._corner_toolbar, stretch=1) self._toolbars_layout.addLayout(self._main_toolbar_layout) self._main_layout.addLayout(self._toolbars_layout, stretch=1)
def __init__(self, name, plugin, parent=None, options=DEFAULT_OPTIONS): super().__init__(parent=parent) # Attributes # -------------------------------------------------------------------- self._options = options self._is_tab = False self._name = name self._plugin = plugin self._parent = parent self._default_margins = None self.is_maximized = None self.is_visible = None self.dock_action = None self.undock_action = None self.close_action = None self._toolbars_already_rendered = False # We create our toggle action instead of using the one that comes with # dockwidget because it was not possible to raise and focus the plugin self.toggle_view_action = None self._toolbars = OrderedDict() self._auxiliary_toolbars = OrderedDict() # Widgets # -------------------------------------------------------------------- self.windowwidget = None self.dockwidget = None self._icon = QIcon() self._spinner = None if self.ENABLE_SPINNER: self._spinner = create_waitspinner(size=16, parent=self) self._corner_widget = MainCornerWidget( parent=self, name=PluginMainWidgetWidgets.CornerWidget, ) self._main_toolbar = MainWidgetToolbar( parent=self, title=_("Main widget toolbar"), ) self._main_toolbar.ID = 'main_toolbar' self._corner_toolbar = MainWidgetToolbar( parent=self, title=_("Main widget corner toolbar"), ) self._corner_toolbar.ID = 'corner_toolbar', self._corner_toolbar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Expanding) self._options_menu = self.create_menu( PluginMainWidgetMenus.Options, title=_('Options menu'), ) # Layout # -------------------------------------------------------------------- self._main_layout = QVBoxLayout() self._toolbars_layout = QVBoxLayout() self._main_toolbar_layout = QHBoxLayout() self._toolbars_layout.setContentsMargins(0, 0, 0, 0) self._toolbars_layout.setSpacing(0) self._main_toolbar_layout.setContentsMargins(0, 0, 0, 0) self._main_toolbar_layout.setSpacing(0) self._main_layout.setContentsMargins(0, 0, 0, 0) self._main_layout.setSpacing(0) # Add inititals layouts self._main_toolbar_layout.addWidget(self._main_toolbar, stretch=10000) self._main_toolbar_layout.addWidget(self._corner_toolbar, stretch=1) self._toolbars_layout.addLayout(self._main_toolbar_layout) self._main_layout.addLayout(self._toolbars_layout, stretch=1)