Ember
Loading...
Searching...
No Matches
EmberForge::AppPreferences Class Reference

Application preferences configuration. More...

#include <AppPreferences.h>

Classes

struct  BehaviorTreeViewSettings
 Behavior Tree View specific settings. More...
struct  BottomPanelSettings
 Bottom panel container settings. More...
struct  GridViewSettings
 Grid view specific settings. More...
struct  LeftPanelSettings
 Left panel specific settings. More...
struct  LogTabSettings
 Log tab settings. More...
struct  MainPanelSettings
 Main panel (scene view) settings. More...
struct  ParserSettings
 Parser settings. More...
struct  PerformanceSettings
 Performance settings. More...
struct  RGBColor
 Simple RGB color struct for preferences storage. More...
struct  RightPanelSettings
 Right panel specific settings. More...
struct  SidePanelSettings
 Global side panel settings (applies to all panels that inherit from SidePanel) Reserved for future use - currently empty but kept for potential global settings. More...
struct  TreeViewSettings
 Tree view specific settings. More...
struct  WindowSettings
 Window-related settings. More...

Public Types

enum class  ThemeMode { Dark , Light }
 Theme mode enumeration. More...
enum class  StartupMode { Normal , Maximized }
 Startup mode enumeration. More...
enum class  SortBy { Name , Date , Size , Type }
 File sorting criteria. More...
enum class  IconSize { Small = 48 , Medium = 80 , Large = 128 }
 Icon size for grid view. More...
enum class  TreeItemSize { Small = 16 , Medium = 24 , Large = 32 }
 Tree item size (affects icon and row height) More...
enum class  StartPathMode { ExecutableDirectory , CustomPath }
 Default start path behavior. More...
enum class  FPSLimit { FPS_30 , FPS_60 , FPS_120 , Unlimited }
 Frame rate limit options. More...
enum class  CloseConfirmationMode { AlwaysAsk , NeverAsk , AskIfUnsaved }
 Close confirmation behavior for scenes. More...
enum class  TextAnchor { TopLeft = 0 , TopRight = 1 , BottomLeft = 2 , BottomRight = 3 }
 Text anchor position for debug info overlay. More...
enum class  PanelStartupState { Show , Hide , RememberLast }
 Panel startup state options. More...
enum class  LogFontSize { Small = 8 , Medium = 10 , Large = 12 }
 Log tab font size. More...

Public Member Functions

 AppPreferences ()
 ~AppPreferences ()=default
WindowSettingsGetWindowSettings ()
const WindowSettingsGetWindowSettings () const
MainPanelSettingsGetMainPanelSettings ()
const MainPanelSettingsGetMainPanelSettings () const
BehaviorTreeViewSettingsGetBehaviorTreeViewSettings ()
const BehaviorTreeViewSettingsGetBehaviorTreeViewSettings () const
BottomPanelSettingsGetBottomPanelSettings ()
const BottomPanelSettingsGetBottomPanelSettings () const
SidePanelSettingsGetSidePanelSettings ()
const SidePanelSettingsGetSidePanelSettings () const
LeftPanelSettingsGetLeftPanelSettings ()
const LeftPanelSettingsGetLeftPanelSettings () const
RightPanelSettingsGetRightPanelSettings ()
const RightPanelSettingsGetRightPanelSettings () const
ParserSettingsGetParserSettings ()
const ParserSettingsGetParserSettings () const
PerformanceSettingsGetPerformanceSettings ()
const PerformanceSettingsGetPerformanceSettings () const
void ResetToDefaults ()
bool LoadFromFile (const EmberCore::String &filename)
bool SaveToFile (const EmberCore::String &filename) const

Static Public Member Functions

static EmberCore::String GetDefaultConfigPath ()

Static Private Member Functions

static ThemeMode StringToThemeMode (const std::string &str)
static std::string ThemeModeToString (ThemeMode mode)
static StartupMode StringToStartupMode (const std::string &str)
static std::string StartupModeToString (StartupMode mode)
static SortBy StringToSortBy (const std::string &str)
static std::string SortByToString (SortBy sort)
static IconSize StringToIconSize (const std::string &str)
static std::string IconSizeToString (IconSize size)
static TreeItemSize StringToTreeItemSize (const std::string &str)
static std::string TreeItemSizeToString (TreeItemSize size)
static LogFontSize StringToLogFontSize (const std::string &str)
static std::string LogFontSizeToString (LogFontSize size)
static StartPathMode StringToStartPathMode (const std::string &str)
static std::string StartPathModeToString (StartPathMode mode)
static FPSLimit StringToFPSLimit (const std::string &str)
static std::string FPSLimitToString (FPSLimit limit)
static CloseConfirmationMode StringToCloseConfirmationMode (const std::string &str)
static std::string CloseConfirmationModeToString (CloseConfirmationMode mode)
static PanelStartupState StringToPanelStartupState (const std::string &str)
static std::string PanelStartupStateToString (PanelStartupState state)

