# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1300913134 0 # Node ID 8555ac1bcbcd79535a2b0e217db313bc452e7df7 # Parent 676d46b31a11f5722ed9aec244c3ee6f30a08113 Attempt at implementing column click events. Doesn't seem to work yet but needed to commit before switching to laptop. diff -r 676d46b31a11 -r 8555ac1bcbcd mac/dw.m --- 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 */