Engauge Digitizer  2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TutorialStateAbstractBase.h
Go to the documentation of this file.
1 /******************************************************************************************************
2  * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3  * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4  * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5  ******************************************************************************************************/
6 
7 #ifndef TUTORIAL_STATE_ABSTRACT_BASE_H
8 #define TUTORIAL_STATE_ABSTRACT_BASE_H
9 
10 #include <QObject>
11 
23 };
24 
25 class QGraphicsPixmapItem;
26 class QGraphicsTextItem;
28 
30 class TutorialStateAbstractBase : public QObject
31 {
32  public:
36 
38  virtual void begin () = 0;
39 
41  virtual void end () = 0;
42 
43  protected:
44 
46  int buttonMargin () const;
47 
50 
52  QGraphicsPixmapItem *createPixmapItem (const QString &resource,
53  const QPoint &pos);
54 
56  QGraphicsTextItem *createTextItem (const QString &text,
57  const QPoint &pos);
58 
60  QGraphicsTextItem *createTitle (const QString &text);
61 
62  private:
64 
65  TutorialStateContext &m_context;
66 };
67 
68 #endif // TUTORIAL_STATE_ABSTRACT_BASE_H
One state manages one panel of the tutorial.
virtual void end()=0
Transition out of this state.
int buttonMargin() const
Buttons are placed up against bottom side, and left or right side, separated by this margin...
TutorialStateContext & context()
Context class for the tutorial state machine.
QGraphicsTextItem * createTextItem(const QString &text, const QPoint &pos)
Factory method for text items.
QGraphicsTextItem * createTitle(const QString &text)
Factory method for title items.
QGraphicsPixmapItem * createPixmapItem(const QString &resource, const QPoint &pos)
Factory method for pixmap items.
virtual void begin()=0
Transition into this state.
Context class for tutorial state machine.