• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdegames API Reference
  • KDE Home
  • Contact Us
 

libkdegames/libkdegamesprivate/kgame

Signals | Public Member Functions | Protected Member Functions | List of all members
KGameKeyIO Class Reference

#include <KGame/KGameIO>

Inheritance diagram for KGameKeyIO:
Inheritance graph
[legend]

Signals

void signalKeyEvent (KGameIO *io, QDataStream &stream, QKeyEvent *m, bool *eatevent)
 
- Signals inherited from KGameIO
void signalPrepareTurn (QDataStream &stream, bool turn, KGameIO *io, bool *send)
 

Public Member Functions

 KGameKeyIO (QWidget *parent)
 
virtual ~KGameKeyIO ()
 
virtual int rtti () const
 
- Public Member Functions inherited from KGameIO
 KGameIO ()
 
 KGameIO (KPlayer *)
 
virtual ~KGameIO ()
 
void Debug ()
 
KGame * game () const
 
virtual void initIO (KPlayer *p)
 
virtual void notifyTurn (bool b)
 
KPlayer * player () const
 
bool sendInput (QDataStream &stream, bool transmit=true, quint32 sender=0)
 
void setPlayer (KPlayer *p)
 

Protected Member Functions

bool eventFilter (QObject *o, QEvent *e)
 

Additional Inherited Members

- Public Types inherited from KGameIO
enum  IOMode {
  GenericIO =1, KeyIO =2, MouseIO =4, ProcessIO =8,
  ComputerIO =16
}
 

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 <kde at heni-online.de>

Definition at line 192 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
parentThe parents widget whose keyboard events * should be grabbed

Definition at line 148 of file kgameio.cpp.

KGameKeyIO::~KGameKeyIO ( )
virtual

Definition at line 158 of file kgameio.cpp.

Member Function Documentation

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

Internal method to process the events.

Definition at line 169 of file kgameio.cpp.

int KGameKeyIO::rtti ( ) const
virtual

The idendification of the IO.

Returns
KeyIO

Implements KGameIO.

Definition at line 167 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
qint32 key=e->key();
stream << key;
eatevent=true;
Parameters
iothe IO device we belong to
streamthe stream where we write our move into
mThe QKeyEvent we can evaluate
eateventset this to true if we processed the event

The documentation for this class was generated from the following files:
  • kgameio.h
  • kgameio.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:44:48 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

libkdegames/libkdegamesprivate/kgame

Skip menu "libkdegames/libkdegamesprivate/kgame"
  • Main Page
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdegames API Reference

Skip menu "kdegames API Reference"
  • granatier
  • kapman
  • kblackbox
  • kgoldrunner
  • kigo
  • kmahjongg
  • KShisen
  • ksquares
  • libkdegames
  •   highscore
  •   libkdegamesprivate
  •     kgame
  • libkmahjongg
  • palapeli
  •   libpala

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal