ui/motif/list.c

changeset 556
1a95de56dadc
parent 501
c0f108b1b709
child 595
e62047c59658
equal deleted inserted replaced
555:0b1bb5687dca 556:1a95de56dadc
204 static void ui_dropdown_selection( 204 static void ui_dropdown_selection(
205 Widget w, 205 Widget w,
206 UiListView *listview, 206 UiListView *listview,
207 XmComboBoxCallbackStruct *cb) 207 XmComboBoxCallbackStruct *cb)
208 { 208 {
209 UiListSelection sel = { 0, NULL }; 209 int index = cb->item_position;
210 if(cb->item_position > 0) { 210 void *elm = NULL;
211 sel.count = 1; 211 if(listview->var) {
212 sel.rows = malloc(sizeof(int)); 212 UiList *list = listview->var->value;
213 sel.rows[0] = cb->item_position-1; 213 elm = ui_list_get(list, index);
214 } 214 }
215
215 UiEvent event; 216 UiEvent event;
216 event.obj = listview->obj; 217 event.obj = listview->obj;
217 event.window = event.obj->window; 218 event.window = event.obj->window;
218 event.document = event.obj->ctx->document; 219 event.document = event.obj->ctx->document;
219 event.eventdata = &sel; 220 event.eventdata = elm;
220 event.intval = 0; 221 event.intval = index;
221 if(listview->onactivate) { 222 if(listview->onactivate) {
222 listview->onactivate(&event, listview->onactivatedata); 223 listview->onactivate(&event, listview->onactivatedata);
223 } 224 }
224 if(listview->onselection) { 225 if(listview->onselection) {
225 listview->onselection(&event, listview->onselectiondata); 226 listview->onselection(&event, listview->onselectiondata);

mercurial