PeriDyno 1.2.1
Loading...
Searching...
No Matches
WtNodeStyle.h
Go to the documentation of this file.
1#pragma once
2
3#include <Wt/WColor.h>
4#include <Wt/WLogger.h>
5
6#include <fstream>
7#include <sstream>
8#include <string>
9#include <vector>
10#include <random>
11
12#include "Platform.h"
13#include "json.hpp"
14
15class Style
16{
17public:
18 virtual ~Style() = default;
19
20private:
21 virtual void loadJsonText(std::string jsonText) = 0;
22
23 virtual void loadJsonFile(std::string fileName) = 0;
24
25 virtual void loadJsonFromByteArray(std::string const& jsonData) = 0;
26};
27
28class WtNodeStyle : public Style
29{
30public:
32
33 WtNodeStyle(std::string jsonText);
34
35public:
36 static void setNodeStyle(std::string jsonText);
37
38private:
39 void loadJsonText(std::string jsonText) override;
40
41 void loadJsonFile(std::string fileName) override;
42
43 void loadJsonFromByteArray(std::string const& jsonData) override;
44
45public:
49 Wt::WColor GradientColor0;
50 Wt::WColor GradientColor1;
51 Wt::WColor GradientColor2;
52 Wt::WColor GradientColor3;
53 Wt::WColor ShadowColor;
54 Wt::WColor FontColor;
55 Wt::WColor FontColorFaded;
56
57 Wt::WColor HotKeyColor0;
58 Wt::WColor HotKeyColor1;
59 Wt::WColor HotKeyColor2;
60
63
64 Wt::WColor WarningColor;
65 Wt::WColor ErrorColor;
66
67 float PenWidth;
69
71
72 float Opacity;
73};
74
76{
77public:
79
80 WtConnectionStyle(std::string jsonText);
81
82public:
83 Wt::WColor fromHSL(int h, int s, int l) const;
84
85 static void setConnectionStyle(std::string jsonText);
86
87 Wt::WColor constructionColor() const;
88
89 Wt::WColor normalColor() const;
90
91 Wt::WColor normalColor(std::string typeId) const;
92
93 Wt::WColor selectedColor() const;
94
95 Wt::WColor selectedHaloColor() const;
96
97 Wt::WColor hoveredColor() const;
98
99 float lineWidth() const;
100
101 float constructionLineWidth() const;
102
103 float pointDiameter() const;
104
105 bool useDataDefinedColors() const;
106
107private:
108 void loadJsonText(std::string jsonText) override;
109
110 void loadJsonFile(std::string fileName) override;
111
112 void loadJsonFromByteArray(std::string const& jsonData) override;
113
114private:
115
117 Wt::WColor NormalColor;
118 Wt::WColor SelectedColor;
120 Wt::WColor HoveredColor;
121
125
127};
128
129class WtFlowViewStyle : public Style
130{
131public:
133
134 WtFlowViewStyle(std::string jsonText);
135
136public:
137 static void setStyle(std::string jsonText);
138
139private:
140 void loadJsonText(std::string jsonText) override;
141
142 void loadJsonFile(std::string fileName) override;
143
144 void loadJsonFromByteArray(std::string const& jsonData) override;
145
146public:
147 Wt::WColor BackgroundColor;
148 Wt::WColor FineGridColor;
149 Wt::WColor CoarseGridColor;
150};
151
153{
154public:
155 static WtNodeStyle const& nodeStyle();
156
157 static WtConnectionStyle const& connectionStyle();
158
159 static WtFlowViewStyle const& flowViewStyle();
160
161public:
162 static void setNodeStyle(WtNodeStyle);
163
165
167
168private:
169 WtStyleCollection() = default;
170
172
174
175 static WtStyleCollection& instance();
176
177private:
181};
virtual void loadJsonFile(std::string fileName)=0
virtual void loadJsonFromByteArray(std::string const &jsonData)=0
virtual ~Style()=default
virtual void loadJsonText(std::string jsonText)=0
float ConstructionLineWidth
Wt::WColor NormalColor
float constructionLineWidth() const
Wt::WColor normalColor() const
bool useDataDefinedColors() const
void loadJsonFromByteArray(std::string const &jsonData) override
void loadJsonFile(std::string fileName) override
Wt::WColor SelectedColor
Wt::WColor HoveredColor
float lineWidth() const
Wt::WColor hoveredColor() const
static void setConnectionStyle(std::string jsonText)
float pointDiameter() const
Wt::WColor ConstructionColor
void loadJsonText(std::string jsonText) override
Wt::WColor constructionColor() const
Wt::WColor selectedHaloColor() const
Wt::WColor fromHSL(int h, int s, int l) const
Wt::WColor SelectedHaloColor
Wt::WColor selectedColor() const
void loadJsonFile(std::string fileName) override
Wt::WColor CoarseGridColor
Wt::WColor FineGridColor
void loadJsonFromByteArray(std::string const &jsonData) override
Wt::WColor BackgroundColor
void loadJsonText(std::string jsonText) override
static void setStyle(std::string jsonText)
void loadJsonFromByteArray(std::string const &jsonData) override
Wt::WColor HotKeyColor1
Definition WtNodeStyle.h:58
Wt::WColor HotKeyColor0
Definition WtNodeStyle.h:57
Wt::WColor GradientColor2
Definition WtNodeStyle.h:51
Wt::WColor WarningColor
Definition WtNodeStyle.h:64
Wt::WColor ErrorColor
Definition WtNodeStyle.h:65
Wt::WColor GradientColor0
Definition WtNodeStyle.h:49
Wt::WColor HotKeyColor2
Definition WtNodeStyle.h:59
Wt::WColor SelectedBoundaryColor
Definition WtNodeStyle.h:47
Wt::WColor ShadowColor
Definition WtNodeStyle.h:53
float HoveredPenWidth
Definition WtNodeStyle.h:68
void loadJsonText(std::string jsonText) override
Wt::WColor FontColor
Definition WtNodeStyle.h:54
float ConnectionPointDiameter
Definition WtNodeStyle.h:70
Wt::WColor ConnectionPointColor
Definition WtNodeStyle.h:61
static void setNodeStyle(std::string jsonText)
Wt::WColor FilledConnectionPointColor
Definition WtNodeStyle.h:62
Wt::WColor GradientColor1
Definition WtNodeStyle.h:50
float PenWidth
Definition WtNodeStyle.h:67
Wt::WColor NormalBoundaryColor
Definition WtNodeStyle.h:46
float Opacity
Definition WtNodeStyle.h:72
Wt::WColor SelectedDragColor
Definition WtNodeStyle.h:48
Wt::WColor FontColorFaded
Definition WtNodeStyle.h:55
void loadJsonFile(std::string fileName) override
Wt::WColor GradientColor3
Definition WtNodeStyle.h:52
WtConnectionStyle _connectionStyle
static WtFlowViewStyle const & flowViewStyle()
WtStyleCollection & operator=(WtStyleCollection const &)=delete
static WtStyleCollection & instance()
WtFlowViewStyle _flowViewStyle
static void setConnectionStyle(WtConnectionStyle)
static WtNodeStyle const & nodeStyle()
static void setNodeStyle(WtNodeStyle)
WtStyleCollection(WtStyleCollection const &)=delete
WtNodeStyle _nodeStyle
static WtConnectionStyle const & connectionStyle()
static void setFlowViewStyle(WtFlowViewStyle)
WtStyleCollection()=default