00001
00002
00003
00004
00005
00006
00007 #include "EngaugeAssert.h"
00008 #include "Logger.h"
00009 #include "MainWindow.h"
00010 #include <QGraphicsRectItem>
00011 #include <QGraphicsScene>
00012 #include <QGraphicsView>
00013 #include <QVBoxLayout>
00014 #include "TutorialDlg.h"
00015 #include "TutorialStateContext.h"
00016
00017 const int SCENE_WIDTH = 550;
00018 const int SCENE_HEIGHT = 450;
00019
00020 TutorialDlg::TutorialDlg (MainWindow *mainWindow) :
00021 QDialog (mainWindow)
00022 {
00023 setWindowTitle ("Engauge Digitizer Tutorial");
00024
00025
00026 QVBoxLayout *layout = new QVBoxLayout;
00027 layout->setSizeConstraint (QLayout::SetFixedSize);
00028 setLayout (layout);
00029
00030 createSceneAndView();
00031 createContext();
00032 }
00033
00034 QSize TutorialDlg::backgroundSize () const
00035 {
00036 return QSize (SCENE_WIDTH,
00037 SCENE_HEIGHT);
00038 }
00039 void TutorialDlg::createContext ()
00040 {
00041 m_context = new TutorialStateContext(*this);
00042 }
00043
00044 void TutorialDlg::createSceneAndView ()
00045 {
00046 LOG4CPP_INFO_S ((*mainCat)) << "TutorialDlg::createSceneAndView";
00047
00048 m_scene = new QGraphicsScene (this);
00049
00050 m_view = new QGraphicsView (m_scene, this);
00051 m_view->setMouseTracking (true);
00052 layout ()->addWidget(m_view);
00053
00054
00055
00056 QGraphicsRectItem *spacer = new QGraphicsRectItem (0,
00057 0,
00058 backgroundSize().width (),
00059 backgroundSize().height ());
00060 spacer->setBrush (QBrush (Qt::NoBrush));
00061 spacer->setPen (QPen (Qt::NoPen));
00062 spacer->setZValue(-1);
00063 m_scene->addItem (spacer);
00064 }
00065
00066 QGraphicsScene &TutorialDlg::scene ()
00067 {
00068 ENGAUGE_CHECK_PTR (m_scene);
00069
00070 return *m_scene;
00071 }
00072
00073 QGraphicsView &TutorialDlg::view ()
00074 {
00075 ENGAUGE_CHECK_PTR (m_view);
00076
00077 return *m_view;
00078 }