Private Attributes

WindowSettings windowSettings_
MainPanelSettings mainPanelSettings_
BehaviorTreeViewSettings behaviorTreeViewSettings_
BottomPanelSettings bottomPanelSettings_
SidePanelSettings sidePanelSettings_
LeftPanelSettings leftPanelSettings_
RightPanelSettings rightPanelSettings_
ParserSettings parserSettings_
PerformanceSettings performanceSettings_

Detailed Description

Application preferences configuration.

Manages UI-focused application settings including window state, panel preferences, and parser configuration.

Definition at line 33 of file AppPreferences.h.

Member Enumeration Documentation

◆ CloseConfirmationMode

Close confirmation behavior for scenes.

Enumerator
AlwaysAsk 
NeverAsk 
AskIfUnsaved 

Definition at line 84 of file AppPreferences.h.

◆ FPSLimit

Frame rate limit options.

Enumerator
FPS_30 
FPS_60 
FPS_120 
Unlimited 

Definition at line 79 of file AppPreferences.h.

◆ IconSize

Icon size for grid view.

Enumerator
Small 
Medium 
Large 

Definition at line 53 of file AppPreferences.h.

◆ LogFontSize

Log tab font size.

Enumerator
Small 
Medium 
Large 

Definition at line 256 of file AppPreferences.h.

◆ PanelStartupState

Panel startup state options.

Enumerator
Show 
Hide 
RememberLast 

Definition at line 237 of file AppPreferences.h.

◆ SortBy

File sorting criteria.

Enumerator
Name 
Date 
Size 
Type 

Definition at line 48 of file AppPreferences.h.

◆ StartPathMode

Default start path behavior.

Enumerator
ExecutableDirectory 
CustomPath 

Definition at line 71 of file AppPreferences.h.

◆ StartupMode

Startup mode enumeration.

Enumerator
Normal 
Maximized 

Definition at line 43 of file AppPreferences.h.

◆ TextAnchor

Text anchor position for debug info overlay.

Enumerator
TopLeft 
TopRight 
BottomLeft 
BottomRight 

Definition at line 166 of file AppPreferences.h.

◆ ThemeMode

Theme mode enumeration.

Enumerator
Dark 
Light 

Definition at line 38 of file AppPreferences.h.

◆ TreeItemSize

Tree item size (affects icon and row height)

Enumerator
Small 
Medium 
Large 

Definition at line 62 of file AppPreferences.h.

Constructor & Destructor Documentation

◆ AppPreferences()

EmberForge::AppPreferences::AppPreferences ( )

Definition at line 12 of file AppPreferences.cpp.

◆ ~AppPreferences()

EmberForge::AppPreferences::~AppPreferences ( )
default

Member Function Documentation

◆ CloseConfirmationModeToString()

std::string EmberForge::AppPreferences::CloseConfirmationModeToString ( CloseConfirmationMode mode)
staticprivate

Definition at line 1003 of file AppPreferences.cpp.

◆ FPSLimitToString()

std::string EmberForge::AppPreferences::FPSLimitToString ( FPSLimit limit)
staticprivate

Definition at line 978 of file AppPreferences.cpp.

◆ GetBehaviorTreeViewSettings() [1/2]

BehaviorTreeViewSettings & EmberForge::AppPreferences::GetBehaviorTreeViewSettings ( )
inline

Definition at line 433 of file AppPreferences.h.

◆ GetBehaviorTreeViewSettings() [2/2]

const BehaviorTreeViewSettings & EmberForge::AppPreferences::GetBehaviorTreeViewSettings ( ) const
inline

Definition at line 434 of file AppPreferences.h.

◆ GetBottomPanelSettings() [1/2]

BottomPanelSettings & EmberForge::AppPreferences::GetBottomPanelSettings ( )
inline

Definition at line 436 of file AppPreferences.h.

◆ GetBottomPanelSettings() [2/2]

