1 """This module provides a singleton workspace that can be used by views
2 and widget to create new windows or raise existing ones"""
3
4 from PyQt4 import QtGui, QtCore
5
6 import logging
7
8 logger = logging.getLogger('camelot.view.workspace')
9
12 QtGui.QMdiArea.__init__(self, *args)
13 self.setOption(QtGui.QMdiArea.DontMaximizeSubWindowOnActivation)
14 self.setBackground(QtGui.QBrush(QtGui.QColor('white')))
15 self.setActivationOrder(QtGui.QMdiArea.ActivationHistoryOrder)
16
18 subwindow = QtGui.QMdiArea.addSubWindow(self, widget, *args)
19 if hasattr(widget, 'closeAfterValidation'):
20 subwindow.connect(widget, widget.closeAfterValidation, subwindow, QtCore.SLOT("close()"))
21
22 _workspace_ = []
23
27
30