Beispiel #1
0
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;
}
Beispiel #2
0
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 ();
  }
}