BeremizIDE.py
changeset 3351 88dbdebd10fc
parent 3350 0d86fd9691ec
child 3368 5e220ce4cb9f
--- a/BeremizIDE.py	Mon Sep 13 17:57:47 2021 +0200
+++ b/BeremizIDE.py	Mon Sep 13 22:23:14 2021 +0200
@@ -241,6 +241,7 @@
     def _init_utils(self):
         self.ConfNodeMenu = wx.Menu(title='')
         self.RecentProjectsMenu = wx.Menu(title='')
+        self.TutorialsProjectsMenu = wx.Menu(title='')
 
         IDEFrame._init_utils(self)
 
@@ -251,6 +252,28 @@
                    kind=wx.ITEM_NORMAL, text=_(u'Open') + '\tCTRL+O')
         parent.AppendMenu(ID_FILEMENURECENTPROJECTS, _("&Recent Projects"), self.RecentProjectsMenu)
         parent.AppendSeparator()
+        parent.Append(wx.ID_ANY, _("&Tutorials and Examples"), self.TutorialsProjectsMenu)
+
+        exemples_dir = Bpath("exemples")
+        project_list = sorted(os.listdir(exemples_dir))
+
+        for idx, dirname  in enumerate(project_list):
+            text = u'&%d: %s' % (idx + 1, dirname)
+
+            item = self.TutorialsProjectsMenu.Append(wx.ID_ANY, text, '')
+
+            projectpath = os.path.join(exemples_dir, dirname)
+
+            def OpenExemple(event):
+                if self.CTR is not None and not self.CheckSaveBeforeClosing():
+                    return
+
+                self.OpenProject(projectpath)
+                if not self.CTR.CheckProjectPathPerm():
+                    self.ResetView()
+
+            self.Bind(wx.EVT_MENU, OpenExemple, item)
+        parent.AppendSeparator()
         AppendMenu(parent, help='', id=wx.ID_SAVE,
                    kind=wx.ITEM_NORMAL, text=_(u'Save') + '\tCTRL+S')
         AppendMenu(parent, help='', id=wx.ID_SAVEAS,