Mercurial > dwindows
changeset 803:8555ac1bcbcd
Attempt at implementing column click events. Doesn't seem to work yet but needed to commit before switching to laptop.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Wed, 23 Mar 2011 20:45:34 +0000 |
parents | 676d46b31a11 |
children | 5b4a831af8fa |
files | mac/dw.m |
diffstat | 1 files changed, 16 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mac/dw.m Wed Mar 23 20:05:11 2011 +0000 +++ b/mac/dw.m Wed Mar 23 20:45:34 2011 +0000 @@ -116,7 +116,7 @@ } SignalList; /* List of signals */ -#define SIGNALMAX 16 +#define SIGNALMAX 17 SignalList SignalTranslate[SIGNALMAX] = { { 1, DW_SIGNAL_CONFIGURE }, @@ -134,7 +134,8 @@ { 13, DW_SIGNAL_SET_FOCUS }, { 14, DW_SIGNAL_VALUE_CHANGED }, { 15, DW_SIGNAL_SWITCH_PAGE }, - { 16, DW_SIGNAL_TREE_EXPAND } + { 16, DW_SIGNAL_TREE_EXPAND }, + { 17, DW_SIGNAL_COLUMN_CLICK } }; int _event_handler(id object, NSEvent *event, int message) @@ -319,6 +320,13 @@ return treeexpandfunc(handler->window, (HTREEITEM)event, handler->data); } + case 17: + { + int (*clickcolumnfunc)(HWND, int, void *) = handler->signalfunction; + int column_num = (int)event; + + return clickcolumnfunc(handler->window, column_num, handler->data); + } } } return -1; @@ -1022,6 +1030,7 @@ -(void)clear; -(void)setup; -(void)doubleClicked:(id)sender; +-(void)tableView:(NSTableView*)tableView mouseDownInHeaderOfTableColumn:(NSTableColumn *)tableColumn; -(void)selectionChanged:(id)sender; -(NSMenu *)menuForEvent:(NSEvent *)event; @end @@ -1169,6 +1178,11 @@ /* Handler for container class */ _event_handler(self, (NSEvent *)[self getRowTitle:(int)[self selectedRow]], 9); } +-(void)tableView:(NSTableView*)tableView mouseDownInHeaderOfTableColumn:(NSTableColumn *)tableColumn +{ + /* Handler for column click class */ + _event_handler(self, (NSEvent *)[tvcols indexOfObject:tableColumn], 17); +} -(void)selectionChanged:(id)sender { /* Handler for container class */