andlabs-ui/redo/tab_darwin.m

41 lines
808 B
Mathematica
Raw Normal View History

// 25 july 2014
#import "objc_darwin.h"
#import "_cgo_export.h"
#import <Cocoa/Cocoa.h>
#define toNSTabView(x) ((NSTabView *) (x))
#define toNSView(x) ((NSView *) (x))
id newTab(void)
{
NSTabView *t;
t = [[NSTabView alloc] initWithFrame:NSZeroRect];
setStandardControlFont((id) t); // safe; same selector provided by NSTabView
return (id) t;
}
void tabAppend(id t, char *name, id view)
{
NSTabViewItem *i;
i = [[NSTabViewItem alloc] initWithIdentifier:nil];
[i setLabel:[NSString stringWithUTF8String:name]];
[i setView:toNSView(view)];
[toNSTabView(t) addTabViewItem:i];
}
struct xsize tabPreferredSize(id control)
{
NSTabView *tv;
NSSize s;
struct xsize t;
tv = toNSTabView(control);
s = [tv minimumSize];
t.width = (intptr_t) s.width;
t.height = (intptr_t) s.height;
return t;
}