QwtEventPattern Class Reference

A collection of event patterns. More...

`#include <qwt_event_pattern.h>`

Inheritance diagram for QwtEventPattern:
[legend]

## Classes

class | KeyPattern
| A pattern for key events. More...
class | MousePattern
| A pattern for mouse events. More...

## Public Types

enum | MousePatternCode { MouseSelect1, MouseSelect2, MouseSelect3, MouseSelect4, MouseSelect5, MouseSelect6, MousePatternCount }
| Symbolic mouse input codes. More...
enum | KeyPatternCode { KeySelect1, KeySelect2, KeyAbort, KeyLeft, KeyRight, KeyUp, KeyDown, KeyRedo, KeyUndo, KeyHome, KeyPatternCount }
| Symbolic keyboard input codes. More...

## Public Member Functions

| QwtEventPattern ()
virtual | ~QwtEventPattern ()
| Destructor.
void | initMousePattern (int numButtons)
void | initKeyPattern ()
void | setMousePattern (MousePatternCode, Qt::MouseButton button, Qt::KeyboardModifiers=Qt::NoModifier)
void | setKeyPattern (KeyPatternCode, int keyCode, Qt::KeyboardModifiers modifierCodes=Qt::NoModifier)
void | setMousePattern (const QVector< MousePattern > &)
| Change the mouse event patterns.
void | setKeyPattern (const QVector< KeyPattern > &)
| Change the key event patterns.
const QVector< MousePattern > & | mousePattern () const
const QVector< KeyPattern > & | keyPattern () const
QVector< MousePattern > & | mousePattern ()
QVector< KeyPattern > & | keyPattern ()
bool | mouseMatch (MousePatternCode, const QMouseEvent *) const
| Compare a mouse event with an event pattern. More...
bool | keyMatch (KeyPatternCode, const QKeyEvent *) const
| Compare a key event with an event pattern. More...

## Protected Member Functions

virtual bool | mouseMatch (const MousePattern &, const QMouseEvent *) const
| Compare a mouse event with an event pattern. More...
virtual bool | keyMatch (const KeyPattern &, const QKeyEvent *) const
| Compare a key event with an event pattern. More...

## Detailed Description

A collection of event patterns.

QwtEventPattern introduces an level of indirection for mouse and keyboard inputs. Those are represented by symbolic names, so the application code can be configured by individual mappings.

See also
  QwtPicker, QwtPickerMachine, QwtPlotZoomer

## Member Enumeration Documentation

enum QwtEventPattern::KeyPatternCode

Symbolic keyboard input codes.

Individual settings can be configured using setKeyPattern()

See also
  setKeyPattern(), setMousePattern()

Enumerator
KeySelect1 | Qt::Key_Return.
KeySelect2 | Qt::Key_Space.
KeyAbort | Qt::Key_Escape.
KeyLeft | Qt::Key_Left.
KeyRight | Qt::Key_Right.
KeyUp | Qt::Key_Up.
KeyDown | Qt::Key_Down.
KeyRedo | Qt::Key_Plus.
KeyUndo | Qt::Key_Minus.
KeyHome | Qt::Key_Escape.
KeyPatternCount | Number of key patterns.

enum QwtEventPattern::MousePatternCode

Symbolic mouse input codes.

QwtEventPattern implements 3 different settings for mice with 1, 2, or 3 buttons that can be activated using initMousePattern(). The default setting is for 3 button mice.

Individual settings can be configured using setMousePattern().

See also
  initMousePattern(), setMousePattern(), setKeyPattern()

Enumerator

MouseSelect1

The default setting for 1, 2 and 3 button mice is:

- Qt::LeftButton
- Qt::LeftButton
- Qt::LeftButton

MouseSelect2

The default setting for 1, 2 and 3 button mice is:

- Qt::LeftButton + Qt::ControlModifier
- Qt::RightButton
- Qt::RightButton

MouseSelect3

The default setting for 1, 2 and 3 button mice is:

- Qt::LeftButton + Qt::AltModifier
- Qt::LeftButton + Qt::AltModifier
- Qt::MidButton

MouseSelect4

The default setting for 1, 2 and 3 button mice is:

- Qt::LeftButton + Qt::ShiftModifier
- Qt::LeftButton + Qt::ShiftModifier
- Qt::LeftButton + Qt::ShiftModifier

