KJB
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
Null_event_listener Class Reference

#include <gui_event_listener.h>

Inheritance diagram for Null_event_listener:
Event_listener

Public Member Functions

virtual void reset_event ()
 
virtual bool mouse_event (int, int, int, int)
 
virtual bool mouse_double_event (int, int, int, int)
 
virtual bool motion_event (int, int)
 
virtual bool passive_motion_event (int, int)
 
virtual bool keyboard_event (unsigned int, int, int)
 
virtual bool special_event (int, int, int)
 

Detailed Description

Event listener that returns false for all events.

Listener classes that only wish do implement one or two event handlers can inherit from this as a convenient way to avoid writing a bunch of one-line methods.

Private inheritance is preferred, so the compiler can still catch virtual override mismatch bugs. For example:

Click_listener : private Null_event_listener
{
typedef Null_event_listener Base;
public:
using Base::motion_event;
using Base::passive_motion_event;
using Base::keyboard_event;
using Base::special_event;
// BUG! signature doesn't match Event_listener::mouse_event
// Luckilly, compiler will throw an error: "Can't instantiate
// abstract class" .
virtual bool mouse_event(int button, int x, int y) const
{
return true;
}
};

Member Function Documentation

virtual bool Null_event_listener::keyboard_event ( unsigned  key,
int  x,
int  y 
)
inlinevirtual

Event called when ascii keys are pressed

Implements Event_listener.

virtual bool Null_event_listener::motion_event ( int  x,
int  y 
)
inlinevirtual

Event called when mouse is dragged

Implements Event_listener.

virtual bool Null_event_listener::mouse_double_event ( int  button,
int  state,
int  x,
int  y 
)
inlinevirtual

Event called when mouse is clicked

Implements Event_listener.

virtual bool Null_event_listener::mouse_event ( int  button,
int  state,
int  x,
int  y 
)
inlinevirtual

Event called when mouse is clicked

Implements Event_listener.

virtual bool Null_event_listener::passive_motion_event ( int  x,
int  y 
)
inlinevirtual

Event called when mouse is moved without clicking ("hover")

Implements Event_listener.

virtual void Null_event_listener::reset_event ( )
inlinevirtual
virtual bool Null_event_listener::special_event ( int  key,
int  x,
int  y 
)
inlinevirtual

Event called when other keys are pressed (arrows, pgup, f1, f2, ...)

Implements Event_listener.


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