10#include <wx/scrolwin.h>
20 wxString
GetTitle()
const override {
return "Blackboard"; }
24 void SetBlackboards(
const std::map<std::string, std::shared_ptr<EmberCore::Blackboard>> &bbs,
25 const std::map<std::string, std::vector<std::string>> &includesMap);
33 void OnPaint(wxPaintEvent &event);
41 std::map<std::string, std::shared_ptr<EmberCore::Blackboard>>
m_blackboards;
void ScrollToBlackboard(const std::string &bbId)
wxString GetTitle() const override
Returns the display title of the scene.
wxScrolledWindow * m_scrollPanel
std::map< std::string, std::shared_ptr< EmberCore::Blackboard > > m_blackboards
static constexpr double SCROLL_FRICTION
void OnMouseWheel(wxMouseEvent &event)
wxPanel * GetPanel() override
Returns the wxPanel used as the scene content.
void OnScrollTimer(wxTimerEvent &event)
void OnLeftDown(wxMouseEvent &event)
bool IsClosable() const override
Returns true if the scene can be closed.
void DrawBlackboardCards(wxDC &dc)
static const int CARD_HEADER_H
BlackboardScene(wxWindow *parent)
static constexpr double SCROLL_PIXELS_PER_NOTCH
void SetBlackboards(const std::map< std::string, std::shared_ptr< EmberCore::Blackboard > > &bbs, const std::map< std::string, std::vector< std::string > > &includesMap)
std::map< std::string, int > m_bbYPositions
void OnPaint(wxPaintEvent &event)
std::map< std::string, std::vector< std::string > > m_includesMap
std::vector< std::string > m_sortedBBIds
wxString GetSceneType() const override
Returns the scene type identifier.
std::set< std::string > m_collapsedBlackboards
~BlackboardScene() override
Interface for scene-based UI components (e.g., views or screens).