File:
[RetroPC.NET] /
np2 /
macos9 /
dialog /
d_clnd.cpp
Revision
1.1:
download - view:
text,
annotated -
select for diffs
Tue Jan 27 16:24:26 2004 JST (21 years, 9 months ago) by
yui
Branches:
MAIN
CVS tags:
VER_0_82_x64,
VER_0_82,
VER_0_81A,
VER_0_81,
VER_0_80,
VER_0_79,
VER_0_78,
VER_0_77,
VER_0_76,
VER_0_75,
VER_0_74,
HEAD
[MacOS9] fix Menu UI (T.Yui)
#include "compiler.h"
#include "strres.h"
#include "resource.h"
#include "np2.h"
#include "sysmng.h"
#include "timemng.h"
#include "dialog.h"
#include "dialogs.h"
#include "pccore.h"
#include "calendar.h"
static const char str_fmtdate[] = "%4d/%2d/%2d";
static const char str_fmttime[] = "%.2d/%.2d/%.2d";
static void setbtn(ControlHandle *btn, UINT8 calendar) {
SetControlValue(btn[0], (calendar == 1)?1:0);
SetControlValue(btn[1], (calendar == 0)?1:0);
}
static void setvirdate(DialogPtr hDlg, const _SYSTIME *st) {
char work[64];
Str255 workstr;
SPRINTF(work, str_fmtdate, st->year, st->month, st->day);
mkstr255(workstr, work);
SetDialogItemText(GetDlgItem(hDlg, IDC_VIRDATE), workstr);
SPRINTF(work, str_fmttime, st->hour, st->minute, st->second);
mkstr255(workstr, work);
SetDialogItemText(GetDlgItem(hDlg, IDC_VIRTIME), workstr);
}
void CalendarDialogProc(void) {
DialogPtr hDlg;
ControlHandle btn[2];
UINT8 calendar;
BOOL setnow;
_SYSTIME st;
int done;
short item;
hDlg = GetNewDialog(IDD_CALENDAR, NULL, (WindowPtr)-1);
if (!hDlg) {
return;
}
btn[0] = (ControlHandle)GetDlgItem(hDlg, IDC_CLNDREAL);
btn[1] = (ControlHandle)GetDlgItem(hDlg, IDC_CLNDVIR);
calendar = (np2cfg.calendar)?1:0;
setbtn(btn, calendar);
setnow = FALSE;
st = cal.dt;
setvirdate(hDlg, &st);
SetDialogDefaultItem(hDlg, IDOK);
SetDialogCancelItem(hDlg, IDCANCEL);
done = 0;
while(!done) {
ModalDialog(NULL, &item);
switch(item) {
case IDOK:
if (np2cfg.calendar != calendar) {
np2cfg.calendar = calendar;
sysmng_update(SYS_UPDATECFG);
}
if (setnow) {
cal.dt = st;
}
done = IDOK;
break;
case IDCANCEL:
done = IDCANCEL;
break;
case IDC_CLNDREAL:
calendar = 1;
setbtn(btn, calendar);
break;
case IDC_CLNDVIR:
calendar = 0;
setbtn(btn, calendar);
break;
case IDC_SETNOW:
setnow = TRUE;
timemng_gettime(&st);
setvirdate(hDlg, &st);
break;
}
}
DisposeDialog(hDlg);
}
RetroPC.NET-CVS <cvs@retropc.net>