77#include < zest/math/math_utils.h>
88#include < zest/time/timer.h>
99
10+ #include < signals/signals.hpp>
11+
1012namespace NodeGraph {
1113
1214class Canvas ;
@@ -219,8 +221,6 @@ class Layout;
219221class Widget ;
220222using WidgetList = std::vector<std::shared_ptr<Widget>>;
221223
222- using fnPostDraw = std::function<void (Canvas& canvas, const Zest::NRectf& hintRect)>;
223- using fnValueUpdated = std::function<void ()>;
224224class Widget
225225{
226226public:
@@ -232,10 +232,6 @@ class Widget
232232 virtual Widget* GetParent () const ;
233233 virtual void SetParent (Widget* pParent);
234234
235- // Post Draw
236- virtual void AddPostDrawCB (const fnPostDraw& fnCB);
237- virtual void AddValueUpdatedCB (const fnValueUpdated& fnCB);
238-
239235 virtual const Zest::NRectf& GetRect () const ;
240236 virtual void SetRect (const Zest::NRectf& sz);
241237 virtual const glm::uvec2& GetConstraints () const ;
@@ -285,7 +281,8 @@ class Widget
285281
286282 void Visit (const std::function<void (Widget*)>& fnVisit);
287283
288- void SendValueUpdated ();
284+ fteng::signal<void ()> ValueUpdatedSignal;
285+ fteng::signal<void (Canvas& canvas, const Zest::NRectf& hintRect)> PostDrawSignal;
289286
290287protected:
291288 Zest::NRectf m_rect;
@@ -296,8 +293,6 @@ class Widget
296293 std::shared_ptr<Layout> m_spLayout;
297294 uint64_t m_flags = 0 ;
298295 glm::vec2 m_sizeHint = glm::vec2(0 .0f );
299- fnPostDraw m_postDrawCB;
300- fnValueUpdated m_valueUpdatedCB;
301296 TipTimer m_tipTimer;
302297};
303298
0 commit comments