summaryrefslogtreecommitdiff
path: root/redo/containers_darwin.m
diff options
context:
space:
mode:
Diffstat (limited to 'redo/containers_darwin.m')
-rw-r--r--redo/containers_darwin.m46
1 files changed, 46 insertions, 0 deletions
diff --git a/redo/containers_darwin.m b/redo/containers_darwin.m
new file mode 100644
index 0000000..0d3c33e
--- /dev/null
+++ b/redo/containers_darwin.m
@@ -0,0 +1,46 @@
+// 25 july 2014
+
+#import "objc_darwin.h"
+#import "_cgo_export.h"
+#import <Cocoa/Cocoa.h>
+
+#define toNSTabView(x) ((NSTabView *) (x))
+
+@interface goTabView : NSTabView {
+@public
+ void *gotab;
+}
+@end
+
+@implementation goTabView
+
+- (void)setFrame:(NSRect)r
+{
+ NSRect content;
+
+ [super setFrame:r];
+ content = [self contentRect];
+ tabResized(self->gotab, (intptr_t) content.size.width, (intptr_t) content.size.height);
+}
+
+@end
+
+id newTab(void *gotab)
+{
+ goTabView *t;
+
+ t = [[goTabView alloc] initWithFrame:NSMakeRect(0, 0, 100, 100)];
+ // TODO font
+ t->gotab = gotab;
+ return (id) t;
+}
+
+id tabAppend(id t, char *name)
+{
+ NSTabViewItem *i;
+
+ i = [[NSTabViewItem alloc] initWithIdentifier:nil];
+ [i setLabel:[NSString stringWithUTF8String:name]];
+ [toNSTabView(t) addTabViewItem:i];
+ return (id) [i view];
+}