Engauge Digitizer
2
Loading...
Searching...
No Matches
Guideline
GuidelineFactory.cpp
Go to the documentation of this file.
1
/******************************************************************************************************
2
* (C) 2019 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 "
GraphicsScene.h
"
8
#include "
GuidelineAbstract.h
"
9
#include "
GuidelineEllipse.h
"
10
#include "
GuidelineFactory.h
"
11
#include "
GuidelineLine.h
"
12
#include "
Guidelines.h
"
13
#include "
Logger.h
"
14
#include "
MainWindow.h
"
15
#include <QGraphicsScene>
16
17
GuidelineFactory::GuidelineFactory
(
GraphicsScene
*
sceneMain
) :
18
m_sceneMain (
sceneMain
)
19
{
20
createEllipseMap ();
21
}
22
23
GuidelineFactory::~GuidelineFactory
()
24
{
25
}
26
27
GuidelineAbstract
*
GuidelineFactory::createGuideline
(
Guidelines
&guidelines,
28
GuidelineState
stateInitial
,
29
MainWindow
&mainWindow,
30
const
QString
&identifier)
31
{
32
LOG4CPP_DEBUG_S
((*
mainCat
)) <<
"GuidelineFactory::createGuideline identifier="
33
<< identifier.toLatin1().data();
34
35
// Main scene or one of the guideline scenes?
36
QGraphicsScene *scene = m_sceneMain;
37
38
// Line or ellipse?
39
GuidelineAbstract
*guideline =
nullptr
;
40
41
if
(m_mapStatesWithEllipse.contains (
stateInitial
)) {
42
43
guideline =
new
GuidelineEllipse
(*scene,
44
guidelines,
45
stateInitial
,
46
identifier);
47
48
}
else
{
49
50
guideline =
new
GuidelineLine
(*scene,
51
guidelines,
52
stateInitial
,
53
identifier);
54
}
55
56
QObject::connect (guideline,
SIGNAL
(signalGuidelineDragged (
QString
,
double
,
bool
,
GuidelineState
)),
57
&mainWindow,
SLOT
(slotGuidelineDragged (
QString
,
double
,
bool
,
GuidelineState
)));
58
59
return
guideline;
60
}
61
62
void
GuidelineFactory::createEllipseMap ()
63
{
64
// All other states get a line instead of an ellipse
65
m_mapStatesWithEllipse [
GUIDELINE_STATE_DEPLOYED_CONSTANT_R_SELECT_EDIT
] =
true
;
66
m_mapStatesWithEllipse [
GUIDELINE_STATE_DEPLOYED_CONSTANT_R_SELECT_EDIT_APPEARING
] =
true
;
67
m_mapStatesWithEllipse [
GUIDELINE_STATE_DEPLOYED_CONSTANT_R_SELECT_EDIT_HOVER
] =
true
;
68
m_mapStatesWithEllipse [
GUIDELINE_STATE_DEPLOYED_CONSTANT_R_SELECT_HIDE
] =
true
;
69
m_mapStatesWithEllipse [
GUIDELINE_STATE_DEPLOYED_CONSTANT_R_SELECT_LOCK
] =
true
;
70
m_mapStatesWithEllipse [
GUIDELINE_STATE_DEPLOYED_CONSTANT_R_UNSELECT_EDIT
] =
true
;
71
m_mapStatesWithEllipse [
GUIDELINE_STATE_DEPLOYED_CONSTANT_R_UNSELECT_HIDE
] =
true
;
72
m_mapStatesWithEllipse [
GUIDELINE_STATE_DEPLOYED_CONSTANT_R_UNSELECT_LOCK
] =
true
;
73
}
INNER_RADIUS_MIN
const int INNER_RADIUS_MIN
Definition
DlgSettingsDigitizeCurve.cpp:35
GraphicsScene.h
GuidelineAbstract.h
GuidelineEllipse.h
GuidelineFactory.h
GuidelineLine.h
GuidelineState
GuidelineState
Set of possible Guideline states. See class Guideline for more information.
Definition
GuidelineState.h:13
GUIDELINE_STATE_DEPLOYED_CONSTANT_R_SELECT_EDIT_APPEARING
@ GUIDELINE_STATE_DEPLOYED_CONSTANT_R_SELECT_EDIT_APPEARING
Definition
GuidelineState.h:15
GUIDELINE_STATE_DEPLOYED_CONSTANT_R_SELECT_EDIT
@ GUIDELINE_STATE_DEPLOYED_CONSTANT_R_SELECT_EDIT
Definition
GuidelineState.h:14
GUIDELINE_STATE_DEPLOYED_CONSTANT_R_SELECT_EDIT_HOVER
@ GUIDELINE_STATE_DEPLOYED_CONSTANT_R_SELECT_EDIT_HOVER
Definition
GuidelineState.h:16
GUIDELINE_STATE_DEPLOYED_CONSTANT_R_UNSELECT_LOCK
@ GUIDELINE_STATE_DEPLOYED_CONSTANT_R_UNSELECT_LOCK
Definition
GuidelineState.h:21
GUIDELINE_STATE_DEPLOYED_CONSTANT_R_SELECT_HIDE
@ GUIDELINE_STATE_DEPLOYED_CONSTANT_R_SELECT_HIDE
Definition
GuidelineState.h:17
GUIDELINE_STATE_DEPLOYED_CONSTANT_R_SELECT_LOCK
@ GUIDELINE_STATE_DEPLOYED_CONSTANT_R_SELECT_LOCK
Definition
GuidelineState.h:18
GUIDELINE_STATE_DEPLOYED_CONSTANT_R_UNSELECT_HIDE
@ GUIDELINE_STATE_DEPLOYED_CONSTANT_R_UNSELECT_HIDE
Definition
GuidelineState.h:20
GUIDELINE_STATE_DEPLOYED_CONSTANT_R_UNSELECT_EDIT
@ GUIDELINE_STATE_DEPLOYED_CONSTANT_R_UNSELECT_EDIT
Definition
GuidelineState.h:19
Guidelines.h
mainCat
log4cpp::Category * mainCat
Definition
Logger.cpp:14
Logger.h
MainWindow.h
GraphicsScene
Add point and line handling to generic QGraphicsScene.
Definition
GraphicsScene.h:37
GuidelineAbstract
This class is a special case of the standard QGraphicsLineItem for guidelines, and serves as the base...
Definition
GuidelineAbstract.h:69
GuidelineEllipse
Ellipse version of GuidelineAbstract.
Definition
GuidelineEllipse.h:22
GuidelineFactory::~GuidelineFactory
virtual ~GuidelineFactory()
Definition
GuidelineFactory.cpp:23
GuidelineFactory::createGuideline
GuidelineAbstract * createGuideline(Guidelines &guidelines, GuidelineState stateInitial, MainWindow &mainWindow, const QString &identifier)
Definition
GuidelineFactory.cpp:27
GuidelineFactory::GuidelineFactory
GuidelineFactory(GraphicsScene *sceneMain)
Single constructor.
Definition
GuidelineFactory.cpp:17
GuidelineLine
Line version of GuidelineAbstract.
Definition
GuidelineLine.h:22
Guidelines
This class contains all Guideline objects.
Definition
Guidelines.h:28
MainWindow
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition
MainWindow.h:96
LOG4CPP_DEBUG_S
#define LOG4CPP_DEBUG_S(logger)
Definition
convenience.h:20
Generated on Sat Dec 21 2024 18:04:13 for Engauge Digitizer by
1.10.0