Interface Class Specifications

This document describes the classes in CampEditor. For each class the following is provided: 
  • A brief description of the class.
  • A list of the input variables passed to the algorithm module.
  • What checks are done to ensure data integrity.
  • How the class interacts with other parts of the HOOPS project.


CEdiGeneral
This class allows the user to modify general information about the camp.
    Error Checking: Require name of camp, start date and stop date.
    Input Variables: Camp name, start date, stop date and comments.
    HOOPS Interactons: The name, comments, start date and stop date member variables of the Camp have been set (or reset).
CEdiTeams 
This class allows the user to add new teams, and modify or delete existing teams.
    Error Checking: Each team must have a Coach's name, League Level and Team name. Each Team name must be unique.
    Input Variables: m_txtComments, m_txtEndDate, m_txtName, m_txtStartDate.
    HOOPS Interactions: All teams entered by the user are instantiated as objects of type Team by calling the addTeam method of CLeague. 
CEdiLeagues
This class allows the user to add new leagues and modify or delete existing leagues.
    Error Checking: Each league must have a League Level and a unique League Name.  At least one league must be created for any league level for which teams have registered.
    Input Variables: m_cmbLeagueLevel, m_grdLeagues, m_txtLeagueName (for each league to be added).
    HOOPS Interactions: League objects are instantiated by calling the addLeague method of CCamp.
CEdiSessions
This class allows the user to modify which sessions will exist during a camp.
    Error Checking: A camp must contain sessions from four consecutive days. 
    Input Variables: m_chkDaySession (21 total variables)
    HOOPS Interactions: Sets sesExists array, which initializes CEdiCourts and CEdiTimeSlots.
CEdiCourts
This class allows the user to indicate court availability during the different sessions of the camp. 
    Error Checking: No sessions should overlap within a court (check that the game duration*number of games + start time is before the start time of the next session on that court).
    Input Variables: m_txtSessionGameDuration, m_txtSessionStartTime, m_chkSession, m_cmbCourts (a set of these variables for each of the courts).
    HOOPS Interactions: Initialized the CourtNodes and CourtSessionNodes of the camp.
CEdiTimeSlots 
This class allows the user to indicate that, during a particular gametime, a court will not be available. 
    Error Checking: NONE
    Input Variables: m_chkDay(Num)SessionGame(Num), m_cmbBuildings, m_cmbCourts, m_cmpHelp.
    HOOPS Interactions: Updates CourtSessionNodes.
CEdiSchedule 
This class allows the user to view and modify the camp schedule. 
    Error Checking: Error checking accomplished using the Constraint Checker.
    Input Variables: Changes to the schedule datastructure.
    HOOPS Interactions: Updates the schedule member variable of the camp.
CEdiCourtDist 
This class allows the user to view how many times each team plays on each court. 
    Error Checking: NONE
    Input Variables: NONE
    HOOPS Interactions: NONE
CEdiErrorReport 
This class allows the user to view any errors and problems in the current schedule. 
    Error Checking: NONE
    Input Variables: NONE
    HOOPS Interactions: Run Error Report on request of the user.