TQKeySequence Class

Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# TQKeySequence Class Reference

The TQKeySequence class encapsulates a key sequence as used by accelerators. More...

`#include <ntqkeysequence.h>`

Inherits TQt.

List of all member functions.

## Public Members

- TQKeySequence ()
- TQKeySequence ( const TQString & key )
- TQKeySequence ( int key )
- TQKeySequence ( int k1, int k2, int k3 = 0, int k4 = 0 )
- TQKeySequence ( const TQKeySequence & keysequence )
- ~TQKeySequence ()
- uint count () const
- bool isEmpty () const
- TQt::SequenceMatch matches ( const TQKeySequence & seq ) const
- operator TQString () const
- operator int () const (obsolete)
- int operator[] ( uint index ) const
- TQKeySequence & operator= ( const TQKeySequence & keysequence )
- bool operator== ( const TQKeySequence & keysequence ) const
- bool operator!= ( const TQKeySequence & keysequence ) const

## Related Functions

- TQDataStream & operator<< ( TQDataStream & s, const TQKeySequence & keysequence )
- TQDataStream & operator>> ( TQDataStream & s, TQKeySequence & keysequence )

## Detailed Description

The TQKeySequence class encapsulates a key sequence as used by accelerators.

A key sequence consists of up to four keyboard codes, each optionally combined with modifiers, e.g. SHIFT, CTRL, ALT, META, or UNICODE_ACCEL. For example, `CTRL + Key_P` might be a sequence used as a shortcut for printing a document. The key codes are listed in ntqnamespace.h. As an alternative, use UNICODE_ACCEL with the unicode code point of the character. For example, `UNICODE_ACCEL + 'A'` gives the same key sequence as Key_A.

Key sequences can be constructed either from an integer key code, or from a human readable translatable string such as "Ctrl+X,Alt+Space". A key sequence can be cast to a TQString to obtain a human readable translated version of the sequence. Translations are done in the "TQAccel" context.

See also TQAccel and Miscellaneous Classes.

## Member Function Documentation

### TQKeySequence::TQKeySequence ()

Constructs an empty key sequence.

### TQKeySequence::TQKeySequence ( const TQString & key )

Creates a key sequence from the string key. For example "Ctrl+O" gives CTRL+UNICODE_ACCEL+'O'. The strings "Ctrl", "Shift", "Alt" and "Meta" are recognized, as well as their translated equivalents in the "TQAccel" context (using TQObject::tr()).

Multiple key codes (up to four) may be entered by separating them with commas, e.g. "Alt+X,Ctrl+S,Q".

This contructor is typically used with tr(), so that accelerator keys can be replaced in translations:

            TQPopupMenu *file = new TQPopupMenu( this );
            file->insertItem( tr("&Open..."), this, TQ_SLOT(open()),
                              TQKeySequence( tr("Ctrl+O", "File|Open") ) );

Note the `"File|Open"` translator comment. It is by no means necessary, but it provides some context for the human translator.

### TQKeySequence::TQKeySequence ( int key )

Constructs a key sequence that has a single key.

The key codes are listed in ntqnamespace.h and can be combined with modifiers, e.g. with SHIFT, CTRL, ALT, META or UNICODE_ACCEL.

### TQKeySequence::TQKeySequence ( int k1, int k2, int k3 = 0, int k4 = 0 )

Constructs a key sequence with up to 4 keys k1, k2, k3 and k4.

The key codes are listed in ntqnamespace.h and can be combined with modifiers, e.g. with SHIFT, CTRL, ALT, META or UNICODE_ACCEL.

### TQKeySequence::TQKeySequence ( const TQKeySequence & keysequence )

Copy constructor. Makes a copy of keysequence.

### TQKeySequence::~TQKeySequence ()

Destroys the key sequence.

### uint TQKeySequence::count () const

Returns the number of keys in the key sequence. The maximum is 4.

### bool TQKeySequence::isEmpty () const

Returns true if the key sequence is empty; otherwise returns false.

### TQt::SequenceMatch TQKeySequence::matches ( const TQKeySequence & seq ) const

Matches the sequence with seq. Returns TQt::Identical if successful, TQt::PartialMatch for matching but incomplete seq, and TQt::NoMatch if the sequences have nothing in common. Returns TQt::NoMatch if seq is shorter.

### TQKeySequence::operator TQString () const

Creates an accelerator string for the key sequence. For instance CTRL+Key_O gives "Ctrl+O". If the key sequence has multiple key codes they are returned comma-separated, e.g. "Alt+X, Ctrl+Y, Z". The strings, "Ctrl", "Shift", etc. are translated (using TQObject::tr()) in the "TQAccel" scope. If the key sequence has no keys, TQString::null is returned.

On Mac OS X, the string returned resembles the sequence that is shown in the menubar.

### TQKeySequence::operator int () const

This function is obsolete. It is provided to keep old source working. We strongly advise against using it in new code.

For backward compatibility: returns the first keycode as integer. If the key sequence is empty, 0 is returned.

### bool TQKeySequence::operator!= ( const TQKeySequence & keysequence ) const

Returns true if keysequence is not equal to this key sequence; otherwise returns false.

### TQKeySequence & TQKeySequence::operator= ( const TQKeySequence & keysequence )

Assignment operator. Assigns keysequence to this object.

### bool TQKeySequence::operator== ( const TQKeySequence & keysequence ) const

Returns true if keysequence is equal to this key sequence; otherwise returns false.

### int TQKeySequence::operator[] ( uint index ) const

Returns a reference to the element at position index in the key sequence. This can only be used to read an element.

## Related Functions

### TQDataStream & operator<< ( TQDataStream & s, const TQKeySequence & keysequence )

Writes the key sequence keysequence to the stream s.

See also Format of the TQDataStream operators.

### TQDataStream & operator>> ( TQDataStream & s, TQKeySequence & keysequence )

Reads a key sequence from the stream s into the key sequence keysequence.

See also Format of the TQDataStream operators.

This file is part of the TQt toolkit. Copyright © 1995-2007 Trolltech. All Rights Reserved.