22from window import Window
33
44class Screen :
5- def __init__ (self , i , text , func ):
6- self .text = "Lesson " + i + ": " + text
7- self .screen_func = func
5+ def __init__ (self , title , showAs , func ):
6+ self .title = title
7+ self .showAs = showAs
8+ self .screenFunc = func
9+
10+ class LessonScreen :
11+ def __init__ (self , i , text , screenFunc ):
12+ title = "Lesson " + str (i )+ ": " + text
13+ showAs = title
14+ func = screenFunc
15+ super (LessonScreen , self ).__init__ (title , showAs , func )
16+
17+ class ProjectScreen :
18+ def __init__ (self , unit , proj , partTitle , screenFunc ):
19+ text = "Unit " + str (unit )+ " - " + proj + ": " + partTitle
20+ showAs = partTitle
21+ func = screenFunc
22+ super (ProjectScreen , self ).__init (title , showAs , func )
823
924class Screens (Window ):
1025 def new_lesson (self , screenNum ):
1126 screenNum -= 1
1227 self .new ()
1328 self .cenLbl (self .s [screenNum ].text )
14- if screenNum > 1 :
29+ if screenNum > 0 :
1530 prevBtn (self .s [screenNum - 1 ].func )
1631 if nextScn < len (self .s )- 1 :
1732 nextBtn (self .s [screenNum + 1 ].func )
@@ -28,12 +43,16 @@ def __init__(self, master=None):
2843 Screen (4 , "Data types" , self .data_types ),
2944 Screen (5 , "Hello, world!" , self .hello_world ),
3045 Screen (6 , "Input" , self .inp ),
31- Screen (7 , "If statements" , self .if_statement )
46+ Screen (7 , "If statements" , self .if_statement ),
3247 Screen (8 , "Else and elif statements" , self .else_elif )
3348 ]
3449
35- def s_init (self ):
50+ def s_init (self , unitNum ):
3651 self .new (home = True )
52+ s = "self.unit_" + str (unitNum )+ "()"
53+ exec (s )
54+
55+ def unit_1 (self )
3756 for i in range (len (self .screens )):
3857 s = self .s [i ]
3958 ind = i + 1
0 commit comments