Source code for gwa.main
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys, os, getpass
from PyQt4 import QtGui, QtCore
from ihm_menu import Ui_Menu
from code_menu import MenuController
from code_place import PlaceController
from code_AP import APController
from code_measure import MeasureController
from code_extract import ExtractController
from code_SG import SGController
from code_import import ImportController
# Declares a list of the screens with their identifiers 
SCREENS = [("Menu", MenuController),
           ("Extract", ExtractController),
           ("Place", PlaceController),
           ("AP", APController),
	   ("SG", SGController),
	   ("Import", ImportController),
           ("Measure", MeasureController)]
[docs]class GWA(QtGui.QApplication):
    """
    Principal Class of the program, it instances the global object.
    """  
    def __init__(self, args):
        """
        Constructor
        """  
	# Application path
	self.gwa_path=os.path.dirname(os.path.realpath(__file__))
        QtGui.QApplication.__init__(self, args)
        # The QStackedWidget contains multiple widgets but only displays
        # one at a time
        self.scr_mgr = QtGui.QStackedWidget()
        self.scr_indexes= {}
        # Creates each screen widget and adds it into the QStackedWidget
        # Keeps also the index of each the screen widget in order to be 
        # able to display it when asked
        for idx, (scr_id, scr_class) in enumerate(SCREENS):
            self.scr_mgr.addWidget(scr_class(main=self))
            self.scr_indexes[scr_id] = idx
        # Starts with first screen
        self.goToScreen("Menu")
        self.scr_mgr.show()
[docs]    def goToScreen(self, screenId):
        """
        This function is called byt the "switchTo...",  function who is used to switch between the differrent interfaces
        """  
        self.scr_mgr.setCurrentIndex(self.scr_indexes[screenId])
 
[docs]    def switchToLieu(self):
        """
        This fonction is used to switch to switch on the environment management screen
        """  
        print ("going to next screen: Place")
        self.goToScreen("Place")
         
[docs]    def switchToAP(self):
        """
        This fonction is used to access Access Point management screen
        """  
        print ("going to next screen: AP")
        self.goToScreen("AP")
         
[docs]    def switchToMesure(self):
        """
        This fonction is used to switch to the "taking measure" screen
        """  
        print ("going to next screen: Measure")
        self.goToScreen("Measure")
 
[docs]    def switchToSG(self):
        """
        This fonction is used to switch to the "show graphics" screen
        """  
        print ("going to next screen: Show Graphics")
        self.goToScreen("SG")
 
[docs]    def switchToImport(self):
        """
        This fonction is used to switch to the "Import XML" screen
        """  
        print ("going to next screen: Import XML")
        self.goToScreen("Import")
 
[docs]    def quit(self):
        """
        This fonction is used to exit the programme
        """  
        print ("Close GWA")
        sys.exit()
  
if __name__ == "__main__":
    """
    Start Point of the program
    """
    app = GWA(sys.argv)
    sys.exit(app.exec_())
# GWA must be started with a superuser to be fully functional
#    if getpass.getuser() != 'root':
#        print "Please execute GWA using a superuser. Exit."
#        sys.exit()
#    else: