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

# QwtPickerMachine(3)

A state machine for QwtPicker selections.

## NAME

QwtPickerMachine - A state machine for **QwtPicker** selections.

## SYNOPSIS

`#include <qwt_picker_machine.h>`

Inherited by **QwtPickerClickPointMachine**, **QwtPickerClickRectMachine**, **QwtPickerDragLineMachine**, **QwtPickerDragPointMachine**, **QwtPickerDragRectMachine**, **QwtPickerPolygonMachine**, and **QwtPickerTrackerMachine**.

### Public Types

enum **SelectionType** { **NoSelection** = -1, **PointSelection**, **RectSelection**, **PolygonSelection** }\
 enum **Command** { **Begin**, **Append**, **Move**, **Remove**, **End** }\
 Commands - the output of a state machine.

### Public Member Functions

**QwtPickerMachine** (**SelectionType**)\
 Constructor.  virtual **~QwtPickerMachine** ()\
 Destructor.  virtual QList\< **Command** \> **transition** (const **QwtEventPattern** &, const QEvent \*)=0\
 Transition.  void **reset** ()\
 Set the current state to 0.  int **state** () const\
 Return the current state.  void **setState** (int)\
 Change the current state.  **SelectionType** **selectionType** () const\
 Return the selection type.

## Detailed Description

A state machine for **QwtPicker** selections.

**QwtPickerMachine** accepts key and mouse events and translates them into selection commands.

**See also:**

**QwtEventPattern::MousePatternCode**, **QwtEventPattern::KeyPatternCode**

## Member Enumeration Documentation

### enum QwtPickerMachine::SelectionType

Type of a selection.

**See also:**

**selectionType()**

**Enumerator**

- *NoSelection*

  *The state machine not usable for any type of selection.*

- *PointSelection*

  *The state machine is for selecting a single point.*

- *RectSelection*

  *The state machine is for selecting a rectangle (2 points).*

- *PolygonSelection*

  *The state machine is for selecting a polygon (many points).*

## Author

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