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 {
uiDateTimePicker d;
OSTYPE *OSHANDLE;
NSDatePicker *dp;
};
uiDefineControlType(uiDateTimePicker, uiTypeDateTimePicker, struct datetimepicker)
@ -12,16 +12,21 @@ static uintptr_t datetimepickerHandle(uiControl *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;
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;
@ -30,15 +35,15 @@ uiDateTimePicker *finishNewDateTimePicker(OSTHING OSARG)
uiDateTimePicker *uiNewDateTimePicker(void)
{
return finishNewDateTimePicker(OSARGDATETIME);
return finishNewDateTimePicker(NSYearMonthDayDatePickerElementFlag | NSHourMinuteSecondDatePickerElementFlag);
}
uiDateTimePicker *uiNewDatePicker(void)
{
return finishNewDateTimePicker(OSARGDATEONLY);
return finishNewDateTimePicker(NSYearMonthDayDatePickerElementFlag);
}
uiDateTimePicker *uiNewTimePicker(void)
{
return finishNewDateTimePicker(OSARGTIMEONLY);
return finishNewDateTimePicker(NSHourMinuteSecondDatePickerElementFlag);
}

View File

@ -3,7 +3,7 @@
struct progressbar {
uiProgressBar p;
OSTYPE *OSHANDLE;
NSProgressIndicator *pi;
};
uiDefineControlType(uiProgressBar, uiTypeProgressBar, struct progressbar)
@ -12,7 +12,7 @@ static uintptr_t progressbarHandle(uiControl *c)
{
struct progressbar *p = (struct progressbar *) c;
return (uintptr_t) (p->OSHANDLE);
return (uintptr_t) (p->pi);
}
static void progressbarSetValue(uiProgressBar *pp, int value)
@ -30,7 +30,14 @@ uiProgressBar *uiNewProgressBar(void)
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;