change gui2::tselectable (and hence ttoggle_button)...
...state_change callback to use a boost::function instead of a function pointer. note that since a a function pointer can be converted to a respective boost::function this actually requires very few changes.
This commit is contained in:
parent
132f40b926
commit
650493a1be
5 changed files with 14 additions and 12 deletions
|
@ -424,13 +424,13 @@ void tlobby_main::pre_show(CVideo& /*video*/, twindow& window)
|
|||
filter_text_= &window.get_widget<ttext_box>("filter_text", false);
|
||||
|
||||
filter_friends_->set_callback_state_change(
|
||||
dialog_callback<tlobby_main, &tlobby_main::game_filter_change_callback>);
|
||||
boost::bind(&tlobby_main::game_filter_change_callback, this, _1));
|
||||
filter_ignored_->set_callback_state_change(
|
||||
dialog_callback<tlobby_main, &tlobby_main::game_filter_change_callback>);
|
||||
boost::bind(&tlobby_main::game_filter_change_callback, this, _1));
|
||||
filter_slots_->set_callback_state_change(
|
||||
dialog_callback<tlobby_main, &tlobby_main::game_filter_change_callback>);
|
||||
boost::bind(&tlobby_main::game_filter_change_callback, this, _1));
|
||||
filter_invert_->set_callback_state_change(
|
||||
dialog_callback<tlobby_main, &tlobby_main::game_filter_change_callback>);
|
||||
boost::bind(&tlobby_main::game_filter_change_callback, this, _1));
|
||||
filter_text_->set_key_press_callback(
|
||||
boost::bind(&tlobby_main::game_filter_keypress_callback, this, _1, _2, _3, _4));
|
||||
|
||||
|
@ -926,7 +926,7 @@ bool tlobby_main::game_filter_keypress_callback(twidget* /*widget*/, SDLKey key,
|
|||
return false;
|
||||
}
|
||||
|
||||
void tlobby_main::game_filter_change_callback(gui2::twindow &/*window*/)
|
||||
void tlobby_main::game_filter_change_callback(gui2::twidget* /*widget*/)
|
||||
{
|
||||
game_filter_reload();
|
||||
update_gamelist();
|
||||
|
|
|
@ -260,7 +260,7 @@ private:
|
|||
|
||||
void game_filter_reload();
|
||||
|
||||
void game_filter_change_callback(twindow& window);
|
||||
void game_filter_change_callback(twidget* widget);
|
||||
|
||||
bool game_filter_keypress_callback(twidget* widget, SDLKey key, SDLMod mod, Uint16 unicode);
|
||||
|
||||
|
|
|
@ -15,6 +15,8 @@
|
|||
#ifndef GUI_WIDGETS_SELECTABLE_HPP_INCLUDED
|
||||
#define GUI_WIDGETS_SELECTABLE_HPP_INCLUDED
|
||||
|
||||
#include <boost/function.hpp>
|
||||
|
||||
namespace gui2 {
|
||||
|
||||
class twidget;
|
||||
|
@ -40,7 +42,7 @@ public:
|
|||
* When the user does something to change the widget state this event is
|
||||
* fired. Most of the time it will be a left click on the widget.
|
||||
*/
|
||||
virtual void set_callback_state_change(void (*callback) (twidget*)) = 0;
|
||||
virtual void set_callback_state_change(boost::function<void (twidget*)> callback) = 0;
|
||||
};
|
||||
|
||||
} // namespace gui2
|
||||
|
|
|
@ -33,7 +33,7 @@ public:
|
|||
tcontrol(COUNT),
|
||||
state_(ENABLED),
|
||||
retval_(0),
|
||||
callback_state_change_(0),
|
||||
callback_state_change_(),
|
||||
icon_name_()
|
||||
{
|
||||
}
|
||||
|
@ -84,7 +84,7 @@ public:
|
|||
void set_retval(const int retval);
|
||||
|
||||
/** Inherited from tselectable_. */
|
||||
void set_callback_state_change(void (*callback) (twidget*))
|
||||
void set_callback_state_change(boost::function<void (twidget*)> callback)
|
||||
{ callback_state_change_ = callback; }
|
||||
|
||||
void set_icon_name(const std::string& icon_name)
|
||||
|
@ -124,7 +124,7 @@ private:
|
|||
int retval_;
|
||||
|
||||
/** See tselectable_::set_callback_state_change. */
|
||||
void (*callback_state_change_) (twidget*);
|
||||
boost::function<void (twidget*)> callback_state_change_;
|
||||
|
||||
/**
|
||||
* The toggle button can contain an icon next to the text.
|
||||
|
|
|
@ -127,7 +127,7 @@ public:
|
|||
void set_retval(const int retval);
|
||||
|
||||
/** Inherited from tselectable_. */
|
||||
void set_callback_state_change(void (*callback) (twidget*))
|
||||
void set_callback_state_change(boost::function<void (twidget*)> callback)
|
||||
{ callback_state_change_ = callback; }
|
||||
|
||||
private:
|
||||
|
@ -164,7 +164,7 @@ private:
|
|||
int retval_;
|
||||
|
||||
/** See tselectable_::set_callback_state_change. */
|
||||
void (*callback_state_change_) (twidget*);
|
||||
boost::function<void (twidget*)> callback_state_change_;
|
||||
|
||||
/** Inherited from tpanel. */
|
||||
void impl_draw_background(surface& frame_buffer)
|
||||
|
|
Loading…
Add table
Reference in a new issue