1#ifndef YAZE_APP_EDITOR_SYSTEM_WINDOW_DELEGATE_H_
2#define YAZE_APP_EDITOR_SYSTEM_WINDOW_DELEGATE_H_
7#include "absl/status/status.h"
8#include "imgui/imgui.h"
46 void DockWindow(
const std::string& window_id, ImGuiDir dock_direction);
48 void SetDockSpace(
const std::string& dock_space_id,
const ImVec2& size = ImVec2(0, 0));
51 absl::Status
SaveLayout(
const std::string& preset_name);
52 absl::Status
LoadLayout(
const std::string& preset_name);
78 void RegisterWindow(
const std::string& window_id,
const std::string& category =
"");
Low-level window operations with minimal dependencies.
void LoadDesignerLayout()
void LoadWorkspaceLayout()
void SaveWorkspaceLayout()
std::vector< std::string > GetVisibleWindows() const
void SetDockSpace(const std::string &dock_space_id, const ImVec2 &size=ImVec2(0, 0))
absl::Status ResetLayout()
bool IsWindowVisible(const std::string &window_id) const
void UnregisterWindow(const std::string &window_id)
void RegisterWindow(const std::string &window_id, const std::string &category="")
std::unordered_map< std::string, WindowInfo > registered_windows_
void RestoreWindow(const std::string &window_id)
void MaximizeWindow(const std::string &window_id)
std::string GetLayoutFilePath(const std::string &preset_name) const
void ShowWindow(const std::string &window_id)
void HideWindow(const std::string &window_id)
std::vector< std::string > GetAvailableLayouts() const
~WindowDelegate()=default
ImVec2 GetWindowSize(const std::string &window_id) const
void ToggleWindow(const std::string &window_id)
void UndockWindow(const std::string &window_id)
absl::Status SaveLayout(const std::string &preset_name)
void ShowOnlyWindow(const std::string &window_id)
void ShowWindowsInCategory(const std::string &category)
bool IsWindowRegistered(const std::string &window_id) const
void HideWindowsInCategory(const std::string &category)
void CenterWindow(const std::string &window_id)
void ResetWorkspaceLayout()
ImVec2 GetWindowPosition(const std::string &window_id) const
void ApplyLayoutToWindow(const std::string &window_id, const std::string &layout_data)
absl::Status LoadLayout(const std::string &preset_name)
void DockWindow(const std::string &window_id, ImGuiDir dock_direction)
std::vector< std::string > GetHiddenWindows() const
void FocusWindow(const std::string &window_id)
void LoadDeveloperLayout()
Main namespace for the application.