41 lines
808 B
Mathematica
41 lines
808 B
Mathematica
|
// 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;
|
||
|
}
|