Made Listboxes non-editable in Mac OS X; also more TODOs.

This commit is contained in:
Pietro Gagliardi 2014-03-09 11:33:05 -04:00
parent f4506277b9
commit 1389fda528
2 changed files with 5 additions and 1 deletions

View File

@ -150,6 +150,8 @@ func listboxArrayController(tableColumn C.id) C.id {
Now with all that done, we're ready to creat a table column.
Columns need string identifiers; we'll just reuse the item key.
Editability is also handled here, as opposed to in NSTableView itself.
*/
var (
@ -157,11 +159,13 @@ var (
_initWithIdentifier = sel_getUid("initWithIdentifier:")
_tableColumnWithIdentifier = sel_getUid("tableColumnWithIdentifier:")
// _setEditable in sysdata_darwin.go
)
func newListboxTableColumn() C.id {
column := objc_alloc(_NSTableColumn)
column = C.objc_msgSend_id(column, _initWithIdentifier, listboxItemKey)
C.objc_msgSend_bool(column, _setEditable, C.BOOL(C.NO))
// TODO other properties?
bindListboxArray(column, newListboxArray())
return column

View File

@ -27,11 +27,11 @@ so I don't forget:
- Index(n) is the name used by reflect.Value; use a different one?
important things:
- Cocoa Listboxes should not be editable
- because the main event loop is not called if initialization fails, it is presently impossible for MsgBoxError() to work if UI initialization fails; this basically means we cannot allow initializiation to fail on Mac OS X if we want to be able to report UI init failures to the user with one
- figure out where to auto-place windows in Cocoa (also window coordinates are still not flipped properly so (0,0) on screen is the bottom-left)
- also provide a method to center windows; Cocoa provides one for us but
- I think Cocoa NSButton text is not vertically aligned properly...?
- and listbox item text is too low?
- NSPopUpButton does allow no initial selection ([b setSelectedIndex:-1]); use it
- need to use it /after/ adding initial items, otherwise it won't work
- find out if I can do the same with the ListBoxes