(***** * * 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 = GeneralInfo and Recurrence and Reminder and OtherSettings and Notes; obj GeneralInfo = Title and StartDate and EndDate and StartTime and Duration; obj Recurrence = IsRecurring and RecurringInterval and RecurringDetails; obj Reminder = IsReminded and RemindWhen and RemindWhere; obj OtherSettings = Category and Location and Security and Priority; obj Notes = string; (* Atoms and stubs: *) obj Title = string; obj StartDate; obj EndDate; obj StartTime; obj Duration; obj IsRecurring = boolean; obj RecurringInterval; obj RecurringDetails; obj IsReminded = boolean; obj RemindWhen; obj RemindWhere; obj Category; obj Location; obj Security; obj Priority;