KGameKeyIO Class Reference

#include <kgameio.h>

Inheritance diagram for KGameKeyIO:

KGameIO List of all members.

Detailed Description

The KGameKeyIO class.

It is used to process keyboard input from a widget and create moves for the player it belongs to.

Author:
Martin Heni <martin@heni-online.de>

Definition at line 177 of file kgameio.h.


Signals

void signalKeyEvent (KGameIO *io, QDataStream &stream, QKeyEvent *m, bool *eatevent)

Public Member Functions

 KGameKeyIO (QWidget *parent)
virtual ~KGameKeyIO ()
virtual int rtti () const

Protected Member Functions

bool eventFilter (QObject *o, QEvent *e)

Constructor & Destructor Documentation

KGameKeyIO::KGameKeyIO ( QWidget *  parent  ) 

Create a keyboard input devices.

All keyboards inputs of the given widgets are passed through a signal handler signalKeyEvent and can be used to generate a valid move for the player. Note the widget you pass to the constructor must be the main window of your application, e.g. view->parentWidget() as QT does not forward your keyevents otherwise. This means that this might be a different widget comapred to the one you use for mouse inputs! Example:

 KGameKeyIO *input;
  input=new KGameKeyIO(myWidget);
  connect(input,SIGNAL(signalKeyEvent(KGameIO *,QDataStream &,QKeyEvent *,bool *)),
          this,SLOT(slotKeyInput(KGameIO *,QDataStream &,QKeyEvent *,bool *)));

Parameters:
parent The parents widget whose keyboard events * should be grabbed

Definition at line 120 of file kgameio.cpp.


Member Function Documentation

int KGameKeyIO::rtti (  )  const [virtual]

The idendification of the IO.

Returns:
KeyIO

Implements KGameIO.

Definition at line 138 of file kgameio.cpp.

void KGameKeyIO::signalKeyEvent ( KGameIO io,
QDataStream &  stream,
QKeyEvent *  m,
bool *  eatevent 
) [signal]

Signal handler for keyboard events.

This function is called on every keyboard event. If appropriate it can generate a move for the player the device belongs to. If this is done and the event is eaten eatevent needs to be set to true. What move you generate (i.e. what you write to the stream) is totally up to you as it will not be evaluated but forwared to the player's/game's input move function Example:

 KPlayer *player=input->player(); // Get the player
 Q_INT32 key=e->key();
 stream << key;
 eatevent=true;

Parameters:
io the IO device we belong to
stream the stream where we write our move into
m The QKeyEvent we can evaluate
eatevent set this to true if we processed the event

bool KGameKeyIO::eventFilter ( QObject *  o,
QEvent *  e 
) [protected]

Internal method to process the events.

Definition at line 140 of file kgameio.cpp.


The documentation for this class was generated from the following files:
KDE Home | KDE Accessibility Home | Description of Access Keys