Source code for RWESharp.widgets.ViewDockWidget

from PySide6.QtWidgets import QDockWidget
from PySide6.QtCore import Signal, Slot, QEvent, Qt
from PySide6.QtGui import QAction


[docs] class ViewDockWidget(QDockWidget): stateChanged = Signal(bool)
[docs] def __init__(self, parent=None): super().__init__(parent) self.setWindowModality(Qt.WindowModality.NonModal) self.state = True
[docs] @Slot(bool) def change_visibility(self, value: bool, hide=True): if self.state == value: return self.state = value if value: self.stateChanged.emit(value) if hide: self.show() return self.stateChanged.emit(value) if hide: self.hide()
[docs] def showEvent(self, event): self.change_visibility(True) super().showEvent(event)
[docs] def closeEvent(self, event): self.change_visibility(False) super().closeEvent(event)
[docs] def hide(self): self.change_visibility(False, False) super().hide()
[docs] def show(self): self.change_visibility(True, False) super().show()