mirror of
https://github.com/wesnoth/wesnoth
synced 2025-05-03 18:32:44 +00:00
Wire in the mouse wheel events.
This commit is contained in:
parent
3c6084cffe
commit
713056fb86
@ -100,6 +100,21 @@ tscrollbar_container::tscrollbar_container(const unsigned canvas_count)
|
||||
connect_signal<event::SDL_KEY_DOWN>(boost::bind(
|
||||
&tscrollbar_container::signal_handler_sdl_key_down
|
||||
, this, _2, _3, _5, _6));
|
||||
|
||||
connect_signal<event::SDL_WHEEL_UP>(boost::bind(
|
||||
&tscrollbar_container::signal_handler_sdl_wheel_up
|
||||
, this, _2, _3));
|
||||
connect_signal<event::SDL_WHEEL_DOWN>(boost::bind(
|
||||
&tscrollbar_container::signal_handler_sdl_wheel_down
|
||||
, this, _2, _3));
|
||||
connect_signal<event::SDL_WHEEL_LEFT>(boost::bind(
|
||||
&tscrollbar_container::signal_handler_sdl_wheel_left
|
||||
, this, _2, _3));
|
||||
connect_signal<event::SDL_WHEEL_RIGHT>(boost::bind(
|
||||
&tscrollbar_container::signal_handler_sdl_wheel_right
|
||||
, this, _2, _3));
|
||||
|
||||
|
||||
}
|
||||
|
||||
void tscrollbar_container::layout_init(const bool full_initialization)
|
||||
@ -869,5 +884,66 @@ void tscrollbar_container::signal_handler_sdl_key_down(
|
||||
}
|
||||
}
|
||||
|
||||
void tscrollbar_container::signal_handler_sdl_wheel_up(
|
||||
const event::tevent event
|
||||
, bool& handled)
|
||||
{
|
||||
DBG_GUI_E << get_control_type() << "[" << id() << "]: " << event << ".\n";
|
||||
|
||||
assert(vertical_scrollbar_grid_ && vertical_scrollbar_);
|
||||
|
||||
if(vertical_scrollbar_grid_->get_visible() == twidget::VISIBLE) {
|
||||
vertical_scrollbar_->scroll(tscrollbar_::HALF_JUMP_BACKWARDS);
|
||||
scrollbar_moved();
|
||||
handled = true;
|
||||
}
|
||||
}
|
||||
|
||||
void tscrollbar_container::signal_handler_sdl_wheel_down(
|
||||
const event::tevent event
|
||||
, bool& handled)
|
||||
{
|
||||
DBG_GUI_E << get_control_type() << "[" << id() << "]: " << event << ".\n";
|
||||
|
||||
assert(vertical_scrollbar_grid_ && vertical_scrollbar_);
|
||||
|
||||
if(vertical_scrollbar_grid_->get_visible() == twidget::VISIBLE) {
|
||||
vertical_scrollbar_->scroll(tscrollbar_::HALF_JUMP_FORWARD);
|
||||
scrollbar_moved();
|
||||
handled = true;
|
||||
}
|
||||
}
|
||||
|
||||
void tscrollbar_container::signal_handler_sdl_wheel_left(
|
||||
const event::tevent event
|
||||
, bool& handled)
|
||||
{
|
||||
DBG_GUI_E << get_control_type() << "[" << id() << "]: " << event << ".\n";
|
||||
|
||||
assert(horizontal_scrollbar_grid_ && horizontal_scrollbar_);
|
||||
|
||||
if(horizontal_scrollbar_grid_->get_visible() == twidget::VISIBLE) {
|
||||
horizontal_scrollbar_->scroll(tscrollbar_::HALF_JUMP_BACKWARDS);
|
||||
scrollbar_moved();
|
||||
handled = true;
|
||||
}
|
||||
}
|
||||
|
||||
void tscrollbar_container::signal_handler_sdl_wheel_right(
|
||||
const event::tevent event
|
||||
, bool& handled)
|
||||
{
|
||||
DBG_GUI_E << get_control_type() << "[" << id() << "]: " << event << ".\n";
|
||||
|
||||
assert(horizontal_scrollbar_grid_ && horizontal_scrollbar_);
|
||||
|
||||
if(horizontal_scrollbar_grid_->get_visible() == twidget::VISIBLE) {
|
||||
horizontal_scrollbar_->scroll(tscrollbar_::HALF_JUMP_FORWARD);
|
||||
scrollbar_moved();
|
||||
handled = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} // namespace gui2
|
||||
|
||||
|
@ -411,6 +411,15 @@ private:
|
||||
, bool& handled
|
||||
, const SDLKey key
|
||||
, SDLMod modifier);
|
||||
|
||||
void signal_handler_sdl_wheel_up(const event::tevent event
|
||||
, bool& handled);
|
||||
void signal_handler_sdl_wheel_down(const event::tevent event
|
||||
, bool& handled);
|
||||
void signal_handler_sdl_wheel_left(const event::tevent event
|
||||
, bool& handled);
|
||||
void signal_handler_sdl_wheel_right(const event::tevent event
|
||||
, bool& handled);
|
||||
};
|
||||
|
||||
} // namespace gui2
|
||||
|
Loading…
x
Reference in New Issue
Block a user