const BottomPanelSettings & EmberForge::AppPreferences::GetBottomPanelSettings ( ) const
inline

Definition at line 437 of file AppPreferences.h.

◆ GetDefaultConfigPath()

EmberCore::String EmberForge::AppPreferences::GetDefaultConfigPath ( )
static

Definition at line 28 of file AppPreferences.cpp.

◆ GetLeftPanelSettings() [1/2]

LeftPanelSettings & EmberForge::AppPreferences::GetLeftPanelSettings ( )
inline

Definition at line 442 of file AppPreferences.h.

◆ GetLeftPanelSettings() [2/2]

const LeftPanelSettings & EmberForge::AppPreferences::GetLeftPanelSettings ( ) const
inline

Definition at line 443 of file AppPreferences.h.

◆ GetMainPanelSettings() [1/2]

MainPanelSettings & EmberForge::AppPreferences::GetMainPanelSettings ( )
inline

Definition at line 430 of file AppPreferences.h.

◆ GetMainPanelSettings() [2/2]

const MainPanelSettings & EmberForge::AppPreferences::GetMainPanelSettings ( ) const
inline

Definition at line 431 of file AppPreferences.h.

◆ GetParserSettings() [1/2]

ParserSettings & EmberForge::AppPreferences::GetParserSettings ( )
inline

Definition at line 448 of file AppPreferences.h.

◆ GetParserSettings() [2/2]

const ParserSettings & EmberForge::AppPreferences::GetParserSettings ( ) const
inline

Definition at line 449 of file AppPreferences.h.

◆ GetPerformanceSettings() [1/2]

PerformanceSettings & EmberForge::AppPreferences::GetPerformanceSettings ( )
inline

Definition at line 451 of file AppPreferences.h.

◆ GetPerformanceSettings() [2/2]

const PerformanceSettings & EmberForge::AppPreferences::GetPerformanceSettings ( ) const
inline

Definition at line 452 of file AppPreferences.h.

◆ GetRightPanelSettings() [1/2]

RightPanelSettings & EmberForge::AppPreferences::GetRightPanelSettings ( )
inline

Definition at line 445 of file AppPreferences.h.

◆ GetRightPanelSettings() [2/2]

const RightPanelSettings & EmberForge::AppPreferences::GetRightPanelSettings ( ) const
inline

Definition at line 446 of file AppPreferences.h.

◆ GetSidePanelSettings() [1/2]

SidePanelSettings & EmberForge::AppPreferences::GetSidePanelSettings ( )
inline

Definition at line 439 of file AppPreferences.h.

◆ GetSidePanelSettings() [2/2]

const SidePanelSettings & EmberForge::AppPreferences::GetSidePanelSettings ( ) const
inline

Definition at line 440 of file AppPreferences.h.

◆ GetWindowSettings() [1/2]

WindowSettings & EmberForge::AppPreferences::GetWindowSettings ( )
inline

Definition at line 427 of file AppPreferences.h.

◆ GetWindowSettings() [2/2]

const WindowSettings & EmberForge::AppPreferences::GetWindowSettings ( ) const
inline

Definition at line 428 of file AppPreferences.h.

◆ IconSizeToString()

std::string EmberForge::AppPreferences::IconSizeToString ( IconSize size)
staticprivate

Definition at line 896 of file AppPreferences.cpp.

◆ LoadFromFile()

bool EmberForge::AppPreferences::LoadFromFile ( const EmberCore::String & filename)

Definition at line 32 of file AppPreferences.cpp.

◆ LogFontSizeToString()

std::string EmberForge::AppPreferences::LogFontSizeToString ( LogFontSize size)
staticprivate

Definition at line 938 of file AppPreferences.cpp.

◆ PanelStartupStateToString()

std::string EmberForge::AppPreferences::PanelStartupStateToString ( PanelStartupState state)
staticprivate

Definition at line 1024 of file AppPreferences.cpp.

◆ ResetToDefaults()

void EmberForge::AppPreferences::ResetToDefaults ( )

Definition at line 16 of file AppPreferences.cpp.

◆ SaveToFile()

bool EmberForge::AppPreferences::SaveToFile ( const EmberCore::String & filename) const

Definition at line 461 of file AppPreferences.cpp.

◆ SortByToString()

std::string EmberForge::AppPreferences::SortByToString ( SortBy sort)
staticprivate

Definition at line 873 of file AppPreferences.cpp.

◆ StartPathModeToString()

