QwtEventPattern Class Reference

A collection of event patterns. More...

`#include <qwt_event_pattern.h>`

Inheritance diagram for QwtEventPattern:

## 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 key, Qt::KeyboardModifiers modifiers=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

Definition at line 30 of file qwt_event_pattern.h.

## Member Enumeration Documentation

## KeyPatternCode

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.

Definition at line 112 of file qwt_event_pattern.h.

## MousePatternCode

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.

Definition at line 45 of file qwt_event_pattern.h.

## Constructor & Destructor Documentation

## QwtEventPattern()

QwtEventPattern::QwtEventPattern | ( |  | ) |

Constructor

See also
  MousePatternCode, KeyPatternCode

Definition at line 19 of file qwt_event_pattern.cpp.

## Member Function Documentation

## initKeyPattern()

void QwtEventPattern::initKeyPattern | ( |  | ) |

Set default mouse patterns.

See also
  KeyPatternCode

Definition at line 81 of file qwt_event_pattern.cpp.

## initMousePattern()

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

Definition at line 38 of file qwt_event_pattern.cpp.

## keyMatch() [1/2]

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()

Definition at line 257 of file qwt_event_pattern.cpp.

## keyMatch() [2/2]

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()

Definition at line 234 of file qwt_event_pattern.cpp.

## keyPattern() [1/2]

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

Returns
  Key pattern

Definition at line 170 of file qwt_event_pattern.cpp.

## keyPattern() [2/2]

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

Returns
  Key pattern

Definition at line 158 of file qwt_event_pattern.cpp.

## mouseMatch() [1/2]

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()

Definition at line 211 of file qwt_event_pattern.cpp.

## mouseMatch() [2/2]

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()

Definition at line 188 of file qwt_event_pattern.cpp.

## mousePattern() [1/2]

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

Returns
  Mouse pattern

Definition at line 164 of file qwt_event_pattern.cpp.

## mousePattern() [2/2]

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

Returns
  Mouse pattern

Definition at line 151 of file qwt_event_pattern.cpp.

## setKeyPattern()

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

Definition at line 127 of file qwt_event_pattern.cpp.

## setMousePattern()

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

Definition at line 108 of file qwt_event_pattern.cpp.