ui/cocoa/ListDelegate.m

changeset 1163
a32411b88442
parent 1157
0a9f4d689c12
equal deleted inserted replaced
1162:3a2bf1795579 1163:a32411b88442
36 return self; 36 return self;
37 } 37 }
38 38
39 - (void)activateEvent:(id)sender { 39 - (void)activateEvent:(id)sender {
40 NSTableView *table = sender; 40 NSTableView *table = sender;
41
42 int row = (int)table.clickedRow;
43
44 UiListSelection sel;
45 sel.count = 1;
46 sel.rows = &row;
47
48 UiEvent event;
49 event.obj = _obj;
50 event.window = event.obj->window;
51 event.document = event.obj->ctx->document;
52 event.eventdata = &sel;
53 event.eventdatatype = UI_EVENT_DATA_LIST_SELECTION;
54 event.intval = row;
55 event.set = ui_get_setop();
56
41 if(_onactivate) { 57 if(_onactivate) {
42 int row = (int)table.clickedRow;
43
44 UiListSelection sel;
45 sel.count = 1;
46 sel.rows = &row;
47
48 UiEvent event;
49 event.obj = _obj;
50 event.window = event.obj->window;
51 event.document = event.obj->ctx->document;
52 event.eventdata = &sel;
53 event.eventdatatype = UI_EVENT_DATA_LIST_SELECTION;
54 event.intval = row;
55 event.set = ui_get_setop();
56
57 _onactivate(&event, _onactivatedata); 58 _onactivate(&event, _onactivatedata);
59 }
60
61 if(_onselection_action) {
62 uic_action_callback(&event, _onselection_action.UTF8String);
58 } 63 }
59 } 64 }
60 65
61 - (void) tableViewSelectionDidChange:(NSNotification *) notification { 66 - (void) tableViewSelectionDidChange:(NSNotification *) notification {
62 if(_onselection && ui_selection_events_is_enabled()) { 67 if(ui_selection_events_is_enabled()) {
63 UiListSelection sel = ui_tableview_selection(_tableview); 68 UiListSelection sel = ui_tableview_selection(_tableview);
64 69
65 UiEvent event; 70 UiEvent event;
66 event.obj = _obj; 71 event.obj = _obj;
67 event.window = event.obj->window; 72 event.window = event.obj->window;
68 event.document = event.obj->ctx->document; 73 event.document = event.obj->ctx->document;
69 event.eventdata = &sel; 74 event.eventdata = &sel;
70 event.eventdatatype = UI_EVENT_DATA_LIST_SELECTION; 75 event.eventdatatype = UI_EVENT_DATA_LIST_SELECTION;
71 event.intval = 0; 76 event.intval = 0;
72 event.set = ui_get_setop(); 77 event.set = ui_get_setop();
73 _onselection(&event, _onselectiondata); 78
79 if(_onselection) {
80 _onselection(&event, _onselectiondata);
81 }
82
83 if(_onselection_action) {
84 uic_action_callback(&event, _onselection_action.UTF8String);
85 }
74 } 86 }
75 } 87 }
76 88
77 @end 89 @end
78 90

mercurial