# Source code for pyqtgraph.graphicsWindows

    """
    DEPRECATED:  The classes below are convenience classes that create a new window
    containting a single, specific widget. These classes are now unnecessary because
    it is possible to place any widget into its own window by simply calling its
    show() method.
    """

    __all__ = ['GraphicsWindow', 'TabWindow', 'PlotWindow', 'ImageWindow']

    import warnings

    from .imageview import *
    from .Qt import QtCore, QtWidgets, mkQApp
    from .widgets.GraphicsLayoutWidget import GraphicsLayoutWidget
    from .widgets.PlotWidget import *

    class GraphicsWindow(GraphicsLayoutWidget):
        """
        (deprecated; use :class:`~pyqtgraph.GraphicsLayoutWidget` instead)

        Convenience subclass of :class:`~pyqtgraph.GraphicsLayoutWidget`. This class
        is intended for use from the interactive python prompt.
        """
        def __init__(self, title=None, size=(800,600), **kargs):
            warnings.warn(
                'GraphicsWindow is deprecated, use GraphicsLayoutWidget instead,'
                'will be removed in 0.13',
                DeprecationWarning, stacklevel=2
            )
            mkQApp()
            GraphicsLayoutWidget.__init__(self, **kargs)
            self.resize(*size)
            if title is not None:
                self.setWindowTitle(title)
            self.show()

    class TabWindow(QtWidgets.QMainWindow):
        """
        (deprecated)
        """
        def __init__(self, title=None, size=(800,600)):
            warnings.warn(
                'TabWindow is deprecated, will be removed in 0.13',
                DeprecationWarning, stacklevel=2
            )
            mkQApp()
            QtWidgets.QMainWindow.__init__(self)
            self.resize(*size)
            self.cw = QtWidgets.QTabWidget()
            self.setCentralWidget(self.cw)
            if title is not None:
                self.setWindowTitle(title)
            self.show()

        def __getattr__(self, attr):
            return getattr(self.cw, attr)

    class PlotWindow(PlotWidget):
        sigClosed = QtCore.Signal(object)

        """
        (deprecated; use :class:`~pyqtgraph.PlotWidget` instead)
        """
        def __init__(self, title=None, **kargs):
            warnings.warn(
                'PlotWindow is deprecated, use PlotWidget instead,'
                'will be removed in 0.13',
                DeprecationWarning, stacklevel=2
            )
            mkQApp()
            self.win = QtWidgets.QMainWindow()
            PlotWidget.__init__(self, **kargs)
            self.win.setCentralWidget(self)
            for m in ['resize']:
                setattr(self, m, getattr(self.win, m))
            if title is not None:
                self.win.setWindowTitle(title)
            self.win.show()

        def closeEvent(self, event):
            PlotWidget.closeEvent(self, event)
            self.sigClosed.emit(self)

    class ImageWindow(ImageView):
        sigClosed = QtCore.Signal(object)

        """
        (deprecated; use :class:`~pyqtgraph.ImageView` instead)
        """
        def __init__(self, *args, **kargs):
            warnings.warn(
                'ImageWindow is deprecated, use ImageView instead'
                'will be removed in 0.13',
                DeprecationWarning, stacklevel=2
            )
            mkQApp()
            self.win = QtWidgets.QMainWindow()
            self.win.resize(800,600)
            if 'title' in kargs:
                self.win.setWindowTitle(kargs['title'])
                del kargs['title']
            ImageView.__init__(self, self.win)
            if len(args) > 0 or len(kargs) > 0:
                self.setImage(*args, **kargs)

            self.win.setCentralWidget(self)
            for m in ['resize']:
                setattr(self, m, getattr(self.win, m))
            self.win.show()

        def closeEvent(self, event):
            ImageView.closeEvent(self, event)
            self.sigClosed.emit(self)