summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--new/button_darwin.m16
-rw-r--r--new/entry_darwin.m21
-rw-r--r--new/uipriv_darwin.h1
-rw-r--r--new/util_darwin.m5
-rw-r--r--new/window_darwin.m10
5 files changed, 49 insertions, 4 deletions
diff --git a/new/button_darwin.m b/new/button_darwin.m
index 9eab2e4..a4191a9 100644
--- a/new/button_darwin.m
+++ b/new/button_darwin.m
@@ -53,7 +53,21 @@ uiControl *uiNewButton(const char *text)
return b.uiC;
}
-// TODO text
+char *uiButtonText(uiControl *c)
+{
+ uiNSButton *b;
+
+ b = (uiNSButton *) uiControlHandle(c);
+ return strdup(fromNSString([b title]));
+}
+
+void uiButtonSetText(uiControl *c, const char *text)
+{
+ uiNSButton *b;
+
+ b = (uiNSButton *) uiControlHandle(c);
+ [b setTitle:toNSString(text)];
+}
void uiButtonOnClicked(uiControl *c, void (*f)(uiControl *, void *), void *data)
{
diff --git a/new/entry_darwin.m b/new/entry_darwin.m
index b08d53b..4a4047a 100644
--- a/new/entry_darwin.m
+++ b/new/entry_darwin.m
@@ -20,14 +20,14 @@
// TOOD move elsewhere
// these are based on interface builder defaults; my comments in the old code weren't very good so I don't really know what talked about what, sorry :/
-void finishNewTextField(NSTextField *t, BOOL isLabel)
+void finishNewTextField(NSTextField *t, BOOL isEntry)
{
setStandardControlFont((id) t);
// THE ORDER OF THESE CALLS IS IMPORTANT; CHANGE IT AND THE BORDERS WILL DISAPPEAR
[t setBordered:NO];
[t setBezelStyle:NSTextFieldSquareBezel];
- [t setBezeled:isLabel];
+ [t setBezeled:isEntry];
// TODO autocorrect comment
@@ -49,3 +49,20 @@ uiControl *uiNewEntry(void)
return t.uiC;
}
+
+char *uiEntryText(uiControl *c)
+{
+ uiNSTextField *t;
+
+ t = (uiNSTextField *) uiControlHandle(c);
+ // TODO wrap all strdup calls
+ return strdup(fromNSString([t stringValue]));
+}
+
+void uiEntrySetText(uiControl *c, const char *text)
+{
+ uiNSTextField *t;
+
+ t = (uiNSTextField *) uiControlHandle(c);
+ [t setStringValue:toNSString(text)];
+}
diff --git a/new/uipriv_darwin.h b/new/uipriv_darwin.h
index 1205d81..5a48fca 100644
--- a/new/uipriv_darwin.h
+++ b/new/uipriv_darwin.h
@@ -6,6 +6,7 @@
#import "ui_darwin.h"
#define toNSString(str) [NSString stringWithUTF8String:(str)]
+#define fromNSString(str) [(str) UTF8String]
// TODO move this to the right place
struct uiSizing {
diff --git a/new/util_darwin.m b/new/util_darwin.m
index d8166e9..8fbf391 100644
--- a/new/util_darwin.m
+++ b/new/util_darwin.m
@@ -6,3 +6,8 @@ void setStandardControlFont(NSControl *control)
{
[control setFont:[NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:NSRegularControlSize]]];
}
+
+void uiFreeText(char *s)
+{
+ free(s);
+}
diff --git a/new/window_darwin.m b/new/window_darwin.m
index c2c312a..2052f18 100644
--- a/new/window_darwin.m
+++ b/new/window_darwin.m
@@ -79,7 +79,15 @@ uintptr_t uiWindowHandle(uiWindow *w)
return (uintptr_t) (D.w);
}
-// TODO titles
+char *uiWindowTitle(uiWindow *w)
+{
+ return strdup(fromNSString([D.w title]));
+}
+
+void uiWindowSetTitle(uiWindow *w, const char *title)
+{
+ [D.w setTitle:toNSString(title)];
+}
void uiWindowShow(uiWindow *w)
{