libkdegames Library API Documentation

KGameKeyIO Class Reference

The KGameKeyIO class. More...

#include <kgameio.h>

Inheritance diagram for KGameKeyIO:

KGameIO QObject List of all members.

Signals

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

Public Methods

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

Protected Methods

bool eventFilter (QObject *o, QEvent *e)

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.


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.

References QObject::parent().


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

Referenced by eventFilter().

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

Internal method to process the events.

Reimplemented from QObject.

Definition at line 140 of file kgameio.cpp.

References QObject::eventFilter(), KGameIO::player(), KGameIO::sendInput(), signalKeyEvent(), and QEvent::type().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for libkdegames Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat May 1 10:06:39 2004 by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2003