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 "EngaugeAssert.h"
8 #include "GuidelineAbstract.h"
9 #include "GuidelineState.h"
10 #include "GuidelineStateContext.h"
11 #include "GuidelineStateDeployedConstantYSelectLock.h"
12 #include "Logger.h"
13 #include "Transformation.h"
14 
GuidelineStateDeployedConstantYSelectLock(GuidelineStateContext & context)15 GuidelineStateDeployedConstantYSelectLock::GuidelineStateDeployedConstantYSelectLock (GuidelineStateContext &context) :
16   GuidelineStateDeployedConstantYAbstract (context)
17 {
18 }
19 
~GuidelineStateDeployedConstantYSelectLock()20 GuidelineStateDeployedConstantYSelectLock::~GuidelineStateDeployedConstantYSelectLock ()
21 {
22 }
23 
begin()24 void GuidelineStateDeployedConstantYSelectLock::begin ()
25 {
26   LOG4CPP_INFO_S ((*mainCat)) << "GuidelineStateDeployedConstantYSelectLock::begin"
27                               << " identifier=" << context().guideline().identifier().toLatin1().data();
28 
29   beginCommon (GuidelineFormat::HOVER_OFF,
30                true);
31 }
32 
doPaint() const33 bool GuidelineStateDeployedConstantYSelectLock::doPaint () const
34 {
35   return true;
36 }
37 
end()38 void GuidelineStateDeployedConstantYSelectLock::end ()
39 {
40   LOG4CPP_INFO_S ((*mainCat)) << "GuidelineStateDeployedConstantYSelectLock::end";
41 }
42 
handleActiveChange(bool active)43 void GuidelineStateDeployedConstantYSelectLock::handleActiveChange (bool active)
44 {
45   if (active) {
46     context().requestStateTransition(GUIDELINE_STATE_DEPLOYED_CONSTANT_Y_SELECT_LOCK);
47   }
48 }
49 
handleGuidelineMode(bool visible,bool locked)50 void GuidelineStateDeployedConstantYSelectLock::handleGuidelineMode (bool visible,
51                                                                      bool locked)
52 {
53   if (!visible) {
54     context().requestStateTransition(GUIDELINE_STATE_DEPLOYED_CONSTANT_Y_SELECT_HIDE);
55   } else if (locked) {
56     context().requestStateTransition(GUIDELINE_STATE_DEPLOYED_CONSTANT_Y_SELECT_LOCK);
57   }
58 }
59 
handleHoverEnterEvent()60 void GuidelineStateDeployedConstantYSelectLock::handleHoverEnterEvent ()
61 {
62 }
63 
handleHoverLeaveEvent()64 void GuidelineStateDeployedConstantYSelectLock::handleHoverLeaveEvent ()
65 {
66 }
67 
handleMousePress(const QPointF & posScene)68 void GuidelineStateDeployedConstantYSelectLock::handleMousePress (const QPointF &posScene)
69 {
70   handleMousePressCommon (posScene,
71                           GUIDELINE_STATE_HANDLE_Y,
72                           GUIDELINE_STATE_DEPLOYED_CONSTANT_Y_SELECT_EDIT);
73 }
74 
stateName() const75 QString GuidelineStateDeployedConstantYSelectLock::stateName () const
76 {
77   return guidelineStateAsString (GUIDELINE_STATE_DEPLOYED_CONSTANT_Y_SELECT_LOCK);
78 }
79