Skip to content

Commit ce151fc

Browse files
committed
Clear evaluation environment when manager is cleared.
1 parent 7fc9f63 commit ce151fc

16 files changed

+170
-28
lines changed

Sources/NodeEngine/NE_EvaluationEnv.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,13 @@ EvaluationEnv::~EvaluationEnv ()
2424

2525
}
2626

27+
void EvaluationEnv::Clear ()
28+
{
29+
if (data != nullptr) {
30+
data->Clear ();
31+
}
32+
}
33+
2734
EvaluationEnv EmptyEvaluationEnv (nullptr);
2835

2936
}

Sources/NodeEngine/NE_EvaluationEnv.hpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ class EvaluationData
1111
public:
1212
EvaluationData ();
1313
virtual ~EvaluationData ();
14+
15+
virtual void Clear () = 0;
1416
};
1517

1618
using EvaluationDataPtr = std::shared_ptr<EvaluationData>;
@@ -28,6 +30,8 @@ class EvaluationEnv
2830
template <typename T>
2931
std::shared_ptr<T> GetData ();
3032

33+
void Clear ();
34+
3135
private:
3236
EvaluationDataPtr data;
3337
};

Sources/NodeEngineTest/ArithmeticNodesTest.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ namespace ArithmeticNodesTest
1313

