abstract the dialogue away so it can be implementing using an abritrary GUI frontend...
[lilass.git] / gui.py
diff --git a/gui.py b/gui.py
index a85f2d52bcb8bd57abe07eb0e303f4a06c5f02aa..b6906e122af59c70f1310c9fa8538894ed15d0eb 100644 (file)
--- a/gui.py
+++ b/gui.py
 # This file bstracts GUI stuff away, so that the actual dsl.py does not have to deal with it
 import sys
 from PyQt4 import QtGui
+from qt_dialogue import PositionSelection
 app = QtGui.QApplication(sys.argv)
 
 def error(message):
+       '''Displays a fatal error to the user'''
        QtGui.QMessageBox.critical(None, 'Fatal error', message)
+
+def getDialogue(externalName, internalResolutions, externalResolutions):
+       '''Returns a class implementing the following functions:
+        * run() opens the dialogue. returns True if it was accepted, False otherwise
+        * getRelativeScreenPosition() returns one of the RelativeScreenPosition values (see dsl.py)
+        * getIntResolutionIndex() returns the index of an element in the internalResolutions list
+        * getExtResolutionIndex() returns the index of an element in the externalResolutions list
+        * externalIsPrimary() returns whether the external screen is the primary one (True) or the internal one (False)
+       '''
+       return PositionSelection(externalName, internalResolutions, externalResolutions)