Engauge Digitizer 2
Loading...
Searching...
No Matches
CreateScene.cpp
Go to the documentation of this file.
1/******************************************************************************************************
2 * (C) 2018 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#include "CreateScene.h"
8#include "GraphicsScene.h"
9#include "GraphicsView.h"
10#include "Logger.h"
11#include "MainWindow.h"
12#include <QGridLayout>
13#include <QPushButton>
14
18
20{
21 LOG4CPP_INFO_S ((*mainCat)) << "CreateScene::create";
22
23 const QString NO_TEXT (""); // Keep skinny by leaving out bulky text
24
25 mw.m_scene = new GraphicsScene (&mw);
26 mw.m_view = new GraphicsView (mw.m_scene, mw);
27
28 QString statusTipR (tr ("Create an R (range) guideline."));
29 QString statusTipT (tr ("Create a T (theta) guideline."));
30 QString statusTipX (tr ("Create an X guideline."));
31 QString statusTipY (tr ("Create a Y guideline."));
32
33 QString whatsThisR (tr ("Create an R (Range) guideline\n\n"
34 "When pressed, a constant R (range) guideline is created. It can be moved by dragging"));
35 QString whatsThisT (tr ("Create a T (Theta) guideline\n\n"
36 "When pressed, a constant T (theta) guideline is created. It can be moved by dragging"));
37 QString whatsThisX (tr ("Create an X guideline\n\n"
38 "When pressed, a constant X guideline is created. It can be moved by dragging"));
39 QString whatsThisY (tr ("Create a Y guideline\n\n"
40 "When pressed, a constant Y guideline is created. It can be moved by dragging"));
41
42 mw.m_btnGuidelineBottomCartesian = new QPushButton (QIcon(":/engauge/img/icon_guidelinesx.png"), "");
43 mw.m_btnGuidelineBottomCartesian->setSizePolicy (QSizePolicy::Maximum, QSizePolicy::Maximum);
44 mw.m_btnGuidelineBottomCartesian->setEnabled (true);
45 mw.m_btnGuidelineBottomCartesian->setAcceptDrops (false);
46 mw.m_btnGuidelineBottomCartesian->setStatusTip (statusTipX);
47 mw.m_btnGuidelineBottomCartesian->setWhatsThis (whatsThisX);
48 connect (mw.m_btnGuidelineBottomCartesian, SIGNAL (pressed ()), &mw, SLOT (slotBtnGuidelineBottomCartesian ()));
49
50 mw.m_btnGuidelineBottomPolar = new QPushButton (QIcon(":/engauge/img/icon_guidelinest.png"), "");
51 mw.m_btnGuidelineBottomPolar->setSizePolicy (QSizePolicy::Maximum, QSizePolicy::Maximum);
52 mw.m_btnGuidelineBottomPolar->setEnabled (true);
53 mw.m_btnGuidelineBottomPolar->setAcceptDrops (false);
54 mw.m_btnGuidelineBottomPolar->setStatusTip (statusTipT);
55 mw.m_btnGuidelineBottomPolar->setWhatsThis (whatsThisT);
56 connect (mw.m_btnGuidelineBottomPolar, SIGNAL (pressed ()), &mw, SLOT (slotBtnGuidelineBottomPolar ()));
57
58 mw.m_btnGuidelineLeftCartesian = new QPushButton (QIcon(":/engauge/img/icon_guidelinesy.png"), "");
59 mw.m_btnGuidelineLeftCartesian->setSizePolicy (QSizePolicy::Maximum, QSizePolicy::Maximum);
60 mw.m_btnGuidelineLeftCartesian->setEnabled (true);
61 mw.m_btnGuidelineLeftCartesian->setAcceptDrops (false);
62 mw.m_btnGuidelineLeftCartesian->setStatusTip (statusTipY);
63 mw.m_btnGuidelineLeftCartesian->setWhatsThis (whatsThisY);
64 connect (mw.m_btnGuidelineLeftCartesian, SIGNAL (pressed ()), &mw, SLOT (slotBtnGuidelineLeftCartesian ()));
65
66 mw.m_btnGuidelineLeftPolar = new QPushButton (QIcon(":/engauge/img/icon_guidelinesr.png"), "");
67 mw.m_btnGuidelineLeftPolar->setSizePolicy (QSizePolicy::Maximum, QSizePolicy::Maximum);
68 mw.m_btnGuidelineLeftPolar->setEnabled (true);
69 mw.m_btnGuidelineLeftPolar->setAcceptDrops (false);
70 mw.m_btnGuidelineLeftPolar->setStatusTip (statusTipR);
71 mw.m_btnGuidelineLeftPolar->setWhatsThis (whatsThisR);
72 connect (mw.m_btnGuidelineLeftPolar, SIGNAL (pressed ()), &mw, SLOT (slotBtnGuidelineLeftPolar ()));
73
74 mw.m_btnGuidelineRightCartesian = new QPushButton (QIcon(":/engauge/img/icon_guidelinesy.png"), "");
75 mw.m_btnGuidelineRightCartesian->setSizePolicy (QSizePolicy::Maximum, QSizePolicy::Maximum);
76 mw.m_btnGuidelineRightCartesian->setEnabled (true);
77 mw.m_btnGuidelineRightCartesian->setAcceptDrops (false);
78 mw.m_btnGuidelineRightCartesian->setStatusTip (statusTipY);
79 mw.m_btnGuidelineRightCartesian->setWhatsThis (whatsThisY);
80 connect (mw.m_btnGuidelineRightCartesian, SIGNAL (pressed ()), &mw, SLOT (slotBtnGuidelineRightCartesian ()));
81
82 mw.m_btnGuidelineRightPolar = new QPushButton (QIcon(":/engauge/img/icon_guidelinesr.png"), "");
83 mw.m_btnGuidelineRightPolar->setSizePolicy (QSizePolicy::Maximum, QSizePolicy::Maximum);
84 mw.m_btnGuidelineRightPolar->setEnabled (true);
85 mw.m_btnGuidelineRightPolar->setAcceptDrops (false);
86 mw.m_btnGuidelineRightPolar->setStatusTip (statusTipR);
87 mw.m_btnGuidelineRightPolar->setWhatsThis (whatsThisR);
88 connect (mw.m_btnGuidelineRightPolar, SIGNAL (pressed ()), &mw, SLOT (slotBtnGuidelineRightPolar ()));
89
90 mw.m_btnGuidelineTopCartesian = new QPushButton (QIcon(":/engauge/img/icon_guidelinesx.png"), "");
91 mw.m_btnGuidelineTopCartesian->setSizePolicy (QSizePolicy::Maximum, QSizePolicy::Maximum);
92 mw.m_btnGuidelineTopCartesian->setEnabled (true);
93 mw.m_btnGuidelineTopCartesian->setAcceptDrops (false);
94 mw.m_btnGuidelineTopCartesian->setStatusTip (statusTipX);
95 mw.m_btnGuidelineTopCartesian->setWhatsThis (whatsThisX);
96 connect (mw.m_btnGuidelineTopCartesian, SIGNAL (pressed ()), &mw, SLOT (slotBtnGuidelineTopCartesian ()));
97
98 mw.m_btnGuidelineTopPolar = new QPushButton (QIcon(":/engauge/img/icon_guidelinest.png"), "");
99 mw.m_btnGuidelineTopPolar->setSizePolicy (QSizePolicy::Maximum, QSizePolicy::Maximum);
100 mw.m_btnGuidelineTopPolar->setEnabled (true);
101 mw.m_btnGuidelineTopPolar->setAcceptDrops (false);
102 mw.m_btnGuidelineTopPolar->setStatusTip (statusTipT);
103 mw.m_btnGuidelineTopPolar->setWhatsThis (whatsThisT);
104 connect (mw.m_btnGuidelineTopPolar, SIGNAL (pressed ()), &mw, SLOT (slotBtnGuidelineTopPolar ()));
105
106 int row = 0;
107
108 // On each of the four sides there are two rows or columns that are mutually exclusive
109 mw.m_layout->addWidget (mw.m_btnGuidelineTopCartesian, row++, 2, Qt::AlignHCenter);
110 mw.m_layout->addWidget (mw.m_btnGuidelineTopPolar, row++, 2, Qt::AlignHCenter);
111 mw.m_layout->addWidget (mw.m_btnGuidelineLeftCartesian, row, 0, Qt::AlignVCenter);
112 mw.m_layout->addWidget (mw.m_btnGuidelineLeftPolar, row, 1, Qt::AlignVCenter);
113 mw.m_layout->addWidget (mw.m_view, row, 2);
114 mw.m_layout->addWidget (mw.m_btnGuidelineRightCartesian, row, 3, Qt::AlignVCenter);
115 mw.m_layout->addWidget (mw.m_btnGuidelineRightPolar, row++, 4, Qt::AlignVCenter);
116 mw.m_layout->addWidget (mw.m_btnGuidelineBottomCartesian, row++, 2, Qt::AlignHCenter);
117 mw.m_layout->addWidget (mw.m_btnGuidelineBottomPolar, row++, 2, Qt::AlignHCenter);
118}
119
log4cpp::Category * mainCat
Definition Logger.cpp:14
void create(MainWindow &mw)
Create QGraphicsScene.
CreateScene()
Single constructor.
Add point and line handling to generic QGraphicsScene.
QGraphicsView class with event handling added. Typically the events are sent to the active digitizing...
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition MainWindow.h:96
#define LOG4CPP_INFO_S(logger)
Definition convenience.h:18