std::string EmberForge::AppPreferences::StartPathModeToString ( StartPathMode mode)
staticprivate

Definition at line 957 of file AppPreferences.cpp.

◆ StartupModeToString()

std::string EmberForge::AppPreferences::StartupModeToString ( StartupMode mode)
staticprivate

Definition at line 852 of file AppPreferences.cpp.

◆ StringToCloseConfirmationMode()

AppPreferences::CloseConfirmationMode EmberForge::AppPreferences::StringToCloseConfirmationMode ( const std::string & str)
staticprivate

Definition at line 993 of file AppPreferences.cpp.

◆ StringToFPSLimit()

AppPreferences::FPSLimit EmberForge::AppPreferences::StringToFPSLimit ( const std::string & str)
staticprivate

Definition at line 968 of file AppPreferences.cpp.

◆ StringToIconSize()

AppPreferences::IconSize EmberForge::AppPreferences::StringToIconSize ( const std::string & str)
staticprivate

Definition at line 888 of file AppPreferences.cpp.

◆ StringToLogFontSize()

AppPreferences::LogFontSize EmberForge::AppPreferences::StringToLogFontSize ( const std::string & str)
staticprivate

Definition at line 930 of file AppPreferences.cpp.

◆ StringToPanelStartupState()

AppPreferences::PanelStartupState EmberForge::AppPreferences::StringToPanelStartupState ( const std::string & str)
staticprivate

Definition at line 1016 of file AppPreferences.cpp.

◆ StringToSortBy()

AppPreferences::SortBy EmberForge::AppPreferences::StringToSortBy ( const std::string & str)
staticprivate

Definition at line 863 of file AppPreferences.cpp.

◆ StringToStartPathMode()

AppPreferences::StartPathMode EmberForge::AppPreferences::StringToStartPathMode ( const std::string & str)
staticprivate

Definition at line 951 of file AppPreferences.cpp.

◆ StringToStartupMode()

AppPreferences::StartupMode EmberForge::AppPreferences::StringToStartupMode ( const std::string & str)
staticprivate

Definition at line 846 of file AppPreferences.cpp.

◆ StringToThemeMode()

AppPreferences::ThemeMode EmberForge::AppPreferences::StringToThemeMode ( const std::string & str)
staticprivate

Definition at line 829 of file AppPreferences.cpp.

◆ StringToTreeItemSize()

AppPreferences::TreeItemSize EmberForge::AppPreferences::StringToTreeItemSize ( const std::string & str)
staticprivate

Definition at line 909 of file AppPreferences.cpp.

◆ ThemeModeToString()

std::string EmberForge::AppPreferences::ThemeModeToString ( ThemeMode mode)
staticprivate

Definition at line 835 of file AppPreferences.cpp.

◆ TreeItemSizeToString()

std::string EmberForge::AppPreferences::TreeItemSizeToString ( TreeItemSize size)
staticprivate

Definition at line 917 of file AppPreferences.cpp.

Member Data Documentation

◆ behaviorTreeViewSettings_

BehaviorTreeViewSettings EmberForge::AppPreferences::behaviorTreeViewSettings_
private

Definition at line 465 of file AppPreferences.h.

◆ bottomPanelSettings_

BottomPanelSettings EmberForge::AppPreferences::bottomPanelSettings_
private

Definition at line 466 of file AppPreferences.h.

◆ leftPanelSettings_

LeftPanelSettings EmberForge::AppPreferences::leftPanelSettings_
private

Definition at line 468 of file AppPreferences.h.

◆ mainPanelSettings_

MainPanelSettings EmberForge::AppPreferences::mainPanelSettings_
private

Definition at line 464 of file AppPreferences.h.

◆ parserSettings_

ParserSettings EmberForge::AppPreferences::parserSettings_
private

Definition at line 470 of file AppPreferences.h.

◆ performanceSettings_

PerformanceSettings EmberForge::AppPreferences::performanceSettings_
private

Definition at line 471 of file AppPreferences.h.

◆ rightPanelSettings_

RightPanelSettings EmberForge::AppPreferences::rightPanelSettings_
private

Definition at line 469 of file AppPreferences.h.

◆ sidePanelSettings_

SidePanelSettings EmberForge::AppPreferences::sidePanelSettings_
private

Definition at line 467 of file AppPreferences.h.

◆ windowSettings_

WindowSettings EmberForge::AppPreferences::windowSettings_
private

Definition at line 463 of file AppPreferences.h.


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