Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Workshop.activity/TutorialStoreHome.py
diff options
context:
space:
mode:
Diffstat (limited to 'Workshop.activity/TutorialStoreHome.py')
-rw-r--r--Workshop.activity/TutorialStoreHome.py187
1 files changed, 187 insertions, 0 deletions
diff --git a/Workshop.activity/TutorialStoreHome.py b/Workshop.activity/TutorialStoreHome.py
new file mode 100644
index 0000000..a9051e7
--- /dev/null
+++ b/Workshop.activity/TutorialStoreHome.py
@@ -0,0 +1,187 @@
+import logging
+import TutorialStoreCategories
+import TutorialStoreSearch
+import TutorialStoreSuggestion
+from TutorialStoreDetails import TutorialStoreDetails
+from TutorialStoreResults import TutorialStoreResults
+from WorkshopController import StoreController
+from dialogs import StoreInformationDialog
+
+import sys, os
+import gtk
+
+
+class TutorialStore(gtk.Alignment):
+ """
+ Main container for the Tutorial Store part of the workshop
+ """
+ def __init__(self,model):
+ gtk.Alignment.__init__(self,0.0,0.0,1.0,1.0)
+
+ self.controller = StoreController(self,model)
+ model.set_store_view(self)
+
+ self.store_home = TutorialStoreHome(self.controller)
+
+ self.add(self.store_home)
+ self.store_home.show()
+
+ self.controller.get_categories()
+ self.controller.get_popular()
+ self.controller.get_also_like()
+
+ def set_categories(self,categories):
+ self.store_home.set_categories(categories)
+
+ def set_tutorial_list(self,tutorial_list):
+ self.store_home.set_tutorial_list(tutorial_list)
+
+ def show_details(self,tutorial):
+ self.store_home.show_details(tutorial)
+
+ def set_popular(self,tutorials):
+ self.store_home.set_popular(tutorials)
+
+ def set_also_like(self,tutorials):
+ self.store_home.set_also_like(tutorials)
+
+ def display_infos(self,tutorial):
+ self.store_home.display_infos(tutorial)
+
+ def set_button_sensitive(self,back,next):
+ self.store_home.set_button_sensitive(back,next)
+
+ def show_search_result(self):
+ self.store_home.show_search_result()
+
+class TutorialStoreHome(gtk.HBox):
+ def __init__(self,controller):
+ gtk.HBox.__init__(self,False,5)
+ self.controller = controller
+
+ self.categories = TutorialStoreCategories.TutorialStoreCategories(self.controller)
+
+ self.search = TutorialStoreSearch.TutorialStoreSearch(self.controller)
+
+ self.suggestion = TutorialStoreSuggestion.TutorialStoreSuggestion(controller)
+
+ self.center_container = gtk.Alignment(0.0,0.0,1.0,1.0)
+ self.search_result = TutorialStoreResults(self.controller)
+
+
+ self.center_container.add(self.suggestion)
+
+ tut_store_home_base = gtk.VBox(False, 5)
+ tut_store_home_base.pack_start(self.search, False, False,10)
+ sep = gtk.HSeparator()
+ tut_store_home_base.pack_start(sep, False, False)
+ tut_store_home_base.pack_start(self.center_container,True,True)
+
+
+ self.pack_start(self.categories, True, True, 5)
+ self.pack_start(tut_store_home_base, True, True, 5)
+ #self.pack_start(tut_store_home_base, True, True, 5)
+
+ #tut_store_suggestion.show()
+ self.categories.show()
+ tut_store_home_base.show()
+ self.search.show()
+ sep.show()
+ self.center_container.show_all()
+ self.suggestion.show_all()
+
+ def set_categories(self,categories):
+ self.categories.set_categories(categories)
+ self.search.set_categories(categories)
+
+ def display_infos(self,tutorial):
+ dialog = StoreInformationDialog(tutorial)
+ dialog.run()
+ dialog.destroy()
+
+ def set_popular(self,tutorials):
+ self.suggestion.set_popular(tutorials)
+
+ def set_also_like(self,tutorials):
+ self.suggestion.set_also_like(tutorials)
+
+ def set_tutorial_list(self,tutorial_list):
+ self.search_result.set_tutorial_list(tutorial_list)
+ for child in self.center_container:
+ self.center_container.remove(child)
+
+ self.center_container.add(self.search_result)
+ self.search_result.show()
+
+ def show_details(self,tutorial):
+ self.details = TutorialStoreDetails(tutorial,self.controller)
+ for child in self.center_container:
+ self.center_container.remove(child)
+
+ self.center_container.add(self.details)
+ self.details.show()
+
+ def show_search_result(self):
+ for child in self.center_container:
+ self.center_container.remove(child)
+
+ self.center_container.add(self.search_result)
+ self.search_result.show()
+
+
+ def get_results_widget(self):
+
+ self.search = TutorialStoreSearch.TutorialStoreSearch()
+ tutorial_store_search = self.search.tutorial_store_search
+
+ self.results = TutorialStoreResults.TutorialStoreResults()
+ tutorial_store_results = self.results.tutorial_store_results
+
+ self.categories = TutorialStoreCategories.TutorialStoreCategories()
+ categories_frame = self.categories.categorie_box_frame
+
+ tut_store_home_base = gtk.VBox(False, 5)
+ tut_store_home_base.pack_start(tutorial_store_search, False, False, 25)
+ tut_store_home_base.pack_start(tutorial_store_results, False, False, 0)
+
+ self.tutorial_store_home = gtk.HBox(False, 5)
+ self.tutorial_store_home.pack_start(categories_frame, True, True, 5)
+ self.tutorial_store_home.pack_start(tut_store_home_base, True, True, 5)
+
+ tut_store_home_base.show()
+ tutorial_store_search.show()
+ tutorial_store_results.show()
+ categories_frame.show()
+ self.tutorial_store_home.show()
+
+ return self.tutorial_store_home
+
+ def get_details_widget(self):
+
+ self.search = TutorialStoreSearch.TutorialStoreSearch()
+ tutorial_store_search = self.search.tutorial_store_search
+
+ self.details = TutorialStoreDetails.TutorialStoreDetails()
+ tutorial_store_details = self.details.tutorial_store_details
+
+ self.categories = TutorialStoreCategories.TutorialStoreCategories()
+ categories_frame = self.categories.categorie_box_frame
+
+ tut_store_home_base = gtk.VBox(False, 5)
+ tut_store_home_base.pack_start(tutorial_store_search, False, False, 25)
+ tut_store_home_base.pack_start(tutorial_store_details, False, False, 0)
+
+ self.tutorial_store_home = gtk.HBox(False, 5)
+ self.tutorial_store_home.pack_start(categories_frame, True, True, 5)
+ self.tutorial_store_home.pack_start(tut_store_home_base, True, True, 5)
+
+ tut_store_home_base.show()
+ tutorial_store_search.show()
+ tutorial_store_details.show()
+ categories_frame.show()
+ self.tutorial_store_home.show()
+
+ return self.tutorial_store_home
+
+ def set_button_sensitive(self,back,next):
+ self.search_result.set_button_sensitive(back,next)