WoW Model Viewer
Your premiere tool for viewing, equipping and animating World of Warcraft models.
Loading...
Searching...
No Matches
SettingsPanel.h
Go to the documentation of this file.
1#pragma once
2
3// ---- Settings panel -------------------------------------------------------
4// Extracted from main.cpp — renders the Settings window including the
5// game-path editor, ImGui folder picker, load status, console toggle,
6// theme / font selectors, and the Save button.
7
8#include <atomic>
9#include <filesystem>
10#include <functional>
11#include <string>
12#include <vector>
13
14struct AppSettings;
15struct FontEntry;
16struct GLFWwindow;
17class OrbitCamera;
18
21{
22
25{
26 // Game path
27 std::string* pathBuf = nullptr;
28 bool isWoWLoaded = false;
29 bool loadInProgress = false;
30 std::atomic<float>* loadProgress = nullptr;
31
32 // Folder picker state (owned by AppState)
33 bool* showFolderPicker = nullptr;
34 std::filesystem::path* folderPickerCurrent = nullptr;
35 std::vector<std::filesystem::path>* folderPickerEntries = nullptr;
36 bool* folderPickerNeedsRefresh = nullptr;
37
38 // Settings / appearance
40 std::vector<FontEntry>* availableFonts = nullptr;
41 bool* fontsDirty = nullptr;
42 GLFWwindow* window = nullptr;
43 bool* showDemoWindow = nullptr;
44
45 // Debug info
46 OrbitCamera* camera = nullptr;
47
48 // Callbacks
49 std::function<std::string()> getLoadStatus;
50};
51
52void draw(DrawContext& ctx);
53
54} // namespace SettingsPanel
Orbit camera that revolves around a target point.
Definition OrbitCamera.h:10
ImGui panel for application settings (game path, fonts, theme, debug info).
void draw(DrawContext &ctx)
Persistent application settings backed by userSettings/Config.ini.
Definition AppSettings.h:8
Font entry for the UI font selector.
Definition AppState.h:47
Per-frame context for the settings panel.
std::filesystem::path * folderPickerCurrent
std::vector< std::filesystem::path > * folderPickerEntries
std::function< std::string()> getLoadStatus
std::vector< FontEntry > * availableFonts
std::atomic< float > * loadProgress