summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--redo/area_darwin.m4
-rw-r--r--redo/objc_darwin.h1
-rw-r--r--redo/textfield_darwin.go4
3 files changed, 6 insertions, 3 deletions
diff --git a/redo/area_darwin.m b/redo/area_darwin.m
index 033509b..020ece8 100644
--- a/redo/area_darwin.m
+++ b/redo/area_darwin.m
@@ -225,9 +225,9 @@ void areaTextFieldOpen(id area, id textfield, intptr_t x, intptr_t y)
goAreaView *a = (goAreaView *) area;
NSTextField *tf = toNSTextField(textfield);
+ // see TextField.preferredSize() in textfield_darwin.go
[tf sizeToFit];
- // TODO
- [tf setFrameSize:NSMakeSize(150, [tf frame].size.height)];
+ [tf setFrameSize:NSMakeSize(textfieldWidth, [tf frame].size.height)];
[tf setFrameOrigin:NSMakePoint((CGFloat) x, (CGFloat) y)];
[tf setHidden:NO];
[[tf window] makeFirstResponder:tf];
diff --git a/redo/objc_darwin.h b/redo/objc_darwin.h
index 57f7acf..d42b806 100644
--- a/redo/objc_darwin.h
+++ b/redo/objc_darwin.h
@@ -58,6 +58,7 @@ extern id windowContentView(id);
extern void windowRedraw(id);
/* basicctrls_darwin.m */
+#define textfieldWidth (96) /* according to Interface Builder */
extern id newButton(void);
extern void buttonSetDelegate(id, void *);
extern const char *buttonText(id);
diff --git a/redo/textfield_darwin.go b/redo/textfield_darwin.go
index cbe5f8b..89711d4 100644
--- a/redo/textfield_darwin.go
+++ b/redo/textfield_darwin.go
@@ -81,7 +81,9 @@ func (t *textfield) allocate(x int, y int, width int, height int, d *sizing) []*
}
func (t *textfield) preferredSize(d *sizing) (width, height int) {
- return basepreferredSize(t, d)
+ _, height = basepreferredSize(t, d)
+ // the returned width is based on the contents; use this instead
+ return C.textfieldWidth, height
}
func (t *textfield) commitResize(a *allocation, d *sizing) {