[BACK]Return to window-choose.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/Attic/window-choose.c between version 1.2 and 1.3

version 1.2, 2009/06/24 23:00:31 version 1.3, 2009/07/17 07:05:58
Line 59 
Line 59 
         u_int                   top;          u_int                   top;
         u_int                   selected;          u_int                   selected;
   
         void                    (*callback)(void *, int);          void                    (*callbackfn)(void *, int);
           void                    (*freefn)(void *);
         void                   *data;          void                   *data;
 };  };
   
Line 86 
Line 87 
 }  }
   
 void  void
 window_choose_ready(struct window_pane *wp,  window_choose_ready(struct window_pane *wp, u_int cur,
     u_int cur, void (*callback)(void *, int), void *cdata)      void (*callbackfn)(void *, int), void (*freefn)(void *), void *cdata)
 {  {
         struct window_choose_mode_data  *data = wp->modedata;          struct window_choose_mode_data  *data = wp->modedata;
         struct screen                   *s = &data->screen;          struct screen                   *s = &data->screen;
Line 96 
Line 97 
         if (data->selected > screen_size_y(s) - 1)          if (data->selected > screen_size_y(s) - 1)
                 data->top = ARRAY_LENGTH(&data->list) - screen_size_y(s);                  data->top = ARRAY_LENGTH(&data->list) - screen_size_y(s);
   
         data->callback = callback;          data->callbackfn = callbackfn;
           data->freefn = freefn;
         data->data = cdata;          data->data = cdata;
   
         window_choose_redraw_screen(wp);          window_choose_redraw_screen(wp);
Line 109 
Line 111 
         struct screen                   *s;          struct screen                   *s;
   
         wp->modedata = data = xmalloc(sizeof *data);          wp->modedata = data = xmalloc(sizeof *data);
         data->callback = NULL;  
           data->callbackfn = NULL;
           data->freefn = NULL;
           data->data = NULL;
   
         ARRAY_INIT(&data->list);          ARRAY_INIT(&data->list);
         data->top = 0;          data->top = 0;
   
Line 131 
Line 137 
         struct window_choose_mode_data  *data = wp->modedata;          struct window_choose_mode_data  *data = wp->modedata;
         u_int                            i;          u_int                            i;
   
           if (data->freefn != NULL && data->data != NULL)
                   data->freefn(data->data);
   
         mode_key_free(&data->mdata);          mode_key_free(&data->mdata);
   
         for (i = 0; i < ARRAY_LENGTH(&data->list); i++)          for (i = 0; i < ARRAY_LENGTH(&data->list); i++)
Line 168 
Line 177 
   
         switch (mode_key_lookup(&data->mdata, key)) {          switch (mode_key_lookup(&data->mdata, key)) {
         case MODEKEYCMD_QUIT:          case MODEKEYCMD_QUIT:
                 data->callback(data->data, -1);                  data->callbackfn(data->data, -1);
                 window_pane_reset_mode(wp);                  window_pane_reset_mode(wp);
                 break;                  break;
         case MODEKEYCMD_CHOOSE:          case MODEKEYCMD_CHOOSE:
                 item = &ARRAY_ITEM(&data->list, data->selected);                  item = &ARRAY_ITEM(&data->list, data->selected);
                 data->callback(data->data, item->idx);                  data->callbackfn(data->data, item->idx);
                 window_pane_reset_mode(wp);                  window_pane_reset_mode(wp);
                 break;                  break;
         case MODEKEYCMD_UP:          case MODEKEYCMD_UP:
Line 273 
Line 282 
         data->selected = idx;          data->selected = idx;
   
         item = &ARRAY_ITEM(&data->list, data->selected);          item = &ARRAY_ITEM(&data->list, data->selected);
         data->callback(data->data, item->idx);          data->callbackfn(data->data, item->idx);
         window_pane_reset_mode(wp);          window_pane_reset_mode(wp);
 }  }
   
Line 287 
Line 296 
         struct grid_cell                 gc;          struct grid_cell                 gc;
         int                              utf8flag;          int                              utf8flag;
   
         if (data->callback == NULL)          if (data->callbackfn == NULL)
                 fatalx("called before callback assigned");                  fatalx("called before callback assigned");
   
         utf8flag = options_get_number(&wp->window->options, "utf8");          utf8flag = options_get_number(&wp->window->options, "utf8");

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3