version 1.17, 2010/12/29 21:49:06 |
version 1.18, 2012/04/23 22:40:47 |
|
|
void window_choose_mouse( |
void window_choose_mouse( |
struct window_pane *, struct session *, struct mouse_event *); |
struct window_pane *, struct session *, struct mouse_event *); |
|
|
|
void window_choose_fire_callback(struct window_pane *, int); |
void window_choose_redraw_screen(struct window_pane *); |
void window_choose_redraw_screen(struct window_pane *); |
void window_choose_write_line( |
void window_choose_write_line( |
struct window_pane *, struct screen_write_ctx *, u_int); |
struct window_pane *, struct screen_write_ctx *, u_int); |
|
|
window_choose_redraw_screen(wp); |
window_choose_redraw_screen(wp); |
} |
} |
|
|
|
void |
|
window_choose_fire_callback(struct window_pane *wp, int idx) |
|
{ |
|
struct window_choose_mode_data *data = wp->modedata; |
|
const struct window_mode *oldmode; |
|
|
|
oldmode = wp->mode; |
|
wp->mode = NULL; |
|
|
|
data->callbackfn(data->data, idx); |
|
|
|
wp->mode = oldmode; |
|
} |
|
|
/* ARGSUSED */ |
/* ARGSUSED */ |
void |
void |
window_choose_key(struct window_pane *wp, unused struct session *sess, int key) |
window_choose_key(struct window_pane *wp, unused struct session *sess, int key) |
|
|
|
|
switch (mode_key_lookup(&data->mdata, key)) { |
switch (mode_key_lookup(&data->mdata, key)) { |
case MODEKEYCHOICE_CANCEL: |
case MODEKEYCHOICE_CANCEL: |
data->callbackfn(data->data, -1); |
window_choose_fire_callback(wp, -1); |
window_pane_reset_mode(wp); |
window_pane_reset_mode(wp); |
break; |
break; |
case MODEKEYCHOICE_CHOOSE: |
case MODEKEYCHOICE_CHOOSE: |
item = &ARRAY_ITEM(&data->list, data->selected); |
item = &ARRAY_ITEM(&data->list, data->selected); |
data->callbackfn(data->data, item->idx); |
window_choose_fire_callback(wp, item->idx); |
window_pane_reset_mode(wp); |
window_pane_reset_mode(wp); |
break; |
break; |
case MODEKEYCHOICE_UP: |
case MODEKEYCHOICE_UP: |
|
|
data->selected = idx; |
data->selected = idx; |
|
|
item = &ARRAY_ITEM(&data->list, data->selected); |
item = &ARRAY_ITEM(&data->list, data->selected); |
data->callbackfn(data->data, item->idx); |
window_choose_fire_callback(wp, item->idx); |
window_pane_reset_mode(wp); |
window_pane_reset_mode(wp); |
break; |
break; |
} |
} |
|
|
data->selected = idx; |
data->selected = idx; |
|
|
item = &ARRAY_ITEM(&data->list, data->selected); |
item = &ARRAY_ITEM(&data->list, data->selected); |
data->callbackfn(data->data, item->idx); |
window_choose_fire_callback(wp, item->idx); |
window_pane_reset_mode(wp); |
window_pane_reset_mode(wp); |
} |
} |
|
|