gui2::event::tmouse_button< sdl_button_down, sdl_button_up, button_down, button_up, button_click, button_double_click > Class Template Reference

#include <distributor.hpp>

Inheritance diagram for gui2::event::tmouse_button< sdl_button_down, sdl_button_up, button_down, button_up, button_click, button_double_click >:

Inheritance graph
[legend]
Collaboration diagram for gui2::event::tmouse_button< sdl_button_down, sdl_button_up, button_down, button_up, button_click, button_double_click >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 tmouse_button (const std::string &name_, twidget &owner, const tdispatcher::tposition queue_position)

Protected Attributes

Uint32 last_click_stamp_
 The time of the last click used for double clicking.
twidgetlast_clicked_widget_
 The widget the last click was on, used for double clicking.
twidgetfocus_
 If the mouse isn't captured we need to verify the up is on the same widget as the down so we send a proper click, also needed to send the up to the right widget.

Private Member Functions

void signal_handler_sdl_button_down (const event::tevent event, bool &handled, const tpoint &coordinate)
void signal_handler_sdl_button_up (const event::tevent event, bool &handled, const tpoint &coordinate)
void mouse_button_click (twidget *widget)

Private Attributes

const std::string name_
 used for debug messages.
bool is_down_
 Is the button down?
bool signal_handler_sdl_button_down_entered_
bool signal_handler_sdl_button_up_entered_


Detailed Description

template<tevent sdl_button_down, tevent sdl_button_up, tevent button_down, tevent button_up, tevent button_click, tevent button_double_click>
class gui2::event::tmouse_button< sdl_button_down, sdl_button_up, button_down, button_up, button_click, button_double_click >

Definition at line 158 of file distributor.hpp.


Constructor & Destructor Documentation

template<tevent sdl_button_down, tevent sdl_button_up, tevent button_down, tevent button_up, tevent button_click, tevent button_double_click>
gui2::event::tmouse_button< sdl_button_down, sdl_button_up, button_down, button_up, button_click, button_double_click >::tmouse_button ( const std::string &  name_,
twidget owner,
const tdispatcher::tposition  queue_position 
) [inline]

Definition at line 327 of file distributor.cpp.

References gui2::event::tdispatcher::connect_signal(), and gui2::event::tmouse_motion::owner_.

Here is the call graph for this function:


Member Function Documentation

template<tevent sdl_button_down, tevent sdl_button_up, tevent button_down, tevent button_up, tevent button_click, tevent button_double_click>
void gui2::event::tmouse_button< sdl_button_down, sdl_button_up, button_down, button_up, button_click, button_double_click >::signal_handler_sdl_button_down ( const event::tevent  event,
bool &  handled,
const tpoint coordinate 
) [inline, private]

template<tevent sdl_button_down, tevent sdl_button_up, tevent button_down, tevent button_up, tevent button_click, tevent button_double_click>
void gui2::event::tmouse_button< sdl_button_down, sdl_button_up, button_down, button_up, button_click, button_double_click >::signal_handler_sdl_button_up ( const event::tevent  event,
bool &  handled,
const tpoint coordinate 
) [inline, private]

template<tevent sdl_button_down, tevent sdl_button_up, tevent button_down, tevent button_up, tevent button_click, tevent button_double_click>
void gui2::event::tmouse_button< sdl_button_down, sdl_button_up, button_down, button_up, button_click, button_double_click >::mouse_button_click ( twidget widget  )  [inline, private]

Definition at line 508 of file distributor.cpp.

References DBG_GUI_E, gui2::settings::double_click_time, gui2::event::tdispatcher::fire(), LOG_HEADER, and gui2::event::tmouse_motion::owner_.

Here is the call graph for this function:


Member Data Documentation

template<tevent sdl_button_down, tevent sdl_button_up, tevent button_down, tevent button_up, tevent button_click, tevent button_double_click>
Uint32 gui2::event::tmouse_button< sdl_button_down, sdl_button_up, button_down, button_up, button_click, button_double_click >::last_click_stamp_ [protected]

The time of the last click used for double clicking.

Definition at line 169 of file distributor.hpp.

template<tevent sdl_button_down, tevent sdl_button_up, tevent button_down, tevent button_up, tevent button_click, tevent button_double_click>
twidget* gui2::event::tmouse_button< sdl_button_down, sdl_button_up, button_down, button_up, button_click, button_double_click >::last_clicked_widget_ [protected]

The widget the last click was on, used for double clicking.

Definition at line 172 of file distributor.hpp.

template<tevent sdl_button_down, tevent sdl_button_up, tevent button_down, tevent button_up, tevent button_click, tevent button_double_click>
twidget* gui2::event::tmouse_button< sdl_button_down, sdl_button_up, button_down, button_up, button_click, button_double_click >::focus_ [protected]

If the mouse isn't captured we need to verify the up is on the same widget as the down so we send a proper click, also needed to send the up to the right widget.

Definition at line 179 of file distributor.hpp.

template<tevent sdl_button_down, tevent sdl_button_up, tevent button_down, tevent button_up, tevent button_click, tevent button_double_click>
const std::string gui2::event::tmouse_button< sdl_button_down, sdl_button_up, button_down, button_up, button_click, button_double_click >::name_ [private]

used for debug messages.

Definition at line 183 of file distributor.hpp.

template<tevent sdl_button_down, tevent sdl_button_up, tevent button_down, tevent button_up, tevent button_click, tevent button_double_click>
bool gui2::event::tmouse_button< sdl_button_down, sdl_button_up, button_down, button_up, button_click, button_double_click >::is_down_ [private]

Is the button down?

Definition at line 186 of file distributor.hpp.

template<tevent sdl_button_down, tevent sdl_button_up, tevent button_down, tevent button_up, tevent button_click, tevent button_double_click>
bool gui2::event::tmouse_button< sdl_button_down, sdl_button_up, button_down, button_up, button_click, button_double_click >::signal_handler_sdl_button_down_entered_ [private]

Definition at line 188 of file distributor.hpp.

template<tevent sdl_button_down, tevent sdl_button_up, tevent button_down, tevent button_up, tevent button_click, tevent button_double_click>
bool gui2::event::tmouse_button< sdl_button_down, sdl_button_up, button_down, button_up, button_click, button_double_click >::signal_handler_sdl_button_up_entered_ [private]

Definition at line 194 of file distributor.hpp.


The documentation for this class was generated from the following files:

Generated by doxygen 1.5.6 on Fri Sep 3 01:05:50 2010 for The Battle for Wesnoth
Gna! | Forum | Wiki | CIA | devdocs