![]() |
Ember
|
Main application window for EmberForge. More...
#include <MainFrame.h>
Public Member Functions | |
| MainFrame (const wxString &title, const wxPoint &pos, const wxSize &size, long style=wxDEFAULT_FRAME_STYLE) | |
| Construct the main frame. | |
| virtual | ~MainFrame () |
| Destructor - cleans up AUI manager and panels. | |
| void | LogMessage (const wxString &message) |
| void | OnHierarchySelectionChanged (EmberCore::ITreeNode *selectedNode) |
| void | OnSceneSelectionChanged (EmberCore::ITreeNode *selectedNode) |
| void | CenterOnNode (EmberCore::ITreeNode *node) |
| void | InvalidateCanvasLayout () |
| void | RefreshHierarchyTree () |
| void | SyncSelection (EmberCore::ITreeNode *selectedNode) |
| std::shared_ptr< EmberCore::Node > | GetSharedBehaviorTree () const |
| void | UpdatePropertiesTabReference (PropertiesTab *propertiesTab) |
| void | UpdateNavigatorTabReference (ForgeNavigatorTab *navigatorTab) |
| void | OnNavigatorTabClosed () |
| void | OnPropertiesTabClosed () |
| wxAuiManager * | GetAuiManager () |
| void | LoadXMLFile (const wxString &filePath, bool confirmOverride=false) |
| void | LoadXMLFileInNewScene (const wxString &filePath) |
| void | OpenTreeInNewScene (const std::string &treeId) |
| bool | IsActiveSceneBehaviorTree () const |
| void | NewProject () |
| void | OpenProject () |
| void | OpenProject (const wxString &projectPath) |
| void | CloseProject () |
| void | SaveProject () |
| void | ShowProjectSettings () |
| bool | HasActiveProject () const |
| std::shared_ptr< EmberCore::BehaviorTreeProject > | GetActiveProject () const |
| void | RefreshPreferences () |
| void | UpdatePanelToggleButtons () |
| int | CountTabGlobally (const wxString &tabName) const |
| void | RefreshCanvasVisualization () |
| void | LoadTreeIntoScene (const std::string &treeId) |
| void | UpdateTreeSelector () |
| const std::string & | GetCurrentTreeId () const |
| void | NavigateToBlackboard (const std::string &bbId) |
Private Member Functions | |
| void | OnExit (wxCommandEvent &event) |
| void | OnAbout (wxCommandEvent &event) |
| void | OnLoadXML (wxCommandEvent &event) |
| void | OnSaveXML (wxCommandEvent &event) |
| void | OnSaveAsXML (wxCommandEvent &event) |
| void | OnNewProject (wxCommandEvent &event) |
| void | OnOpenProject (wxCommandEvent &event) |
| void | OnCloseProject (wxCommandEvent &event) |
| void | OnSaveProject (wxCommandEvent &event) |
| void | OnProjectSettings (wxCommandEvent &event) |
| void | OnToggleMaximize (wxCommandEvent &event) |
| void | OnNextScene (wxCommandEvent &event) |
| void | OnPreviousScene (wxCommandEvent &event) |
| void | OnResetZoom (wxCommandEvent &event) |
| void | OnResetUI (wxCommandEvent &event) |
| void | OnPreferences (wxCommandEvent &event) |
| void | OnParserConfig (wxCommandEvent &event) |
| void | OnEditorTool (wxCommandEvent &event) |
| void | OnMonitorTool (wxCommandEvent &event) |
| void | OnLogReplayTool (wxCommandEvent &event) |
| void | OnToggleLeftPanel (wxCommandEvent &event) |
| void | OnToggleBottomPanel (wxCommandEvent &event) |
| void | OnToggleRightPanel (wxCommandEvent &event) |
| void | OnPaint (wxPaintEvent &event) |
| void | OnIdle (wxIdleEvent &event) |
| void | OnFrameResize (wxSizeEvent &event) |
| void | CreateMenuAndStatusBar () |
| void | CreatePanelToggleToolbar () |
| void | InitializeConfigurationMenu () |
| void | CreatePanelLayout () |
| void | RefreshMenuHotkeys () |
| void | DoSaveXML (const wxString &filePath) |
| void | CreateProjectOverviewScene () |
| wxDECLARE_EVENT_TABLE () | |
Private Attributes | |
| wxAuiManager * | m_auiManager |
| LeftSidePanel * | m_leftPanel |
| RightSidePanel * | m_rightPanel |
| BottomPanel * | m_bottomPanel |
| PropertiesTab * | m_propertiesTab |
| ForgeNavigatorTab * | m_navigatorTab |
| MainPanel * | m_scenePanel |
| wxToolBar * | m_panelToggleToolbar |
| wxString | m_currentFilePath |
| bool | m_treeModified = false |
| std::shared_ptr< EmberCore::BehaviorTreeProject > | m_activeProject |
| std::map< std::string, std::shared_ptr< EmberCore::BehaviorTree > > | m_projectTrees |
| std::map< std::string, std::shared_ptr< EmberCore::Blackboard > > | m_projectBlackboards |
| std::map< std::string, std::vector< std::string > > | m_blackboardIncludesMap |
| BlackboardScene * | m_blackboardScene = nullptr |
| std::string | m_currentTreeId |
| std::string | m_mainTreeName |
| EmberUI::ProportionalLayout | m_layout |
| wxSize | m_lastClientSize |
| bool | m_isUpdatingFromHierarchy = false |
| bool | m_isUpdatingFromScene = false |
Main application window for EmberForge.
MainFrame is the primary window that contains all UI elements:
It coordinates communication between panels and manages:
The window uses wxAuiManager for flexible docking:
When a node is selected (in hierarchy or canvas):
Definition at line 67 of file MainFrame.h.
| MainFrame::MainFrame | ( | const wxString & | title, |
| const wxPoint & | pos, | ||
| const wxSize & | size, | ||
| long | style = wxDEFAULT_FRAME_STYLE ) |
Construct the main frame.
| title | Window title |
| pos | Initial window position |
| size | Initial window size |
| style | wxWidgets frame style flags |
|
virtual |
Destructor - cleans up AUI manager and panels.
Definition at line 198 of file MainFrame.cpp.
| void MainFrame::CenterOnNode | ( | EmberCore::ITreeNode * | node | ) |
Definition at line 1978 of file MainFrame.cpp.
| void MainFrame::CloseProject | ( | ) |
Definition at line 2675 of file MainFrame.cpp.
| int MainFrame::CountTabGlobally | ( | const wxString & | tabName | ) | const |
Definition at line 1518 of file MainFrame.cpp.
|
private |
Definition at line 256 of file MainFrame.cpp.
|
private |
Definition at line 647 of file MainFrame.cpp.
|
private |
Definition at line 346 of file MainFrame.cpp.
|
private |
Definition at line 2563 of file MainFrame.cpp.
|
private |
Definition at line 1255 of file MainFrame.cpp.
| std::shared_ptr< EmberCore::BehaviorTreeProject > MainFrame::GetActiveProject | ( | ) | const |
Definition at line 2791 of file MainFrame.cpp.
|
inline |
Definition at line 111 of file MainFrame.h.
|
inline |
Definition at line 147 of file MainFrame.h.
| std::shared_ptr< EmberCore::Node > MainFrame::GetSharedBehaviorTree | ( | ) | const |
Definition at line 1924 of file MainFrame.cpp.
| bool MainFrame::HasActiveProject | ( | ) | const |
Definition at line 2789 of file MainFrame.cpp.
|
private |
Definition at line 406 of file MainFrame.cpp.
| void MainFrame::InvalidateCanvasLayout | ( | ) |
Definition at line 2011 of file MainFrame.cpp.
| bool MainFrame::IsActiveSceneBehaviorTree | ( | ) | const |
Definition at line 2510 of file MainFrame.cpp.
| void MainFrame::LoadTreeIntoScene | ( | const std::string & | treeId | ) |
Definition at line 2454 of file MainFrame.cpp.
| void MainFrame::LoadXMLFile | ( | const wxString & | filePath, |
| bool | confirmOverride = false ) |
Definition at line 1004 of file MainFrame.cpp.
| void MainFrame::LoadXMLFileInNewScene | ( | const wxString & | filePath | ) |
Definition at line 1207 of file MainFrame.cpp.
| void MainFrame::LogMessage | ( | const wxString & | message | ) |
Definition at line 1701 of file MainFrame.cpp.
| void MainFrame::NavigateToBlackboard | ( | const std::string & | bbId | ) |
Definition at line 1907 of file MainFrame.cpp.
| void MainFrame::NewProject | ( | ) |
Definition at line 2099 of file MainFrame.cpp.
|
private |
Definition at line 971 of file MainFrame.cpp.
|
private |
Definition at line 2090 of file MainFrame.cpp.
|
private |
Definition at line 1546 of file MainFrame.cpp.
|
private |
Definition at line 969 of file MainFrame.cpp.
|
private |
Definition at line 957 of file MainFrame.cpp.
| void MainFrame::OnHierarchySelectionChanged | ( | EmberCore::ITreeNode * | selectedNode | ) |
Definition at line 1712 of file MainFrame.cpp.
|
private |
Definition at line 945 of file MainFrame.cpp.
|
private |
Definition at line 977 of file MainFrame.cpp.
|
private |
Definition at line 1558 of file MainFrame.cpp.
|
private |
Definition at line 1552 of file MainFrame.cpp.
| void MainFrame::OnNavigatorTabClosed | ( | ) |
Definition at line 1919 of file MainFrame.cpp.
|
private |
Definition at line 2086 of file MainFrame.cpp.
|
private |
Definition at line 1578 of file MainFrame.cpp.
|
private |
Definition at line 2088 of file MainFrame.cpp.
|
private |
Definition at line 940 of file MainFrame.cpp.
|
private |
Definition at line 1532 of file MainFrame.cpp.
|
private |
Definition at line 1374 of file MainFrame.cpp.
|
private |
Definition at line 1584 of file MainFrame.cpp.
|
private |
Definition at line 2094 of file MainFrame.cpp.
| void MainFrame::OnPropertiesTabClosed | ( | ) |
Definition at line 1872 of file MainFrame.cpp.
|
private |
Definition at line 1611 of file MainFrame.cpp.
|
private |
Definition at line 1590 of file MainFrame.cpp.
|
private |
Definition at line 1244 of file MainFrame.cpp.
|
private |
Definition at line 2092 of file MainFrame.cpp.
|
private |
Definition at line 1233 of file MainFrame.cpp.
| void MainFrame::OnSceneSelectionChanged | ( | EmberCore::ITreeNode * | selectedNode | ) |
Definition at line 1815 of file MainFrame.cpp.
|
private |
Definition at line 1415 of file MainFrame.cpp.
|
private |
Definition at line 1390 of file MainFrame.cpp.
|
private |
Definition at line 1565 of file MainFrame.cpp.
|
private |
Definition at line 1440 of file MainFrame.cpp.
| void MainFrame::OpenProject | ( | ) |
Definition at line 2146 of file MainFrame.cpp.
| void MainFrame::OpenProject | ( | const wxString & | projectPath | ) |
Definition at line 2157 of file MainFrame.cpp.
| void MainFrame::OpenTreeInNewScene | ( | const std::string & | treeId | ) |
Definition at line 2517 of file MainFrame.cpp.
| void MainFrame::RefreshCanvasVisualization | ( | ) |
Definition at line 511 of file MainFrame.cpp.
| void MainFrame::RefreshHierarchyTree | ( | ) |
Definition at line 2029 of file MainFrame.cpp.
|
private |
Definition at line 411 of file MainFrame.cpp.
| void MainFrame::RefreshPreferences | ( | ) |
Definition at line 541 of file MainFrame.cpp.
| void MainFrame::SaveProject | ( | ) |
Definition at line 2742 of file MainFrame.cpp.
| void MainFrame::ShowProjectSettings | ( | ) |
Definition at line 2772 of file MainFrame.cpp.
| void MainFrame::SyncSelection | ( | EmberCore::ITreeNode * | selectedNode | ) |
Definition at line 2035 of file MainFrame.cpp.
| void MainFrame::UpdateNavigatorTabReference | ( | ForgeNavigatorTab * | navigatorTab | ) |
Definition at line 1877 of file MainFrame.cpp.
| void MainFrame::UpdatePanelToggleButtons | ( | ) |
Definition at line 1465 of file MainFrame.cpp.
| void MainFrame::UpdatePropertiesTabReference | ( | PropertiesTab * | propertiesTab | ) |
Definition at line 1951 of file MainFrame.cpp.
| void MainFrame::UpdateTreeSelector | ( | ) |
Definition at line 2668 of file MainFrame.cpp.
|
private |
|
private |
Definition at line 217 of file MainFrame.h.
|
private |
Definition at line 203 of file MainFrame.h.
|
private |
Definition at line 220 of file MainFrame.h.
|
private |
Definition at line 221 of file MainFrame.h.
|
private |
Definition at line 206 of file MainFrame.h.
|
private |
Definition at line 213 of file MainFrame.h.
|
private |
Definition at line 222 of file MainFrame.h.
|
private |
Definition at line 230 of file MainFrame.h.
|
private |
Definition at line 231 of file MainFrame.h.
|
private |
Definition at line 227 of file MainFrame.h.
|
private |
Definition at line 226 of file MainFrame.h.
|
private |
Definition at line 204 of file MainFrame.h.
|
private |
Definition at line 223 of file MainFrame.h.
|
private |
Definition at line 208 of file MainFrame.h.
|
private |
Definition at line 210 of file MainFrame.h.
|
private |
Definition at line 219 of file MainFrame.h.
|
private |
Definition at line 218 of file MainFrame.h.
|
private |
Definition at line 207 of file MainFrame.h.
|
private |
Definition at line 205 of file MainFrame.h.
|
private |
Definition at line 209 of file MainFrame.h.
|
private |
Definition at line 214 of file MainFrame.h.