(* enums for viewmenu*) object Sorting = sortFirstName or sortLastName or sortIdNumber or sortItem or sortFinalGrade; object sortFirstName; object sortLastName; object sortIdNumber; object sortItem; object sortFinalGrade; operation ViewItemExplorer inputs: gb:Gradebook; outputs: gb':Gradebook; precondition: ; postcondition: (* Easygrader opens the item explorer window *) ; description: (* ViewItemExplorer opens a new window that provides a tree view of gradebook items. *); end ViewItemExplorer; operation ViewPredictionMode inputs: gb:Gradebook; outputs: gb':Gradebook; precondition: ; postcondition: (gb' != gb) ; description: (* ViewPredictionMode allows the user to enter scores for assignments to "predict" what their grades will be. This mode highlights any score inputs to tell the user the scores in those assignments are arbitrary. Scores enter are not saved permanently but saved temporary so the user may use the prediction scores to view a pie chart or histogram. *); end ViewPredictionMode; operation ViewShowGroups inputs: gb:Gradebook; outputs: gb':Gradebook; precondition: (* group names are not displayed *) ; postcondition: (* group names are displayed *) ; description: (* ViewShowGroups display the list of students with group names. This option makes rows of groups visible with the list of students under that group name. *); end ViewShowGroups; operation ViewColorCoding inputs: enumPass:ColorCoding, gb:Gradebook; outputs: gb':Gradebook; precondition: (* one of the three enum in object ColorCoding*) ; postcondition: (* there must be color if colorCodingFinal or colorCodingALL is enumPass*) ; description: (* ViewColorCoding display colors that corresponds to the grade letter in the gradebook. If none is selected, there is no color, otherwise there must be color. Color ranges from green, blue, purple, orange, and red. FINAL_GRADES only display color of their "total grade" and ALL_GRADES display every single assignments' color. *); end ViewColorCoding; operation ViewSortBy inputs: enumPass:Sorting , gb:Gradebook; outputs: gb':Gradebook; precondition: (*one of five enum in object Sorting*) ; postcondition: (* must be sorted based on input*) ; description: (* ViewSortBy display a sorted list of students. This operation Alphabetize the students by last name, first name, id number, or by final grade. *); end ViewSortBy; operation ViewShowToolbar inputs: eg:EasyGrader; outputs: eg':EasyGrader; precondition: ; postcondition: (* the boolean in application preferences called showToolbar must be true*); description: (* ViewShowToolbar display a toolbar menu in easy grader. Toolbar menus are small icons of other operations. *); end ViewShowToolbar; operation WindowXWindow inputs: eg:EasyGrader, name:string; outputs: eg':EasyGrader; precondition: (* the name of the window must be opened*) ; postcondition: (* name is the current window*) ; description: (* WindowXWindow changes the the foremost window in Easy Grader to point to the window with name "name". *); end WindowXWindow; operation HelpAboutEasyGrader inputs: eg:EasyGrader; outputs: eg':EasyGrader; precondition: ; postcondition: (* Easygrader opens the help window*) ; description: (* HelpAboutEasyGrader opens a window that show a small window with version and copyright information. *); end HelpAboutEasyGrader;