The Battle for Wesnoth  1.19.0-dev
Classes | Namespaces | Typedefs | Functions
dispatcher.hpp File Reference
#include "gui/core/event/handler.hpp"
#include "hotkey/hotkey_command.hpp"
#include "utils/general.hpp"
#include <SDL2/SDL_events.h>
#include <functional>
#include <list>
#include <map>
Include dependency graph for dispatcher.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  gui2::event::dispatcher
 Base class for event handling. More...
 
struct  gui2::event::dispatcher::signal_type< T >
 Helper struct to generate the various signal types. More...
 
struct  gui2::event::dispatcher::signal_queue< T >
 Helper struct to generate the various event queues. More...
 

Namespaces

 gui2
 Generic file dialog.
 
 gui2::event
 

Typedefs

template<typename... T>
using gui2::event::dispatcher_callback = std::function< void(widget &, const ui_event, bool &, bool &, T...)>
 Callback function signature alias template. More...
 
using gui2::event::signal = dispatcher_callback<>
 Used for events in event_category::general. More...
 
using gui2::event::signal_mouse = dispatcher_callback< const point & >
 Used for events in event_category::mouse. More...
 
using gui2::event::signal_keyboard = dispatcher_callback< const SDL_Keycode, const SDL_Keymod, const std::string & >
 Used for events in event_category::keyboard. More...
 
using gui2::event::signal_touch_motion = dispatcher_callback< const point &, const point & >
 Used for events in event_category::touch_motion. More...
 
using gui2::event::signal_touch_gesture = dispatcher_callback< const point &, float, float, uint8_t >
 Used for events in event_category::touch_gesture. More...
 
using gui2::event::signal_notification = dispatcher_callback< void * >
 Used for events in event_category::notification. More...
 
using gui2::event::signal_message = dispatcher_callback< const message & >
 Used for events in event_category::message. More...
 
using gui2::event::signal_raw_event = dispatcher_callback< const SDL_Event & >
 Used for events in event_category::raw_event. More...
 
using gui2::event::signal_text_input = dispatcher_callback< const std::string &, int32_t, int32_t >
 Used for eventsin event_category::text_input. More...
 
using gui2::event::hotkey_function = std::function< void(widget &dispatcher, hotkey::HOTKEY_COMMAND id)>
 Hotkey function handler signature. More...
 

Functions

void gui2::event::connect_signal_pre_key_press (dispatcher &dispatcher, const signal_keyboard &signal)
 Connects the signal for 'snooping' on the keypress. More...
 
void gui2::event::connect_signal_mouse_left_click (dispatcher &dispatcher, const signal &signal)
 Connects a signal handler for a left mouse button click. More...
 
void gui2::event::disconnect_signal_mouse_left_click (dispatcher &dispatcher, const signal &signal)
 Disconnects a signal handler for a left mouse button click. More...
 
void gui2::event::connect_signal_mouse_left_release (dispatcher &dispatcher, const signal &signal)
 Connects a signal handler for a left mouse button release. More...
 
void gui2::event::disconnect_signal_mouse_left_release (dispatcher &dispatcher, const signal &signal)
 Disconnects a signal handler for a left mouse button release. More...
 
void gui2::event::connect_signal_mouse_left_double_click (dispatcher &dispatcher, const signal &signal)
 Connects a signal handler for a left mouse button double click. More...
 
void gui2::event::connect_signal_notify_modified (dispatcher &dispatcher, const signal_notification &signal)
 Connects a signal handler for getting a notification upon modification. More...
 
void gui2::event::connect_signal_on_draw (dispatcher &dispatcher, const signal &signal)
 Connects a signal handler for a callback when the widget is drawn. More...