1414
TEST (TestAllArithmeticNodes)
1515
{
16-
TestDrawingEnvironment env;
16+
TestUIEnvironment env;
1717
NodeUIManager uiManager (env);
1818

1919
UINodePtr val1 = uiManager.AddNode (UINodePtr (new DoubleUpDownNode (LocString (L"Value1"), Point (0, 0), 1.0, 1.0)), EmptyEvaluationEnv);

Sources/NodeEngineTest/DispatcherOutputSlotTest.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ class TestCalcEnvironment : public NodeUICalculationEnvironment
9696

9797
TEST (DispatcherOutputSlotEvaluationTest)
9898
{
99-
TestDrawingEnvironment env;
99+
TestUIEnvironment env;
100100
NodeUIManager uiManager (env);
101101

102102
UINodePtr dispatcherNode (new DispatcherNode (LocString (L"Node"), Point (0.0, 0.0)));

Sources/NodeEngineTest/EnableDisableFeatureTest.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ namespace EnableDisableFeatureTest
2323
class CalculatedCollector : public EvaluationData
2424
{
2525
public:
26+
virtual void Clear () override
27+
{
28+
values.clear ();
29+
}
30+
2631
std::unordered_map<NodeId, int> values;
2732
};
2833

@@ -155,7 +160,7 @@ DYNAMIC_SERIALIZATION_INFO (TestNode, 1, "{747EB91C-99ED-401A-98DF-A5BBA8FA4CE6}
155160

156161
TEST (EnableDisableTest)
157162
{
158-
TestDrawingEnvironment env;
163+
TestUIEnvironment env;
159164
NodeUIManager uiManager (env);
160165
TestCalcEnvironment calcEnv;
161166

Sources/NodeEngineTest/InputNodesTest.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace InputNodesTest
1212

1313
TEST (TestListBuilderNode)
1414
{
15-
TestDrawingEnvironment env;
15+
TestUIEnvironment env;
1616
NodeUIManager uiManager (env);
1717

1818
UINodePtr intNode = uiManager.AddNode (UINodePtr (new IntegerUpDownNode (LocString (L"Value1"), Point (0, 0), 1, 1)), EmptyEvaluationEnv);

Sources/NodeEngineTest/NodeTest.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,11 @@ class DummyEvaluationData : public EvaluationData
6262

6363
}
6464

65+
virtual void Clear () override
66+
{
67+
68+
}
69+
6570
int x;
6671
};
6772

Sources/NodeEngineTest/NodeValueCacheTest.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,11 @@ class InputOutputNode : public SerializableTestNode
7373
class DummyEvaluationData : public NE::EvaluationData
7474
{
7575
public:
76+
virtual void Clear () override
77+
{
78+
79+
}
80+
7681
int x = 5;
7782
};
7883

@@ -317,7 +322,6 @@ TEST (EvaluationEnvTest)
317322
{
318323
NodeManager manager;
319324

320-
321325
std::shared_ptr<DummyEvaluationData> evalData (new DummyEvaluationData ());
322326
ASSERT (evalData->x == 5);
323327

Sources/NodeEngineTest/TestUtils.cpp

Lines changed: 58 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,77 @@
33
#include "NUIE_SkinParams.hpp"
44
#include "NUIE_DrawingContext.hpp"
55

6-
const NE::StringConverter& TestDrawingEnvironment::GetStringConverter ()
6+
TestUIEnvironment::TestUIEnvironment () :
7+
TestUIEnvironment (nullptr)
8+
{
9+
10+
}
11+
12+
TestUIEnvironment::TestUIEnvironment (const EvaluationDataPtr& data) :
13+
evalEnv (data),
14+
eventHandler (),
15+
clipboardHandler ()
16+
{
17+
18+
}
19+
20+
const NE::StringConverter& TestUIEnvironment::GetStringConverter ()
721
{
822
return GetDefaultStringConverter ();
923
}
1024

11-
const SkinParams& TestDrawingEnvironment::GetSkinParams ()
25+
const SkinParams& TestUIEnvironment::GetSkinParams ()
1226
{
1327
return GetDefaultSkinParams ();
1428
}
1529

16-
DrawingContext& TestDrawingEnvironment::GetDrawingContext ()
30+
DrawingContext& TestUIEnvironment::GetDrawingContext ()
1731
{
1832
static NullDrawingContext context;
1933
return context;
2034
}
2135

22-
double TestDrawingEnvironment::GetWindowScale ()
36+
double TestUIEnvironment::GetWindowScale ()
2337
{
2438
return 1.0;
2539
}
40+
41+
NE::EvaluationEnv& TestUIEnvironment::GetEvaluationEnv ()
42+
{
43+
return evalEnv;
44+
}
45+
46+
void TestUIEnvironment::OnEvaluationBegin ()
47+
{
48+
49+
}
50+
51+
void TestUIEnvironment::OnEvaluationEnd ()
52+
{
53+
54+
}
55+
56+
void TestUIEnvironment::OnValuesRecalculated ()
57+
{
58+
59+
}
60+
61+
void TestUIEnvironment::OnRedrawRequested ()
62+
{
63+
64+
}
65+
66+
NUIE::EventHandler& TestUIEnvironment::GetEventHandler ()
67+
{
68+
return eventHandler;
69+
}
70+
71+
NUIE::ClipboardHandler& TestUIEnvironment::GetClipboardHandler ()
72+
{
73+
return clipboardHandler;
74+
}
75+
76+
double TestUIEnvironment::GetMouseMoveMinOffset ()
77+
{
78+
return 2.0;
79+
}
Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,38 @@
11
#ifndef TESTUTILS_HPP
22
#define TESTUTILS_HPP
33

4+
#include "NUIE_EventHandler.hpp"
5+
#include "NUIE_ClipboardHandler.hpp"
46
#include "NUIE_NodeUIEnvironment.hpp"
57

68
using namespace NE;
79
using namespace NUIE;
810

9-
class TestDrawingEnvironment : public NodeUIDrawingEnvironment
11+
class TestUIEnvironment : public NodeUIEnvironment
1012
{
1113
public:
14+
TestUIEnvironment ();
15+
TestUIEnvironment (const EvaluationDataPtr& data);
16+
1217
virtual const NE::StringConverter& GetStringConverter () override;
1318
virtual const SkinParams& GetSkinParams () override;
1419
virtual DrawingContext& GetDrawingContext () override;
1520
virtual double GetWindowScale () override;
21+
22+
virtual NE::EvaluationEnv& GetEvaluationEnv () override;
23+
virtual void OnEvaluationBegin () override;
24+
virtual void OnEvaluationEnd () override;
25+
virtual void OnValuesRecalculated () override;
26+
virtual void OnRedrawRequested () override;
27+
28+
virtual EventHandler& GetEventHandler () override;
29+
virtual ClipboardHandler& GetClipboardHandler () override;
30+
virtual double GetMouseMoveMinOffset () override;
31+
32+
private:
33+
NE::EvaluationEnv evalEnv;
34+
NUIE::NullEventHandler eventHandler;
35+
NUIE::MemoryClipboardHandler clipboardHandler;
1636
};
1737

1838
#endif

0 commit comments

Comments
 (0)