WoopsiUI::WoopsiKeyboard Class Reference

#include <woopsikeyboard.h>

Inheritance diagram for WoopsiUI::WoopsiKeyboard:
WoopsiUI::AmigaWindow WoopsiUI::Window WoopsiUI::GadgetEventHandler WoopsiUI::Gadget

List of all members.

Public Member Functions

 WoopsiKeyboard (s16 x, s16 y, u16 width, u16 height, const char *title, u32 flags, u32 windowFlags, FontBase *font=NULL)
virtual void handleReleaseEvent (const GadgetEventArgs &e)
virtual void handleReleaseOutsideEvent (const GadgetEventArgs &e)
virtual void handleClickEvent (const GadgetEventArgs &e)
virtual void handleActionEvent (const GadgetEventArgs &e)
virtual void processKeyRelease (WoopsiKey *key)
const bool isShiftDown () const
const bool isControlDown () const
const bool isCapsLockDown () const
void addKeyboardEventHandler (KeyboardEventHandler *eventHandler)
void removeKeyboardEventHandler (KeyboardEventHandler *eventHandler)

Protected Member Functions

void showCorrectKeys ()
void showNormalKeys ()
void showShiftKeys ()
void showControlKeys ()
void showShiftControlKeys ()
void showCapsLockKeys ()
void showControlCapsLockKeys ()
virtual ~WoopsiKeyboard ()
 WoopsiKeyboard (const WoopsiKeyboard &keyboard)
void raiseKeyboardPressEvent (WoopsiKey *key)
void raiseKeyboardRepeatEvent (WoopsiKey *key)
void raiseKeyboardReleaseEvent (WoopsiKey *key)

Protected Attributes

WoopsiKey_shiftKey
WoopsiKey_controlKey
WoopsiKey_capsLockKey
bool _isShiftDown
bool _isControlDown
bool _isCapsLockDown
WoopsiTimer_timer
u32 _initialRepeatTime
u32 _secondaryRepeatTime
WoopsiArray
< KeyboardEventHandler * > 
_keyboardEventHandlers

Detailed Description

Class providing a window containing a multitude of buttons arranged like a keyboard. When any key is released the keyboard fires an EVENT_ACTION event.


Constructor & Destructor Documentation

WoopsiKeyboard::WoopsiKeyboard ( s16  x,
s16  y,
u16  width,
u16  height,
const char *  title,
u32  flags,
u32  windowFlags,
FontBase font = NULL 
)

Constructor.

Parameters:
x The x co-ordinate of the window.
y The y co-ordinate of the window.
width The width of the window.
height The height of the window.
title The title of the window.
flags Standard flags. Setting GADGET_BORDERLESS hides the Amiga borders.
windowFlags Window-specfic flags from the WindowFlagType enum.
font Optional font to use for text output.
virtual WoopsiUI::WoopsiKeyboard::~WoopsiKeyboard (  )  [inline, protected, virtual]

Destructor.

WoopsiUI::WoopsiKeyboard::WoopsiKeyboard ( const WoopsiKeyboard keyboard  )  [inline, protected]

Copy constructor is protected to prevent usage.


Member Function Documentation

void WoopsiUI::WoopsiKeyboard::addKeyboardEventHandler ( KeyboardEventHandler eventHandler  )  [inline]

Adds a keyboard event handler. The event handler will receive all keyboard events raised by this gadget.

Parameters:
eventHandler A pointer to the event handler.
void WoopsiKeyboard::handleActionEvent ( const GadgetEventArgs e  )  [virtual]

Handles events raised by its sub-gadgets.

Parameters:
e Event data to process.

Reimplemented from WoopsiUI::GadgetEventHandler.

void WoopsiKeyboard::handleClickEvent ( const GadgetEventArgs e  )  [virtual]

Handles events raised by its sub-gadgets.

Parameters:
e Event data to process.

Reimplemented from WoopsiUI::AmigaWindow.

void WoopsiKeyboard::handleReleaseEvent ( const GadgetEventArgs e  )  [virtual]

Handles events raised by its sub-gadgets.

Parameters:
e Event data to process.

Reimplemented from WoopsiUI::AmigaWindow.

void WoopsiKeyboard::handleReleaseOutsideEvent ( const GadgetEventArgs e  )  [virtual]

Handles events raised by its sub-gadgets.

Parameters:
e Event data to process.

Reimplemented from WoopsiUI::AmigaWindow.

const bool WoopsiUI::WoopsiKeyboard::isCapsLockDown (  )  const [inline]

Check if the caps lock key is held down.

Returns:
True if caps lock is down.
const bool WoopsiUI::WoopsiKeyboard::isControlDown (  )  const [inline]

Check if the control key is held down.

Returns:
True if control is down.
const bool WoopsiUI::WoopsiKeyboard::isShiftDown (  )  const [inline]

Check if the shift key is held down.

Returns:
True if shift is down.
void WoopsiKeyboard::processKeyRelease ( WoopsiKey key  )  [virtual]

Process key releases and tidy up the keyboard state.

Parameters:
key Key that was released.
void WoopsiKeyboard::raiseKeyboardPressEvent ( WoopsiKey key  )  [protected]

Raise a press event. Raised when a key is pressed.

Parameters:
key The key that was pressed.
void WoopsiKeyboard::raiseKeyboardReleaseEvent ( WoopsiKey key  )  [protected]

Raise a release event. Raised when a key is released.

Parameters:
key The key that was released.
void WoopsiKeyboard::raiseKeyboardRepeatEvent ( WoopsiKey key  )  [protected]

Raise a repeat event. Raised when a key is held and repeats.

Parameters:
key The key that was pressed.
void WoopsiKeyboard::removeKeyboardEventHandler ( KeyboardEventHandler eventHandler  ) 

Remove a keyboard event handler.

Parameters:
eventHandler A pointer to the event handler to remove.
void WoopsiKeyboard::showCapsLockKeys (  )  [protected]

Swap the keyboard layout to the caps locked display.

void WoopsiKeyboard::showControlCapsLockKeys (  )  [protected]

Swap the keyboard layout to the controlled and caps locked display.

void WoopsiKeyboard::showControlKeys (  )  [protected]

Swap the keyboard layout to the controlled display.

void WoopsiKeyboard::showCorrectKeys (  )  [protected]

Swap the keyboard layout to the correct display based on current modifier keys.

void WoopsiKeyboard::showNormalKeys (  )  [protected]

Swap the keyboard layout to the standard display.

void WoopsiKeyboard::showShiftControlKeys (  )  [protected]

Swap the keyboard layout to the shifted and controlled display.

void WoopsiKeyboard::showShiftKeys (  )  [protected]

Swap the keyboard layout to the shifted display.


Member Data Documentation

Pointer to the caps lock key

Pointer to the control key

Time until held key starts to repeat

True if caps lock key is currently in down position

True if control key is currently in down position

True if shift key is currently in down position

List of keyboard event handlers

Time until a key already repeating repeats again

Pointer to the shift key

Timer for handling key repeats


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations Enumerator

Generated on Sat Oct 24 14:33:12 2009 for Woopsi by  doxygen 1.6.1