More OS X control work.

This commit is contained in:
Pietro Gagliardi 2015-07-28 11:47:05 -04:00
parent 15a3d151cd
commit 58ad6989c9
2 changed files with 23 additions and 11 deletions

View File

@ -3,7 +3,7 @@
struct datetimepicker { struct datetimepicker {
uiDateTimePicker d; uiDateTimePicker d;
OSTYPE *OSHANDLE; NSDatePicker *dp;
}; };
uiDefineControlType(uiDateTimePicker, uiTypeDateTimePicker, struct datetimepicker) uiDefineControlType(uiDateTimePicker, uiTypeDateTimePicker, struct datetimepicker)
@ -12,16 +12,21 @@ static uintptr_t datetimepickerHandle(uiControl *c)
{ {
struct datetimepicker *d = (struct datetimepicker *) c; struct datetimepicker *d = (struct datetimepicker *) c;
return (uintptr_t) (d->OSHANDLE); return (uintptr_t) (d->dp);
} }
uiDateTimePicker *finishNewDateTimePicker(OSTHING OSARG) uiDateTimePicker *finishNewDateTimePicker(NSDatePickerElementFlags elements)
{ {
struct datetimepicker *d; struct datetimepicker *d;
d = (struct datetimepicker *) MAKE_CONTROL_INSTANCE(uiTypeDateTimePicker()); d = (struct datetimepicker *) uiNewControl(uiTypeDateTimePicker());
PUT_CODE_HERE; d->dp = [[NSDatePicker alloc] initWithFrame:NSZeroRect];
// TODO text field stuff
[d->dp setDatePickerStyle:NSTextFieldAndStepperDatePickerStyle];
[d->dp setDatePickerElements:elements];
[d->dp setDatePickerMode:NSSingleDateMode];
// TODO get date picker font
uiControl(d)->Handle = datetimepickerHandle; uiControl(d)->Handle = datetimepickerHandle;
@ -30,15 +35,15 @@ uiDateTimePicker *finishNewDateTimePicker(OSTHING OSARG)
uiDateTimePicker *uiNewDateTimePicker(void) uiDateTimePicker *uiNewDateTimePicker(void)
{ {
return finishNewDateTimePicker(OSARGDATETIME); return finishNewDateTimePicker(NSYearMonthDayDatePickerElementFlag | NSHourMinuteSecondDatePickerElementFlag);
} }
uiDateTimePicker *uiNewDatePicker(void) uiDateTimePicker *uiNewDatePicker(void)
{ {
return finishNewDateTimePicker(OSARGDATEONLY); return finishNewDateTimePicker(NSYearMonthDayDatePickerElementFlag);
} }
uiDateTimePicker *uiNewTimePicker(void) uiDateTimePicker *uiNewTimePicker(void)
{ {
return finishNewDateTimePicker(OSARGTIMEONLY); return finishNewDateTimePicker(NSHourMinuteSecondDatePickerElementFlag);
} }

View File

@ -3,7 +3,7 @@
struct progressbar { struct progressbar {
uiProgressBar p; uiProgressBar p;
OSTYPE *OSHANDLE; NSProgressIndicator *pi;
}; };
uiDefineControlType(uiProgressBar, uiTypeProgressBar, struct progressbar) uiDefineControlType(uiProgressBar, uiTypeProgressBar, struct progressbar)
@ -12,7 +12,7 @@ static uintptr_t progressbarHandle(uiControl *c)
{ {
struct progressbar *p = (struct progressbar *) c; struct progressbar *p = (struct progressbar *) c;
return (uintptr_t) (p->OSHANDLE); return (uintptr_t) (p->pi);
} }
static void progressbarSetValue(uiProgressBar *pp, int value) static void progressbarSetValue(uiProgressBar *pp, int value)
@ -30,7 +30,14 @@ uiProgressBar *uiNewProgressBar(void)
p = (struct progressbar *) MAKE_CONTROL_INSTANCE(uiTypeProgressBar()); p = (struct progressbar *) MAKE_CONTROL_INSTANCE(uiTypeProgressBar());
PUT_CODE_HERE; p->pi = [[NSProgressIndicator alloc] initWithFrame:NSZeroRect];
NSLog(@"TEST thread %d tint %d stopped %d", (int) [p->pi usesThreadedAnimation], [p->pi controlTint], (int) [p->pi displayedWhenStopped]);
[p->pi setControlSize:NSRegularControlSize];
[p->pi setBezeled:YES];
[p->pi setStyle:NSProgressIndicatorBarStyle];
[p->pi setIndeterminate:NO];
NSLog(@"TEST thread %d tint %d stopped %d", (int) [p->pi usesThreadedAnimation], [p->pi controlTint], (int) [p->pi displayedWhenStopped]);
uiDarwinMakeSingleViewControl(uiControl(p), p->pi, NO);
uiControl(p)->Handle = progressbarHandle; uiControl(p)->Handle = progressbarHandle;