# QwtEventPattern Class Reference

A collection of event patterns. More...

`#include <qwt_event_pattern.h>`

Inheritance diagram for QwtEventPattern:

[legend]

List of all members.

## 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 }
enum | KeyPatternCode { KeySelect1, KeySelect2, KeyAbort, KeyLeft, KeyRight, KeyUp, KeyDown, KeyRedo, KeyUndo, KeyHome, KeyPatternCount }
## Public Member Functions
| QwtEventPattern ()
virtual | ~QwtEventPattern ()
void | initMousePattern (int numButtons)
void | initKeyPattern ()
void | setMousePattern (uint pattern, int button, int state=Qt::NoButton)
void | setKeyPattern (uint pattern, int key, int state=Qt::NoButton)
void | setMousePattern (const QwtArray< MousePattern > &)
void | setKeyPattern (const QwtArray< KeyPattern > &)
const QwtArray< MousePattern > & | mousePattern () const
const QwtArray< KeyPattern > & | keyPattern () const
QwtArray< MousePattern > & | mousePattern ()
QwtArray< KeyPattern > & | keyPattern ()
bool | mouseMatch (uint pattern, const QMouseEvent *) const
bool | keyMatch (uint pattern, const QKeyEvent *) const
## Protected Member Functions
virtual bool | mouseMatch (const MousePattern &, const QMouseEvent *) const
virtual bool | keyMatch (const KeyPattern &, const QKeyEvent *) const

## 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.

Default initialization:

- 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

- KeyUndo
  Qt::Key_Minus
- KeyRedo
  Qt::Key_Plus
- KeyHome
  Qt::Key_Escape

enum QwtEventPattern::MousePatternCode

Symbolic mouse input codes.

The default initialization for 3 button mice is:

- MouseSelect1
  Qt::LeftButton
- MouseSelect2
  Qt::RightButton
- MouseSelect3
  Qt::MidButton
- MouseSelect4
  Qt::LeftButton + Qt::ShiftButton
- MouseSelect5
  Qt::RightButton + Qt::ShiftButton
- MouseSelect6
  Qt::MidButton + Qt::ShiftButton

The default initialization for 2 button mice is:

- MouseSelect1
  Qt::LeftButton
- MouseSelect2
  Qt::RightButton
- MouseSelect3
  Qt::LeftButton + Qt::AltButton
- MouseSelect4
  Qt::LeftButton + Qt::ShiftButton
- MouseSelect5
  Qt::RightButton + Qt::ShiftButton
- MouseSelect6
  Qt::LeftButton + Qt::AltButton + Qt::ShiftButton

The default initialization for 1 button mice is:

- MouseSelect1
  Qt::LeftButton
- MouseSelect2
  Qt::LeftButton + Qt::ControlButton
- MouseSelect3
  Qt::LeftButton + Qt::AltButton
- MouseSelect4
  Qt::LeftButton + Qt::ShiftButton
- MouseSelect5
  Qt::LeftButton + Qt::ControlButton + Qt::ShiftButton
- MouseSelect6
  Qt::LeftButton + Qt::AltButton + Qt::ShiftButton

See also:
  initMousePattern()

## Constructor & Destructor Documentation

QwtEventPattern::QwtEventPattern | ( |  | ) |

Constructor

See also:
  MousePatternCode, KeyPatternCode

QwtEventPattern::~QwtEventPattern | ( |  | ) | `[virtual]`

Destructor.

## 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 | ( | const KeyPattern & | pattern,
|  | const QKeyEvent * | e |
| ) |  |  | 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
  | e | Key event

Returns:
  true if matches

See also:
  mouseMatch()

bool QwtEventPattern::keyMatch | ( | uint | pattern,
|  | const QKeyEvent * | e |
| ) |  |  | 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:

  | pattern | Index of the event pattern
  | e | Key event

Returns:
  true if matches

See also:
  mouseMatch()

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

Return Key patterns.

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

Return key patterns.

bool QwtEventPattern::mouseMatch | ( | const MousePattern & | pattern,
|  | const QMouseEvent * | e |
| ) |  |  | 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
  | e | Mouse event

Returns:
  true if matches

See also:
  keyMatch()

bool QwtEventPattern::mouseMatch | ( | uint | pattern,
|  | const QMouseEvent * | e |
| ) |  |  | 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:

  | pattern | Index of the event pattern
  | e | Mouse event

Returns:
  true if matches

See also:
  keyMatch()

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

Return ,ouse patterns.

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

Return mouse patterns.

void QwtEventPattern::setKeyPattern | ( | const QwtArray< KeyPattern > & | pattern | ) |

Change the key event patterns.

void QwtEventPattern::setKeyPattern | ( | uint | pattern,
|  | int | key,
|  | int | state = `Qt::NoButton` |
| ) |  |  |

Change one key pattern

Parameters:

  | pattern | Index of the pattern
  | key | Key
  | state | State

See also:
  QKeyEvent

void QwtEventPattern::setMousePattern | ( | const QwtArray< MousePattern > & | pattern | ) |

Change the mouse event patterns.

void QwtEventPattern::setMousePattern | ( | uint | pattern,
|  | int | button,
|  | int | state = `Qt::NoButton` |
| ) |  |  |

Change one mouse pattern

Parameters:

  | pattern | Index of the pattern
  | button | Button
  | state | State

See also:
  QMouseEvent