Temporary workaround for resolve the automatic check of codelite
[bertos.git] / wizard / BOutputPage.py
index 2f7629d19e9e6b0e46883d894b0bad418b0495f0..0720e7a227756c51029d07cba97a803f8ad06f53 100644 (file)
@@ -4,7 +4,7 @@
 # Copyright 2009 Develer S.r.l. (http://www.develer.com/)
 # All rights reserved.
 #
-# $Id:$
+# $Id$
 #
 # Author: Lorenzo Berni <duplo@develer.com>
 #
@@ -15,38 +15,40 @@ from PyQt4.QtGui import *
 from BWizardPage import *
 import bertos_utils
 
+from const import *
 
 class BOutputPage(BWizardPage):
+    """
+    Page of the wizard that show a little summary of the previous decisions.
+    """
     
     def __init__(self):
-        BWizardPage.__init__(self, "output_select.ui")
+        BWizardPage.__init__(self, UI_LOCATION + "/output_select.ui")
         self.setTitle(self.tr("Choose the project output"))
-        self._setupButtonGroup()
-        self._connectSignals()
+        self.connectSignals()
+        self.setProjectInfo("OUTPUT", ["codelite"])
     
-    def _connectSignals(self):
-        self.connect(self._buttonGroup, SIGNAL("buttonClicked(int)"), self._buttonClicked)
+    ## Overloaded BWizardPage connectSignals method. ##
     
-    def _setupButtonGroup(self):
-        self._buttonGroup = QButtonGroup()
-        self._buttonGroup.addButton(self.pageContent.bbsButton)
-        self._buttonGroup.addButton(self.pageContent.eclipseButton)
-        self._buttonGroup.addButton(self.pageContent.codeliteButton)
-        self._buttonGroup.addButton(self.pageContent.xcodeButton)
+    def connectSignals(self):
+        """
+        Connects the signals with the related slots.
+        """
+        self.connect(self.pageContent.codeliteCheckBox, SIGNAL("stateChanged(int)"), lambda checked: self.modeChecked(checked, "codelite"))
     
-    def _buttonClicked(self):
-        self.emit(SIGNAL("completeChanged()"))
+    ####
     
-    def isComplete(self):
-        for button in self._buttonGroup.buttons():
-            if button.isChecked():
-                if button is self.pageContent.bbsButton:
-                    self._projectInfoStore("OUTPUT", "makefile")
-                elif button is self.pageContent.eclipseButton:
-                    self._projectInfoStore("OUTPUT", "eclipse")
-                elif button is self.pageContent.codeliteButton:
-                    self._projectInfoStore("OUTPUT", "codelite")
-                elif button is self.pageContent.xcodeButton:
-                    self._projectInfoStore("OUTPUT", "xcode")
-                return True
-        return False
\ No newline at end of file
+    ## Slots ##
+    
+    def modeChecked(self, checked, value):
+        """
+        Slot called when one of the mode checkbox is checked. It stores it.
+        """
+        output_list = self.projectInfo("OUTPUT")
+        if checked == Qt.Checked:
+            output_list.append(value)
+        else:
+            output_list.remove(value)
+        self.setProjectInfo("OUTPUT", output_list)
+
+    ####
\ No newline at end of file