Vultraz

Untitled

Jan 15th, 2016
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. Given
  2.  
  3. tabs_display.set_callback_value_change(dialog_callback
  4. <tpreferences, &tpreferences::on_tab_select>);
  5.  
  6. Where set_callback_value_change as a definition of
  7.  
  8.  
  9. void
  10. set_callback_value_change(const boost::function<void(twidget&)>& callback)
  11. {
  12. callback_value_changed_ = callback;
  13. }
  14.  
  15. If it possible to pass an argument to on_tab_select, which is:
  16.  
  17. void tpreferences::on_tab_select(twindow& window)
  18. {
  19. const int selected_row =
  20. std::max(0, find_widget<tlistbox>(&window, "gen_tab_bar", false).get_selected_row());
  21. set_visible_tab(window, static_cast<unsigned int>(selected_row));
  22. }
  23.  
  24.  
  25. dialog_callback is
  26.  
  27. /**
  28. * Template for dialog callbacks. Example usage:
  29. * widget->set_callback(dialog_callback<my_dialog_class,
  30. * &my_dialog_class::member_function>);
  31. */
  32. template <class D, void (D::*fptr)(twindow&)>
  33. void dialog_callback(twidget& caller)
  34. {
  35. D* dialog = dynamic_cast<D*>(caller.dialog());
  36. assert(dialog);
  37. twindow* window = dynamic_cast<twindow*>(caller.get_window());
  38. assert(window);
  39. (dialog->*fptr)(*window);
  40. }
Advertisement
Add Comment
Please, Sign In to add comment