Ember
Loading...
Searching...
No Matches
RightSidePanel.h
Go to the documentation of this file.
1#pragma once
2
4#include "Interfaces/ITab.h"
5#include <memory>
6#include <vector>
7#include <wx/aui/auibook.h>
8#include <wx/wx.h>
9
10class MainFrame; // Forward declaration
11
12// Forward declarations for EmberForge namespace
13namespace EmberForge {
14enum class TabType;
15}
16
25class RightSidePanel : public SidePanel {
26 public:
27 RightSidePanel(wxWindow *parent, MainFrame *mainFrame = nullptr);
28 virtual ~RightSidePanel();
29
30 // Override pure virtual methods from SidePanel
31 wxString GetTitle() const override { return "Right Panel"; }
32 wxString GetPanelType() const override { return "RightSide"; }
33
34 // Override preferences and state management to use RightPanel-specific settings
35 void ApplyPreferences() override;
36 void SaveState() override;
37 void RestoreState() override;
38
39 protected:
40 // Override settings accessor methods for common tab restoration logic
41 bool GetRememberLastTab() const override;
42 const std::vector<std::string> &GetLastOpenTabs() const override;
43 std::string GetLastActiveTab() const override;
44 std::string GetDefaultActiveTab() const override;
45
46 protected:
47 // Override hook methods to customize right panel behavior
48 void OnPanelSpecificSetup() override;
49 void OnAddTabButtonClicked(wxCommandEvent &event) override;
50 std::vector<EmberForge::TabType> GetSupportedTabTypes() const override;
51
52 private:
53 // Right panel specific event handlers
54 void OnAddPropertiesTab(wxCommandEvent &event);
55
56 // Right panel specific event IDs (offset from base)
58
60};
Main application window for EmberForge.
Definition MainFrame.h:67
std::vector< EmberForge::TabType > GetSupportedTabTypes() const override
void OnAddTabButtonClicked(wxCommandEvent &event) override
void RestoreState() override
wxString GetPanelType() const override
Returns the panel type identifier.
void SaveState() override
const std::vector< std::string > & GetLastOpenTabs() const override
std::string GetDefaultActiveTab() const override
void ApplyPreferences() override
void OnPanelSpecificSetup() override
RightSidePanel(wxWindow *parent, MainFrame *mainFrame=nullptr)
void OnAddPropertiesTab(wxCommandEvent &event)
std::string GetLastActiveTab() const override
bool GetRememberLastTab() const override
wxString GetTitle() const override
Returns the panel title.
virtual ~RightSidePanel()
SidePanel(wxWindow *parent, MainFrame *mainFrame=nullptr, const wxString &panelName="Side Panel", EmberForge::PanelType panelType=EmberForge::PanelType::LeftPanel, EmberForge::PanelDescriptor *parentDescriptor=nullptr)
TabType
Enumeration of available tab types.
Definition TabFactory.h:17