1#ifndef YAZE_APP_GUI_EDITOR_LAYOUT_H
2#define YAZE_APP_GUI_EDITOR_LAYOUT_H
10#include "imgui/imgui.h"
41 bool ModeButton(
const char* icon,
bool selected,
const char* tooltip);
48 void AddRomBadge(uint8_t version, std::function<
void()> on_upgrade =
nullptr);
51 bool AddProperty(
const char* icon,
const char* label, uint8_t* value,
52 std::function<
void()> on_change =
nullptr);
53 bool AddProperty(
const char* icon,
const char* label, uint16_t* value,
54 std::function<
void()> on_change =
nullptr);
57 bool AddCombo(
const char* icon,
int* current,
const char*
const items[],
61 bool AddToggle(
const char* icon,
bool* state,
const char* tooltip);
64 bool AddAction(
const char* icon,
const char* tooltip);
124 explicit PanelWindow(
const char* title,
const char* icon =
nullptr);
125 PanelWindow(
const char* title,
const char* icon,
bool* p_open);
163 void AddHeaderButton(
const char* icon,
const char* tooltip, std::function<
void()> callback);
166 bool Begin(
bool* p_open =
nullptr);
Modern layout manager for editor components.
void RegisterPanel(PanelWindow *panel)
std::vector< PanelWindow * > panels_
Draggable, dockable panel for editor sub-windows.
void SetIconCollapsible(bool collapsible)
static std::string duplicate_panel_name_
std::function< void(bool)> on_pin_changed_
std::optional< StyleVarGuard > panel_var_guard_
static void ResetFrameTracking()
void SetMinimizable(bool minimizable)
static int last_frame_count_
PanelWindow(const char *title, const char *icon=nullptr)
std::vector< HeaderButton > header_buttons_
void SetPinChangedCallback(std::function< void(bool)> callback)
void SetPinned(bool pinned)
void SetStartOffset(const ImVec2 &offset)
const char * GetWindowName() const
void SetSaveSettings(bool save)
void SetHeadless(bool headless)
void SetStableId(const std::string &stable_id)
void SetPinnable(bool pinnable)
static const std::string & GetDuplicatePanelName()
std::optional< StyleColorGuard > panel_color_guard_
void SetClosable(bool closable)
void SetPosition(Position pos)
bool Begin(bool *p_open=nullptr)
void AddHeaderButton(const char *icon, const char *tooltip, std::function< void()> callback)
void DrawFloatingIconButton()
static bool duplicate_detected_
void SetMinimized(bool minimized)
void SetDockingAllowed(bool allowed)
static std::vector< std::string > panels_begun_this_frame_
static bool HasDuplicateRendering()
void SetDefaultSize(float width, float height)