extern DialoG CreateCalendarDateDialog ( GrouP prnt, Pointer userdata, DialogActnFunc actproc ) { CalendarDate cd; DatePagePtr dpp; DayTime dt; GrouP f; GrouP p; p = HiddenGroup (prnt, 1, 0, NULL); dpp = (DatePagePtr) MemNew (sizeof (DatePage)); if (dpp) { SetObjectExtra (p, dpp, StdCleanupExtraProc); dpp->dialog = (DialoG) p; dpp->todialog = CalendarDatePtrToDatePage; dpp->fromdialog = DatePageToCalendarDatePtr; dpp->testdialog = NULL; dpp->actproc = actproc; dpp->userdata = userdata; f = HiddenGroup (p, -6, 0, NULL); dpp->month = PopupList (f, TRUE, ChangeDateProc); SetObjectExtra (dpp->month, (Pointer) dpp, NULL); InitEnumPopup (dpp->month, months_alist, NULL); SetValue (dpp->month, 1); dpp->day = PopupList (f, TRUE, ChangeDateProc); SetObjectExtra (dpp->day, (Pointer) dpp, NULL); InitEnumPopup (dpp->day, days_alist, NULL); SetValue (dpp->day, 1); StaticPrompt (f, ",", 0, popupMenuHeight, programFont, 'l'); dpp->year = PopupList (f, TRUE, ChangeDateProc); SetObjectExtra (dpp->year, (Pointer) dpp, NULL); InitEnumPopup (dpp->year, years_alist, NULL); SetValue (dpp->year, 1); if (GetDayTime (&dt)) { cd.month = dt.tm_mon + 1; cd.day = dt.tm_mday; cd.year = dt.tm_year + 1900; CalendarDatePtrToDatePage ((DialoG) p, (Pointer) &cd); } } return (DialoG) p; }
extern void UpdateBadgesControls ( DialoG d ) { SscBadgPtr sbp; SscTablesPtr stp; Boolean was_visible = FALSE; sbp = (SscBadgPtr) GetObjectExtra (d); if (sbp == NULL) return; stp = sbp->tables; if (stp == NULL) return; if (! stp->payers.need_to_update) return; if (Visible (d) && AllParentsVisible (d)) { Hide (d); Update (); was_visible = TRUE; } if (stp->payers.need_to_update) { RecreateNameAlist (&(stp->payers)); Reset (sbp->name); InitEnumPopup (sbp->name, stp->payers.alist, NULL); SetValue (sbp->name, 0); } ChangeBadgTableSelect (sbp->badglog, sbp->currItem, 1, 1, FALSE); if (was_visible) { Show (d); Update (); } }