(***** * * Alternate definition of Appointment based on a more Mac-like GUI of the * following form: * * /----------| /--------------| /------------| /------------| /---------| * | General | | Recurrence | | Reminder | | Other | | Notes | * | Info | | | | | | Settings | | | * | -----------------------------------------------------------| * | | * | | * | | * | | * | | * | | * | Tab-specific data go here. | * | | * | | * | | * | | * | | * | | * | | * | | * | | * |---------------------------------------------------------------------| * * * Cf. the definition of Appointment in schedule.fmsl. * *) obj Appointment has GeneralInfo and Recurrence and Reminder and OtherSettings and Notes; obj GeneralInfo has Title and StartDate and EndDate and StartTime and Duration; obj Recurrence has IsRecurring and RecurringInterval and RecurringDetails; obj Reminder has IsReminded and RemindWhen and RemindWhere; obj OtherSettings has Category and Location and Security and Priority; obj Notes is string; (* Atoms and stubs: *) obj Title has string; obj StartDate; obj EndDate; obj StartTime; obj Duration; obj IsRecurring is boolean; obj RecurringInterval; obj RecurringDetails; obj IsReminded is boolean; obj RemindWhen; obj RemindWhere; obj Category; obj Location; obj Security; obj Priority;