---
name: "QwtEventPattern"
section: "3"
platform: "linux"
package: "libqwt-doc"
version: "6.1.4-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/QwtEventPattern"
---

# QwtEventPattern(3)

A collection of event patterns.

## NAME

QwtEventPattern - A collection of event patterns.

## SYNOPSIS

`#include <qwt_event_pattern.h>`

Inherited by **QwtPicker**.

### Classes

class **KeyPattern**\
 A pattern for key events.  class **MousePattern**\
 A pattern for mouse events.

### Public Types

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

### 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.  bool **keyMatch** (**KeyPatternCode**, const QKeyEvent \*) const\
 Compare a key event with an event pattern.

### Protected Member Functions

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

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

## Author

*Generated automatically by Doxygen for Qwt User's Guide from the source code.*
