diff options
| author | Pietro Gagliardi <[email protected]> | 2014-08-18 10:41:58 -0400 |
|---|---|---|
| committer | Pietro Gagliardi <[email protected]> | 2014-08-18 10:41:58 -0400 |
| commit | 570f08a49ce1099cee4feed9ae006b3f0545b7a0 (patch) | |
| tree | 73ac420fd2d427473e62e68ad4ac13cf3db1a9a0 | |
| parent | a8f711dfad63c5b1949439ac33ab4a162ab90ded (diff) | |
Implemented Table.Selected()/Select() on Mac OS X. Also more TODOs.
| -rw-r--r-- | redo/future | 1 | ||||
| -rw-r--r-- | redo/objc_darwin.h | 2 | ||||
| -rw-r--r-- | redo/table_darwin.go | 12 | ||||
| -rw-r--r-- | redo/table_darwin.m | 12 |
4 files changed, 27 insertions, 0 deletions
diff --git a/redo/future b/redo/future index 0206cb1..d5bcf96 100644 --- a/redo/future +++ b/redo/future @@ -68,3 +68,4 @@ gtk+, mac os x - once that is done, document the behavior of Areas all - make spaced settable somehow + - rename Selected to Selection? diff --git a/redo/objc_darwin.h b/redo/objc_darwin.h index f07180d..f828445 100644 --- a/redo/objc_darwin.h +++ b/redo/objc_darwin.h @@ -93,6 +93,8 @@ extern void tableAppendColumn(id, intptr_t, char *, int, BOOL); extern void tableUpdate(id); extern void tableMakeDataSource(id, void *); extern struct xsize tablePreferredSize(id); +extern intptr_t tableSelected(id); +extern void tableSelect(id, intptr_t); /* control_darwin.m */ extern void parent(id, id); diff --git a/redo/table_darwin.go b/redo/table_darwin.go index 1f889c0..bccaf1b 100644 --- a/redo/table_darwin.go +++ b/redo/table_darwin.go @@ -62,6 +62,18 @@ func (t *table) LoadImageList(i ImageList) { i.apply(&t.images) } +func (t *table) Selected() int { + t.RLock() + defer t.RUnlock() + return int(C.tableSelected(t._id)) +} + +func (t *table) Select(index int) { + t.RLock() + defer t.RUnlock() + C.tableSelect(t._id, C.intptr_t(index)) +} + //export goTableDataSource_getValue func goTableDataSource_getValue(data unsafe.Pointer, row C.intptr_t, col C.intptr_t, outtype *C.int) unsafe.Pointer { t := (*table)(data) diff --git a/redo/table_darwin.m b/redo/table_darwin.m index e3c2192..5fdac83 100644 --- a/redo/table_darwin.m +++ b/redo/table_darwin.m @@ -173,3 +173,15 @@ struct xsize tablePreferredSize(id control) s.height += (intptr_t) [[t headerView] frame].size.height; return s; } + +intptr_t tableSelected(id table) +{ + return (intptr_t) [toNSTableView(table) selectedRow]; +} + +void tableSelect(id table, intptr_t row) +{ + [toNSTableView(table) deselectAll:table]; + if (row != -1) + [toNSTableView(table) selectRowIndexes:[NSIndexSet indexSetWithIndex:((NSUInteger) row)] byExtendingSelection:NO]; +} |
