Qwt User's Guide  5.2.3
qwt_picker_machine.h
1 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
2  * Qwt Widget Library
3  * Copyright (C) 1997 Josef Wilgen
4  * Copyright (C) 2002 Uwe Rathmann
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the Qwt License, Version 1.0
8  *****************************************************************************/
9 
10 #ifndef QWT_PICKER_MACHINE
11 #define QWT_PICKER_MACHINE 1
12 
13 #include "qwt_global.h"
14 #if QT_VERSION < 0x040000
15 #include <qvaluelist.h>
16 #else
17 #include <qlist.h>
18 #endif
19 
20 class QEvent;
21 class QwtEventPattern;
22 
32 class QWT_EXPORT QwtPickerMachine
33 {
34 public:
36  enum Command
37  {
38  Begin,
39  Append,
40  Move,
41  End
42  };
43 
44 #if QT_VERSION < 0x040000
45  typedef QValueList<Command> CommandList;
46 #else
47  typedef QList<Command> CommandList;
48 #endif
49 
50  virtual ~QwtPickerMachine();
51 
53  virtual CommandList transition(
54  const QwtEventPattern &, const QEvent *) = 0;
55  void reset();
56 
57  int state() const;
58  void setState(int);
59 
60 protected:
62 
63 private:
64  int d_state;
65 };
66 
76 {
77 public:
78  virtual CommandList transition(
79  const QwtEventPattern &, const QEvent *);
80 };
81 
90 {
91 public:
92  virtual CommandList transition(
93  const QwtEventPattern &, const QEvent *);
94 };
95 
110 {
111 public:
112  virtual CommandList transition(
113  const QwtEventPattern &, const QEvent *);
114 };
115 
129 {
130 public:
131  virtual CommandList transition(
132  const QwtEventPattern &, const QEvent *);
133 };
134 
147 {
148 public:
149  virtual CommandList transition(
150  const QwtEventPattern &, const QEvent *);
151 };
152 
153 #endif