From f35892e8929e5e9217745746f8e271e1466c37c1 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Tue, 4 Nov 2014 11:41:38 -0500 Subject: Implemented ProgressBar on Mac OS X. --- basicctrls_darwin.m | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'basicctrls_darwin.m') diff --git a/basicctrls_darwin.m b/basicctrls_darwin.m index c4b90c6..873882e 100644 --- a/basicctrls_darwin.m +++ b/basicctrls_darwin.m @@ -10,6 +10,7 @@ #define toNSWindow(x) ((NSWindow *) (x)) #define toNSBox(x) ((NSBox *) (x)) #define toNSTextView(x) ((NSTextView *) (x)) +#define toNSProgressIndicator(x) ((NSProgressIndicator *) (x)) @interface goControlDelegate : NSObject { @public @@ -271,3 +272,31 @@ void textboxSetText(id tv, char *text) { [toNSTextView(tv) setString:[NSString stringWithUTF8String:text]]; } + +id newProgressBar(void) +{ + NSProgressIndicator *pi; + + pi = [[NSProgressIndicator alloc] initWithFrame:NSZeroRect]; + [pi setStyle:NSProgressIndicatorBarStyle]; + [pi setControlSize:NSRegularControlSize]; + [pi setControlTint:NSDefaultControlTint]; + [pi setBezeled:YES]; + [pi setDisplayedWhenStopped:YES]; + [pi setUsesThreadedAnimation:YES]; + [pi setIndeterminate:NO]; + [pi setMinValue:0]; + [pi setMaxValue:100]; + [pi setDoubleValue:0]; + return (id) pi; +} + +intmax_t progressbarPercent(id pbar) +{ + return (intmax_t) [toNSProgressIndicator(pbar) doubleValue]; +} + +void progressbarSetPercent(id pbar, intmax_t percent) +{ + [toNSProgressIndicator(pbar) setDoubleValue:((double) percent)]; +} -- cgit v1.2.3