(**** * * This file defines the objs and ops related to eClass. * *) object eClass is components: Roster and OutlinePreview and Chat and MainView; operations: FileNew, FileOpen, FileSave, FileSaveAs, FilePrint, FileQuit,EditUndo, EditRedo, EditCut, EditCopy, EditPaste, EditDelete, EditSelectAll, EditFind; end eClass; object Classroom is InstructoreClass and eClass*; object InstructoreClass extends eClass components: Roster; end InstructoreClass; operation showMainView inputs: mv:MainView; outputs: mv':MainView; description: (* showMainView shows or hides the MainView window in eClass, when it is checked or unchecked in the View command menu. It is toggled in the window via the isVisible boolean. *); precondition: (* * Under the View command menu in eClass, MainView must * have been either checked or unchecked *); postcondition: if( mv.isVisible = true) then( (mv.isVisible = false) ) else ( (mv.isVisible = true) ) and mv' = mv; end showMainView; operation showRoster inputs: r:Roster; outputs: r':Roster; description: (* showRoster shows or hides the Roster window in eClass, when it is checked or unchecked in the View command menu. It is toggled in the window via the isVisible boolean. *); precondition: (* * Under the View command menu in eClass, Roster must * have been either checked or unchecked *); postcondition: if( r.isVisible = true) then( (r.isVisible = false) ) else ( ( r.isVisible = true) ) and r' = r; end showRoster; operation showChat inputs: c:Chat; outputs: c':Chat; description: (* showChat shows or hides the Chat window in eClass, when it is checked or unchecked in the View command menu. It is toggled in the window via the isVisible boolean. *); precondition: (* * Under the View command menu in eClass, Chat must * have been either checked or unchecked *); postcondition: if( c.isVisible = true) then ( ( c.isVisible = false) ) else ( ( c.isVisible = true) ) and c' = c; end showChat; operation showOutlinePreview inputs: oprev:OutlinePreview; outputs: oprev':OutlinePreview; description: (* showOutlinePreview shows or hides the OutlinePreview window in eClass, when it is checked or unchecked in the View command menu. It is toggled in the window via the isVisible boolean. *); precondition: (* * Under the View command menu in eClass, OutlinePreview must * have been either checked or unchecked *); postcondition: if( oprev.isVisible = true) then ( ( oprev.isVisible = false) ) else ( ( oprev.isVisible = true) ) and oprev' = oprev; end showOutlinePreview; operation login inputs: clsroom:Classroom; outputs: clsroom':Classroom , rst:Roster; end login;