MouseSelect5

The default setting for 1, 2 and 3 button mice is:

- Qt::LeftButton + Qt::ControlButton | Qt::ShiftModifier
- Qt::RightButton + Qt::ShiftModifier
- Qt::RightButton + Qt::ShiftModifier

MouseSelect6

The default setting for 1, 2 and 3 button mice is:

- Qt::LeftButton + Qt::AltModifier + Qt::ShiftModifier
- Qt::LeftButton + Qt::AltModifier | Qt::ShiftModifier
- Qt::MidButton + Qt::ShiftModifier

MousePatternCount | Number of mouse patterns.

## Constructor & Destructor Documentation

QwtEventPattern::QwtEventPattern | ( |  | ) |

Constructor

See also
  MousePatternCode, KeyPatternCode

## Member Function Documentation

void QwtEventPattern::initKeyPattern | ( |  | ) |

Set default mouse patterns.

See also
  KeyPatternCode

void QwtEventPattern::initMousePattern | ( | int | numButtons | ) |

Set default mouse patterns, depending on the number of mouse buttons

Parameters

  numButtons | Number of mouse buttons ( <= 3 )

See also
  MousePatternCode

bool QwtEventPattern::keyMatch | ( | KeyPatternCode | code,
|  | const QKeyEvent * | event
| ) |  | const

Compare a key event with an event pattern.

A key event matches the pattern when both have the same key value and in the state value the same key flags (Qt::KeyButtonMask) are set.

Parameters

  code | Index of the event pattern
  event | Key event

Returns
  true if matches

See also
  mouseMatch()

bool QwtEventPattern::keyMatch | ( | const KeyPattern & | pattern,
|  | const QKeyEvent * | event
| ) |  | const

protected virtual

Compare a key event with an event pattern.

A key event matches the pattern when both have the same key value and in the state value the same key flags (Qt::KeyButtonMask) are set.

Parameters

  pattern | Key event pattern
  event | Key event

Returns
  true if matches

See also
  mouseMatch()

const QVector< QwtEventPattern::KeyPattern > & QwtEventPattern::keyPattern | ( |  | ) | const

Returns
  Key pattern

QVector< QwtEventPattern::KeyPattern > & QwtEventPattern::keyPattern | ( |  | ) |

Returns
  Key pattern

bool QwtEventPattern::mouseMatch | ( | MousePatternCode | code,
|  | const QMouseEvent * | event
| ) |  | const

Compare a mouse event with an event pattern.

A mouse event matches the pattern when both have the same button value and in the state value the same key flags(Qt::KeyButtonMask) are set.

Parameters

  code | Index of the event pattern
  event | Mouse event

Returns
  true if matches

See also
  keyMatch()

bool QwtEventPattern::mouseMatch | ( | const MousePattern & | pattern,
|  | const QMouseEvent * | event
| ) |  | const

protected virtual

Compare a mouse event with an event pattern.

A mouse event matches the pattern when both have the same button value and in the state value the same key flags(Qt::KeyButtonMask) are set.

Parameters

  pattern | Mouse event pattern
  event | Mouse event

Returns
  true if matches

See also
  keyMatch()

const QVector< QwtEventPattern::MousePattern > & QwtEventPattern::mousePattern | ( |  | ) | const

Returns
  Mouse pattern

QVector< QwtEventPattern::MousePattern > & QwtEventPattern::mousePattern | ( |  | ) |

Returns
  Mouse pattern

void QwtEventPattern::setKeyPattern | ( | KeyPatternCode | pattern,
|  | int | key,
|  | Qt::KeyboardModifiers | modifiers = `Qt::NoModifier`
| ) |  |

Change one key pattern

Parameters

  pattern | Index of the pattern
  key | Key
  modifiers | Keyboard modifiers

See also
  QKeyEvent

void QwtEventPattern::setMousePattern | ( | MousePatternCode | pattern,
|  | Qt::MouseButton | button,
|  | Qt::KeyboardModifiers | modifiers = `Qt::NoModifier`
| ) |  |

Change one mouse pattern

Parameters

  pattern | Index of the pattern
  button | Button
  modifiers | Keyboard modifiers

See also
  QMouseEvent