Ember
Loading...
Searching...
No Matches
BlackboardScene Class Reference

#include <BlackboardScene.h>

Inheritance diagram for BlackboardScene:
IScene

Public Member Functions

 BlackboardScene (wxWindow *parent)
 ~BlackboardScene () override
wxPanel * GetPanel () override
 Returns the wxPanel used as the scene content.
wxString GetTitle () const override
 Returns the display title of the scene.
wxString GetSceneType () const override
 Returns the scene type identifier.
bool IsClosable () const override
 Returns true if the scene can be closed.
void SetBlackboards (const std::map< std::string, std::shared_ptr< EmberCore::Blackboard > > &bbs, const std::map< std::string, std::vector< std::string > > &includesMap)
void ScrollToBlackboard (const std::string &bbId)
void ClearBlackboards ()
Public Member Functions inherited from IScene
virtual ~IScene ()=default
virtual void OnActivated ()
 Called when the scene becomes active.
virtual void OnDeactivated ()
 Called when the scene becomes inactive.
virtual void Refresh ()
 Refreshes the scene content.
virtual bool HasUnsavedChanges () const
 Returns true if the scene has unsaved changes.
virtual bool Save ()
 Saves the scene content; returns true on success.

Private Member Functions

void CreateLayout ()
void DrawBlackboardCards (wxDC &dc)
void OnPaint (wxPaintEvent &event)
void OnLeftDown (wxMouseEvent &event)
void OnMouseWheel (wxMouseEvent &event)
void OnScrollTimer (wxTimerEvent &event)

Private Attributes

wxPanel * m_panel
wxScrolledWindow * m_scrollPanel
std::map< std::string, std::shared_ptr< EmberCore::Blackboard > > m_blackboards
std::map< std::string, std::vector< std::string > > m_includesMap
std::vector< std::string > m_sortedBBIds
std::set< std::string > m_collapsedBlackboards
std::map< std::string, int > m_bbYPositions
wxTimer * m_scrollTimer = nullptr
double m_scrollVelocity = 0.0
double m_scrollY = 0.0

Static Private Attributes

static const int CARD_HEADER_H = 26
static const int ROW_H = 24
static constexpr double SCROLL_FRICTION = 0.82
static constexpr double SCROLL_PIXELS_PER_NOTCH = 60.0

Detailed Description

Definition at line 14 of file BlackboardScene.h.

Constructor & Destructor Documentation

◆ BlackboardScene()

BlackboardScene::BlackboardScene ( wxWindow * parent)

Definition at line 6 of file BlackboardScene.cpp.

◆ ~BlackboardScene()

BlackboardScene::~BlackboardScene ( )
override

Definition at line 16 of file BlackboardScene.cpp.

Member Function Documentation

◆ ClearBlackboards()

void BlackboardScene::ClearBlackboards ( )

Definition at line 58 of file BlackboardScene.cpp.

◆ CreateLayout()

void BlackboardScene::CreateLayout ( )
private

Definition at line 24 of file BlackboardScene.cpp.

◆ DrawBlackboardCards()

void BlackboardScene::DrawBlackboardCards ( wxDC & dc)
private

Definition at line 74 of file BlackboardScene.cpp.

◆ GetPanel()

wxPanel * BlackboardScene::GetPanel ( )
inlineoverridevirtual

Returns the wxPanel used as the scene content.

Implements IScene.

Definition at line 19 of file BlackboardScene.h.

◆ GetSceneType()

wxString BlackboardScene::GetSceneType ( ) const
inlineoverridevirtual

Returns the scene type identifier.

Implements IScene.

Definition at line 21 of file BlackboardScene.h.

◆ GetTitle()

wxString BlackboardScene::GetTitle ( ) const
inlineoverridevirtual

Returns the display title of the scene.

Implements IScene.

Definition at line 20 of file BlackboardScene.h.

◆ IsClosable()

bool BlackboardScene::IsClosable ( ) const
inlineoverridevirtual

Returns true if the scene can be closed.

Reimplemented from IScene.

Definition at line 22 of file BlackboardScene.h.

◆ OnLeftDown()

void BlackboardScene::OnLeftDown ( wxMouseEvent & event)
private

Definition at line 336 of file BlackboardScene.cpp.

◆ OnMouseWheel()

void BlackboardScene::OnMouseWheel ( wxMouseEvent & event)
private

Definition at line 292 of file BlackboardScene.cpp.

◆ OnPaint()

void BlackboardScene::OnPaint ( wxPaintEvent & event)
private

Definition at line 68 of file BlackboardScene.cpp.

◆ OnScrollTimer()

void BlackboardScene::OnScrollTimer ( wxTimerEvent & event)
private

Definition at line 310 of file BlackboardScene.cpp.

◆ ScrollToBlackboard()

void BlackboardScene::ScrollToBlackboard ( const std::string & bbId)

Definition at line 355 of file BlackboardScene.cpp.

◆ SetBlackboards()

void BlackboardScene::SetBlackboards ( const std::map< std::string, std::shared_ptr< EmberCore::Blackboard > > & bbs,
const std::map< std::string, std::vector< std::string > > & includesMap )

Definition at line 41 of file BlackboardScene.cpp.

Member Data Documentation

◆ CARD_HEADER_H

const int BlackboardScene::CARD_HEADER_H = 26
staticprivate

Definition at line 52 of file BlackboardScene.h.

◆ m_bbYPositions

std::map<std::string, int> BlackboardScene::m_bbYPositions
private

Definition at line 46 of file BlackboardScene.h.

◆ m_blackboards

std::map<std::string, std::shared_ptr<EmberCore::Blackboard> > BlackboardScene::m_blackboards
private

Definition at line 41 of file BlackboardScene.h.

◆ m_collapsedBlackboards

std::set<std::string> BlackboardScene::m_collapsedBlackboards
private

Definition at line 45 of file BlackboardScene.h.

◆ m_includesMap

std::map<std::string, std::vector<std::string> > BlackboardScene::m_includesMap
private

Definition at line 42 of file BlackboardScene.h.

◆ m_panel

wxPanel* BlackboardScene::m_panel
private

Definition at line 38 of file BlackboardScene.h.

◆ m_scrollPanel

wxScrolledWindow* BlackboardScene::m_scrollPanel
private

Definition at line 39 of file BlackboardScene.h.

◆ m_scrollTimer

wxTimer* BlackboardScene::m_scrollTimer = nullptr
private

Definition at line 48 of file BlackboardScene.h.

◆ m_scrollVelocity

double BlackboardScene::m_scrollVelocity = 0.0
private

Definition at line 49 of file BlackboardScene.h.

◆ m_scrollY

double BlackboardScene::m_scrollY = 0.0
private

Definition at line 50 of file BlackboardScene.h.

◆ m_sortedBBIds

std::vector<std::string> BlackboardScene::m_sortedBBIds
private

Definition at line 44 of file BlackboardScene.h.

◆ ROW_H

const int BlackboardScene::ROW_H = 24
staticprivate

Definition at line 53 of file BlackboardScene.h.

◆ SCROLL_FRICTION

double BlackboardScene::SCROLL_FRICTION = 0.82
staticconstexprprivate

Definition at line 54 of file BlackboardScene.h.

◆ SCROLL_PIXELS_PER_NOTCH

double BlackboardScene::SCROLL_PIXELS_PER_NOTCH = 60.0
staticconstexprprivate

Definition at line 55 of file BlackboardScene.h.


The documentation for this class was generated from the following files: