Mercurial > dwindows
comparison mac/dw.m @ 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 |
comparison
equal
deleted
inserted
replaced
802:676d46b31a11 | 803:8555ac1bcbcd |
---|---|
114 char name[30]; | 114 char name[30]; |
115 | 115 |
116 } SignalList; | 116 } SignalList; |
117 | 117 |
118 /* List of signals */ | 118 /* List of signals */ |
119 #define SIGNALMAX 16 | 119 #define SIGNALMAX 17 |
120 | 120 |
121 SignalList SignalTranslate[SIGNALMAX] = { | 121 SignalList SignalTranslate[SIGNALMAX] = { |
122 { 1, DW_SIGNAL_CONFIGURE }, | 122 { 1, DW_SIGNAL_CONFIGURE }, |
123 { 2, DW_SIGNAL_KEY_PRESS }, | 123 { 2, DW_SIGNAL_KEY_PRESS }, |
124 { 3, DW_SIGNAL_BUTTON_PRESS }, | 124 { 3, DW_SIGNAL_BUTTON_PRESS }, |
132 { 11, DW_SIGNAL_LIST_SELECT }, | 132 { 11, DW_SIGNAL_LIST_SELECT }, |
133 { 12, DW_SIGNAL_ITEM_SELECT }, | 133 { 12, DW_SIGNAL_ITEM_SELECT }, |
134 { 13, DW_SIGNAL_SET_FOCUS }, | 134 { 13, DW_SIGNAL_SET_FOCUS }, |
135 { 14, DW_SIGNAL_VALUE_CHANGED }, | 135 { 14, DW_SIGNAL_VALUE_CHANGED }, |
136 { 15, DW_SIGNAL_SWITCH_PAGE }, | 136 { 15, DW_SIGNAL_SWITCH_PAGE }, |
137 { 16, DW_SIGNAL_TREE_EXPAND } | 137 { 16, DW_SIGNAL_TREE_EXPAND }, |
138 { 17, DW_SIGNAL_COLUMN_CLICK } | |
138 }; | 139 }; |
139 | 140 |
140 int _event_handler(id object, NSEvent *event, int message) | 141 int _event_handler(id object, NSEvent *event, int message) |
141 { | 142 { |
142 SignalHandler *handler = _get_handler(object, message); | 143 SignalHandler *handler = _get_handler(object, message); |
316 case 16: | 317 case 16: |
317 { | 318 { |
318 int (* API treeexpandfunc)(HWND, HTREEITEM, void *) = (int (* API)(HWND, HTREEITEM, void *))handler->signalfunction; | 319 int (* API treeexpandfunc)(HWND, HTREEITEM, void *) = (int (* API)(HWND, HTREEITEM, void *))handler->signalfunction; |
319 | 320 |
320 return treeexpandfunc(handler->window, (HTREEITEM)event, handler->data); | 321 return treeexpandfunc(handler->window, (HTREEITEM)event, handler->data); |
322 } | |
323 case 17: | |
324 { | |
325 int (*clickcolumnfunc)(HWND, int, void *) = handler->signalfunction; | |
326 int column_num = (int)event; | |
327 | |
328 return clickcolumnfunc(handler->window, column_num, handler->data); | |
321 } | 329 } |
322 } | 330 } |
323 } | 331 } |
324 return -1; | 332 return -1; |
325 } | 333 } |
1020 -(int)lastQueryPoint; | 1028 -(int)lastQueryPoint; |
1021 -(void)setLastQueryPoint:(int)input; | 1029 -(void)setLastQueryPoint:(int)input; |
1022 -(void)clear; | 1030 -(void)clear; |
1023 -(void)setup; | 1031 -(void)setup; |
1024 -(void)doubleClicked:(id)sender; | 1032 -(void)doubleClicked:(id)sender; |
1033 -(void)tableView:(NSTableView*)tableView mouseDownInHeaderOfTableColumn:(NSTableColumn *)tableColumn; | |
1025 -(void)selectionChanged:(id)sender; | 1034 -(void)selectionChanged:(id)sender; |
1026 -(NSMenu *)menuForEvent:(NSEvent *)event; | 1035 -(NSMenu *)menuForEvent:(NSEvent *)event; |
1027 @end | 1036 @end |
1028 | 1037 |
1029 @implementation DWContainer | 1038 @implementation DWContainer |
1166 } | 1175 } |
1167 -(void)doubleClicked:(id)sender | 1176 -(void)doubleClicked:(id)sender |
1168 { | 1177 { |
1169 /* Handler for container class */ | 1178 /* Handler for container class */ |
1170 _event_handler(self, (NSEvent *)[self getRowTitle:(int)[self selectedRow]], 9); | 1179 _event_handler(self, (NSEvent *)[self getRowTitle:(int)[self selectedRow]], 9); |
1180 } | |
1181 -(void)tableView:(NSTableView*)tableView mouseDownInHeaderOfTableColumn:(NSTableColumn *)tableColumn | |
1182 { | |
1183 /* Handler for column click class */ | |
1184 _event_handler(self, (NSEvent *)[tvcols indexOfObject:tableColumn], 17); | |
1171 } | 1185 } |
1172 -(void)selectionChanged:(id)sender | 1186 -(void)selectionChanged:(id)sender |
1173 { | 1187 { |
1174 /* Handler for container class */ | 1188 /* Handler for container class */ |
1175 _event_handler(self, (NSEvent *)[self getRowTitle:(int)[self selectedRow]], 12); | 1189 _event_handler(self, (NSEvent *)[self getRowTitle:(int)[self selectedRow]], 12); |