QAccel(3qt)

NAME
QAccel - Handles keyboard accelerator keys

SYNOPSIS

#include <qaccel.h>

Inherits QObject.

  Public Members
QAccel ( QWidget * parent, const char * name=0 )
~QAccel ()
bool isEnabled () const
void setEnabled ( bool )
uint count () const
int insertItem ( int key, int id=-1 )
void removeItem ( int id )
void clear ()
int key ( int id )
int findKey ( int key ) const
bool isItemEnabled ( int id ) const
void setItemEnabled ( int id, bool enable )
bool connectItem ( int id, const QObject * receiver, const char * member )
bool disconnectItem ( int id, const QObject * receiver, const char * member )
void repairEventFilter ()

  Signals
void activated ( int id )

  Protected Members
virtual bool eventFilter ( QObject *, QEvent * )

DESCRIPTION
The QAccel class handles keyboard accelerator keys.

A QAccel contains a list of accelerator items. Each accelerator item consists of an identifier and a keyboard code combined with modifiers (SHIFT, CTRL, ALT or ASCII_ACCEL).

For example, CTRL + Key_P could be a shortcut for printing a document. The key codes are listed in qkeycode.h.

When pressed, an accelerator key sends out the signal activated() with a number that identifies this particular accelerator item. Accelerator items can also be individually connected, so that two different keys will activate two different slots (see connectItem()).

A QAccel object handles key events to the top level window containing parent, and hence to any child widgets of that window. Note that the accelerator will be deleted only when the parent is deleted, and will consume relevant key events until then.

Example:

     QAccel *a = new QAccel( myWindow );        // create accels for myWindow
     a->connectItem( a->insertItem(Key_P+CTRL), // adds Ctrl+P accelerator
                     myWindow,                  // connected to myWindow's
                     SLOT(printDoc()) );        // printDoc() slot

See also: QKeyEvent, QWidget::keyPressEvent(), QMenuData::setAccel(), QButton::setAccel() and GUI Design Handbook: Keyboard Shortcuts,

Examples: application/application.cpp

MEMBER FUNCTION DOCUMENTATION

QAccel::QAccel ( QWidget * parent, const char * name=0 )
Creates a QAccel object with a parent widget and a name.

QAccel::~QAccel ()
Destroys the accelerator object.

void QAccel::activated ( int id ) [signal]
This signal is emitted when an accelerator key is pressed. id is a number that identifies this particular accelerator item.

void QAccel::clear ()
Removes all accelerator items.

bool QAccel::connectItem ( int id, const QObject * receiver, const char * member )
Connects an accelerator item to a slot/signal in another object.

Arguments:

id is the accelerator item id.

receiver is the object to receive a signal.

member is a slot or signal function in the receiver.

    a->connectItem( 201, mainView, SLOT(quit()) );

See also: disconnectItem().

Examples: application/application.cpp

uint QAccel::count () const
Returns the number of accelerator items.

bool QAccel::disconnectItem ( int id, const QObject * receiver, const char * member )
Disconnects an accelerator item from a function in another object.

See also: connectItem().

bool QAccel::eventFilter ( QObject *, QEvent * e ) [virtual protected]
Processes accelerator events intended for the top level widget.

Reimplemented from QObject.

int QAccel::findKey ( int key ) const
Returns the identifier of the accelerator item with the key code key, or -1 if the item cannot be found.

int QAccel::insertItem ( int key, int id=-1 )
Inserts an accelerator item and returns the item's identifier.

Arguments:

key is a key code plus a combination of SHIFT, CTRL and ALT.

id is the accelerator item id. If id is negative, then the item will be assigned a unique identifier.

    QAccel *a = new QAccel( myWindow );         // create accels for myWindow
    a->insertItem( Key_P + CTRL, 200 );         // Ctrl+P to print document
    a->insertItem( Key_X + ALT , 201 );         // Alt+X  to quit
    a->insertItem( ASCII_ACCEL + 'q', 202 );    // ASCII 'q' to quit
    a->insertItem( Key_D );                     // gets id 3
    a->insertItem( Key_P + CTRL + SHIFT );      // gets id 4

Examples: application/application.cpp

bool QAccel::isEnabled () const
Returns TRUE if the accelerator is enabled, or FALSE if it is disabled.

See also: setEnabled() and isItemEnabled().

bool QAccel::isItemEnabled ( int id ) const
Returns TRUE if the accelerator item with the identifier id is enabled. Returns FALSE if the item is disabled or cannot be found.

See also: setItemEnabled() and isEnabled().

int QAccel::key ( int id )
Returns the key code of the accelerator item with the identifier id, or zero if the id cannot be found.

void QAccel::removeItem ( int id )
Removes the accelerator item with the identifier id.

void QAccel::repairEventFilter ()
Make sure that the accelerator is watching the correct event filter. Used by QWidget::recreate().

void QAccel::setEnabled ( bool enable )
Enables the accelerator if enable is TRUE, or disables it if enable is FALSE.

Individual keys can also be enabled or disabled.

See also: isEnabled() and setItemEnabled().

void QAccel::setItemEnabled ( int id, bool enable )
Enables or disables an accelerator item.

Arguments:

id is the item identifier.

enable specifies whether the item should be enabled or disabled.

See also: isItemEnabled() and isEnabled().

SEE ALSO
http://www.troll.no/qt/qaccel.html

COPYRIGHT
Copyright 1992-1997 Troll Tech AS. See the LICENSE file included in the distribution for a complete license statement.

AUTHOR
Generated automatically from the source code.