bork
[clean-tests.git] / afp / a4 / skeleton4.icl
index af496b7..6b96cd5 100644 (file)
@@ -73,7 +73,7 @@ gToString{|OBJECT|} fx (OBJECT x) = fx x
 \r
 instance + String where + s t = s +++ t\r
 \r
-Start w = doTasks (changeName student) w\r
+Start w = doTasks (changeNameEdcomb student) w\r
 \r
 enterStudent :: Task Student\r
 enterStudent = enterInformation "Enter a student" []\r
@@ -88,32 +88,33 @@ selectStudent :: ([Student] -> Task Student)
 selectStudent = enterChoice "Pick a student" []\r
 \r
 selectStudentOnlyName :: ([Student] -> Task Student)\r
-selectStudentOnlyName = enterChoice "Pick a student" [ChooseFromDropdown \s->s.Student.name]\r
+selectStudentOnlyName = enterChoice "Pick a student" [ChooseFromDropdown \{Student|name}->name]\r
 \r
 selectStudentFormat :: ([Student] -> Task Student)\r
 selectStudentFormat = enterChoice "Pick a student" [ChooseFromDropdown gToString{|*|}]\r
 \r
 selectPartner :: ([Student] -> Task [Student])\r
-selectPartner = enterMultipleChoice "Pick a partner" [ChooseFromDropdown \s->s.Student.name + "(" + gToString{|*|} s.Student.bama + ")"]\r
+selectPartner = enterMultipleChoice "Pick a partner" [ChooseFromDropdown \{name,bama}->name + "(" + gToString{|*|} bama + ")"]\r
 \r
 changeName :: Student -> Task Student\r
 changeName s\r
        =   viewInformation "Student to change" [] s\r
-       ||- updateInformation "New name" [UpdateAs (\s->s.Student.name) (\s n->{Student | s & name=n})] s\r
+       ||- updateInformation "New name" [UpdateAs (\{Student|name}->name) (\s n->{Student | s & name=n})] s\r
 \r
 changeNameEdcomb :: Student -> Task Student\r
 changeNameEdcomb s\r
-       =   updateInformation "New name" [UpdateUsing id (\_ v->v) studed] s\r
+       =   updateInformation "New name" [UpdateUsing id (\_ v->v) nameEditor] s\r
 where\r
-       studed :: Editor Student\r
-       studed = bijectEditorValue\r
-               (\s->(s.Student.name, s.snum, s.bama, s.year))\r
+       nameEditor :: Editor Student\r
+       nameEditor = bijectEditorValue\r
+               (\{name=n,snum=s,bama=b,year=y}->(n, s, b, y))\r
                (\(n,s,b,y)->{name=n,snum=s,bama=b,year=y})\r
                (container4\r
-                       gEditor{|*|}\r
-                       (withChangedEditMode toView gEditor{|*|})\r
-                       (withChangedEditMode toView gEditor{|*|})\r
-                       (withChangedEditMode toView gEditor{|*|})\r
+                       (gEditor{|*|} <<@ labelAttr "name")\r
+                       (withChangedEditMode toView gEditor{|*|} <<@ labelAttr "snum")\r
+                       (withChangedEditMode toView gEditor{|*|} <<@ labelAttr "bama")\r
+                       (withChangedEditMode toView gEditor{|*|} <<@ labelAttr "year")\r
                )\r
+\r
        toView (Update a) = View a\r
        toView v = v\r