yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::editor::RightDrawerManager Class Reference

Manages right-side sliding drawers for agent chat, proposals, settings. More...

#include <right_drawer_manager.h>

Classes

struct  PanelSizeLimits
 
struct  ToolOutputActions
 

Public Types

enum class  DrawerType {
  kNone = 0 , kAgentChat , kProposals , kSettings ,
  kHelp , kNotifications , kProperties , kProject ,
  kToolOutput
}
 
using PanelType = DrawerType
 

Public Member Functions

 RightDrawerManager ()=default
 
 ~RightDrawerManager ()=default
 
 RightDrawerManager (const RightDrawerManager &)=delete
 
RightDrawerManageroperator= (const RightDrawerManager &)=delete
 
void SetAgentChat (AgentChat *chat)
 
void SetProposalDrawer (ProposalDrawer *drawer)
 
void SetSettingsPanel (SettingsPanel *panel)
 
void SetShortcutManager (ShortcutManager *manager)
 
void SetPropertiesPanel (SelectionPropertiesPanel *panel)
 
void SetProjectManagementPanel (ProjectManagementPanel *panel)
 
void SetToastManager (ToastManager *manager)
 
void SetRom (Rom *rom)
 
void SetToolOutput (std::string title, std::string query, std::string content, ToolOutputActions actions={})
 
const std::string & tool_output_title () const
 
const std::string & tool_output_query () const
 
const std::string & tool_output_content () const
 
void SetActiveEditor (EditorType type)
 Set the active editor for context-aware help content.
 
void ToggleDrawer (DrawerType type)
 Toggle a specific drawer on/off.
 
void TogglePanel (PanelType type)
 
void OpenDrawer (DrawerType type)
 Open a specific drawer.
 
void OpenPanel (PanelType type)
 
void CloseDrawer ()
 Close the currently active drawer.
 
void ClosePanel ()
 
void CycleDrawer (int direction)
 Cycle to the next/previous right drawer in header order.
 
void CycleToNextDrawer ()
 
void CycleToPreviousDrawer ()
 
void CyclePanel (int direction)
 
void CycleToNextPanel ()
 
void CycleToPreviousPanel ()
 
void OnHostVisibilityChanged (bool visible)
 Snap transient animations when host visibility changes.
 
bool IsDrawerExpanded () const
 Check if any drawer is currently expanded (or animating closed)
 
bool IsPanelExpanded () const
 
DrawerType GetActiveDrawer () const
 Get the currently active drawer type.
 
PanelType GetActivePanel () const
 
bool IsDrawerActive (DrawerType type) const
 Check if a specific drawer is active.
 
bool IsPanelActive (PanelType type) const
 
float GetDrawerWidth () const
 Get the width of the drawer when expanded.
 
float GetPanelWidth () const
 
void SetDrawerWidth (DrawerType type, float width)
 Set drawer width for a specific drawer type.
 
void SetPanelWidth (PanelType type, float width)
 
void ResetDrawerWidths ()
 Reset all drawer widths to their defaults.
 
void ResetPanelWidths ()
 
void SetPanelSizeLimits (PanelType type, const PanelSizeLimits &limits)
 Set sizing constraints for an individual right panel.
 
PanelSizeLimits GetPanelSizeLimits (PanelType type) const
 
void SetDrawerSizeLimits (DrawerType type, const PanelSizeLimits &limits)
 
PanelSizeLimits GetDrawerSizeLimits (DrawerType type) const
 
std::unordered_map< std::string, float > SerializeDrawerWidths () const
 Persist/restore per-drawer widths for user settings.
 
void RestoreDrawerWidths (const std::unordered_map< std::string, float > &widths)
 
std::unordered_map< std::string, float > SerializePanelWidths () const
 
void RestorePanelWidths (const std::unordered_map< std::string, float > &widths)
 
void SetDrawerWidthChangedCallback (std::function< void(DrawerType, float)> callback)
 
void SetPanelWidthChangedCallback (std::function< void(PanelType, float)> callback)
 
void Draw ()
 Draw the drawer and its contents.
 
bool DrawDrawerToggleButtons ()
 Draw drawer toggle buttons for the status cluster.
 
bool DrawPanelToggleButtons ()
 
AgentChatagent_chat () const
 
ProposalDrawerproposal_drawer () const
 
SettingsPanelsettings_panel () const
 
SelectionPropertiesPanelproperties_panel () const
 
ProjectManagementPanelproject_panel () const
 

Static Public Member Functions

static constexpr float GetCollapsedWidth ()
 Get the width of the collapsed panel strip (toggle buttons)
 
static float GetDefaultDrawerWidth (DrawerType type, EditorType editor=EditorType::kUnknown)
 Get the default width for a specific drawer type.
 
static float GetDefaultPanelWidth (PanelType type, EditorType editor=EditorType::kUnknown)
 

Private Member Functions

void DrawPanelHeader (const char *title, const char *icon)
 
void DrawAgentChatPanel ()
 
void DrawProposalsPanel ()
 
void DrawSettingsPanel ()
 
void DrawHelpPanel ()
 
void DrawNotificationsPanel ()
 
void DrawPropertiesPanel ()
 
void DrawProjectPanel ()
 
void DrawToolOutputPanel ()
 
bool DrawAgentQuickActions ()
 
void DrawEditorContextHeader ()
 
void DrawGlobalShortcuts ()
 
void DrawEditorSpecificShortcuts ()
 
void DrawEditorSpecificHelp ()
 
void DrawQuickActionButtons ()
 
void DrawAboutSection ()
 
bool BeginPanelSection (const char *label, const char *icon=nullptr, bool default_open=true)
 
void EndPanelSection ()
 
void DrawPanelDivider ()
 
void DrawPanelLabel (const char *label)
 
void DrawPanelValue (const char *label, const char *value)
 
void DrawPanelDescription (const char *text)
 
std::string GetShortcutLabel (const std::string &action, const std::string &fallback) const
 
void DrawShortcutRow (const std::string &action, const char *description, const std::string &fallback)
 
float GetConfiguredPanelWidth (PanelType type) const
 
float GetClampedPanelWidth (PanelType type, float viewport_width) const
 
void NotifyPanelWidthChanged (PanelType type, float width)
 

Static Private Member Functions

static std::string PanelTypeKey (PanelType type)
 

Private Attributes

PanelType active_panel_ = PanelType::kNone
 
EditorType active_editor_type_ = EditorType::kUnknown
 
float agent_chat_width_ = gui::UIConfig::kPanelWidthAgentChat
 
float proposals_width_ = gui::UIConfig::kPanelWidthProposals
 
float settings_width_ = gui::UIConfig::kPanelWidthSettings
 
float help_width_ = gui::UIConfig::kPanelWidthHelp
 
float notifications_width_ = gui::UIConfig::kPanelWidthNotifications
 
float properties_width_ = gui::UIConfig::kPanelWidthProperties
 
float project_width_ = gui::UIConfig::kPanelWidthProject
 
float tool_output_width_ = 460.0f
 
AgentChatagent_chat_ = nullptr
 
ProposalDrawerproposal_drawer_ = nullptr
 
SettingsPanelsettings_panel_ = nullptr
 
ShortcutManagershortcut_manager_ = nullptr
 
SelectionPropertiesPanelproperties_panel_ = nullptr
 
ProjectManagementPanelproject_panel_ = nullptr
 
ToastManagertoast_manager_ = nullptr
 
Romrom_ = nullptr
 
std::string tool_output_title_
 
std::string tool_output_query_
 
std::string tool_output_content_
 
ToolOutputActions tool_output_actions_
 
bool properties_locked_ = false
 
float panel_animation_ = 0.0f
 
float animation_target_ = 0.0f
 
bool animating_ = false
 
bool closing_ = false
 
PanelType closing_panel_ = PanelType::kNone
 
std::unordered_map< std::string, PanelSizeLimitspanel_size_limits_
 
std::function< void(PanelType, float)> on_panel_width_changed_
 

Detailed Description

Manages right-side sliding drawers for agent chat, proposals, settings.

Provides a unified drawer system on the right side of the application that:

  • Slides in/out from the right edge
  • Shifts the main docking space when expanded
  • Supports multiple drawer types (agent chat, proposals, settings)
  • Only one drawer can be active at a time

Usage:

RightDrawerManager drawer_manager;
drawer_manager.SetAgentChat(&agent_chat);
drawer_manager.Draw();
Manages right-side sliding drawers for agent chat, proposals, settings.
void Draw()
Draw the drawer and its contents.
void ToggleDrawer(DrawerType type)
Toggle a specific drawer on/off.
ProposalDrawer * proposal_drawer() const
void SetProposalDrawer(ProposalDrawer *drawer)

Definition at line 55 of file right_drawer_manager.h.

Member Typedef Documentation

◆ PanelType

Member Enumeration Documentation

◆ DrawerType

Enumerator
kNone 
kAgentChat 
kProposals 
kSettings 
kHelp 
kNotifications 
kProperties 
kProject 
kToolOutput 

Definition at line 63 of file right_drawer_manager.h.

Constructor & Destructor Documentation

◆ RightDrawerManager() [1/2]

yaze::editor::RightDrawerManager::RightDrawerManager ( )
default

◆ ~RightDrawerManager()

yaze::editor::RightDrawerManager::~RightDrawerManager ( )
default

◆ RightDrawerManager() [2/2]

yaze::editor::RightDrawerManager::RightDrawerManager ( const RightDrawerManager & )
delete

Member Function Documentation

◆ operator=()

RightDrawerManager & yaze::editor::RightDrawerManager::operator= ( const RightDrawerManager & )
delete

◆ SetAgentChat()

void yaze::editor::RightDrawerManager::SetAgentChat ( AgentChat * chat)
inline

Definition at line 87 of file right_drawer_manager.h.

References agent_chat_.

◆ SetProposalDrawer()

void yaze::editor::RightDrawerManager::SetProposalDrawer ( ProposalDrawer * drawer)
inline

Definition at line 88 of file right_drawer_manager.h.

References proposal_drawer_.

◆ SetSettingsPanel()

void yaze::editor::RightDrawerManager::SetSettingsPanel ( SettingsPanel * panel)
inline

Definition at line 89 of file right_drawer_manager.h.

References settings_panel_.

◆ SetShortcutManager()

void yaze::editor::RightDrawerManager::SetShortcutManager ( ShortcutManager * manager)
inline

Definition at line 90 of file right_drawer_manager.h.

References shortcut_manager_.

◆ SetPropertiesPanel()

void yaze::editor::RightDrawerManager::SetPropertiesPanel ( SelectionPropertiesPanel * panel)
inline

Definition at line 93 of file right_drawer_manager.h.

References properties_panel_.

◆ SetProjectManagementPanel()

void yaze::editor::RightDrawerManager::SetProjectManagementPanel ( ProjectManagementPanel * panel)
inline

Definition at line 96 of file right_drawer_manager.h.

References project_panel_.

◆ SetToastManager()

void yaze::editor::RightDrawerManager::SetToastManager ( ToastManager * manager)
inline

Definition at line 99 of file right_drawer_manager.h.

References toast_manager_.

◆ SetRom()

void yaze::editor::RightDrawerManager::SetRom ( Rom * rom)
inline

Definition at line 100 of file right_drawer_manager.h.

References rom_.

◆ SetToolOutput()

void yaze::editor::RightDrawerManager::SetToolOutput ( std::string title,
std::string query,
std::string content,
ToolOutputActions actions = {} )

◆ tool_output_title()

const std::string & yaze::editor::RightDrawerManager::tool_output_title ( ) const
inline

Definition at line 103 of file right_drawer_manager.h.

References tool_output_title_.

◆ tool_output_query()

const std::string & yaze::editor::RightDrawerManager::tool_output_query ( ) const
inline

Definition at line 104 of file right_drawer_manager.h.

References tool_output_query_.

◆ tool_output_content()

const std::string & yaze::editor::RightDrawerManager::tool_output_content ( ) const
inline

Definition at line 105 of file right_drawer_manager.h.

References tool_output_content_.

◆ SetActiveEditor()

void yaze::editor::RightDrawerManager::SetActiveEditor ( EditorType type)
inline

Set the active editor for context-aware help content.

Parameters
typeThe currently active editor type

Definition at line 113 of file right_drawer_manager.h.

References active_editor_type_.

◆ ToggleDrawer()

void yaze::editor::RightDrawerManager::ToggleDrawer ( DrawerType type)

Toggle a specific drawer on/off.

Parameters
typeDrawer type to toggle

If the drawer is already active, it will be closed. If another drawer is active, it will be closed and this one opened.

Definition at line 501 of file right_drawer_manager.cc.

References active_panel_, CloseDrawer(), and OpenDrawer().

Referenced by DrawDrawerToggleButtons(), and TogglePanel().

Here is the call graph for this function:

◆ TogglePanel()

void yaze::editor::RightDrawerManager::TogglePanel ( PanelType type)
inline

Definition at line 128 of file right_drawer_manager.h.

References ToggleDrawer().

Here is the call graph for this function:

◆ OpenDrawer()

void yaze::editor::RightDrawerManager::OpenDrawer ( DrawerType type)

Open a specific drawer.

Parameters
typeDrawer type to open

Definition at line 523 of file right_drawer_manager.cc.

References active_panel_, animating_, animation_target_, closing_, closing_panel_, yaze::gui::GetAnimator(), kNone, and panel_animation_.

Referenced by CycleDrawer(), DrawAgentChatPanel(), DrawPanelHeader(), yaze::editor::EditorActivator::HandleNonEditorClassSwitch(), OpenPanel(), and ToggleDrawer().

Here is the call graph for this function:

◆ OpenPanel()

void yaze::editor::RightDrawerManager::OpenPanel ( PanelType type)
inline

Definition at line 138 of file right_drawer_manager.h.

References OpenDrawer().

Here is the call graph for this function:

◆ CloseDrawer()

void yaze::editor::RightDrawerManager::CloseDrawer ( )

Close the currently active drawer.

Definition at line 540 of file right_drawer_manager.cc.

References active_panel_, animating_, animation_target_, closing_, closing_panel_, yaze::gui::GetAnimator(), kNone, and panel_animation_.

Referenced by ClosePanel(), Draw(), DrawPanelHeader(), yaze::editor::EditorActivator::HandleNonEditorClassSwitch(), and ToggleDrawer().

Here is the call graph for this function:

◆ ClosePanel()

void yaze::editor::RightDrawerManager::ClosePanel ( )
inline

Definition at line 147 of file right_drawer_manager.h.

References CloseDrawer().

Here is the call graph for this function:

◆ CycleDrawer()

void yaze::editor::RightDrawerManager::CycleDrawer ( int direction)

Cycle to the next/previous right drawer in header order.

Parameters
directionPositive for next, negative for previous.

Definition at line 559 of file right_drawer_manager.cc.

References active_panel_, closing_panel_, kNone, and OpenDrawer().

Referenced by CyclePanel(), CycleToNextDrawer(), and CycleToPreviousDrawer().

Here is the call graph for this function:

◆ CycleToNextDrawer()

void yaze::editor::RightDrawerManager::CycleToNextDrawer ( )
inline

Definition at line 156 of file right_drawer_manager.h.

References CycleDrawer().

Referenced by CycleToNextPanel(), and DrawPanelHeader().

Here is the call graph for this function:

◆ CycleToPreviousDrawer()

void yaze::editor::RightDrawerManager::CycleToPreviousDrawer ( )
inline

Definition at line 157 of file right_drawer_manager.h.

References CycleDrawer().

Referenced by CycleToPreviousPanel(), and DrawPanelHeader().

Here is the call graph for this function:

◆ CyclePanel()

void yaze::editor::RightDrawerManager::CyclePanel ( int direction)
inline

Definition at line 159 of file right_drawer_manager.h.

References CycleDrawer().

Here is the call graph for this function:

◆ CycleToNextPanel()

void yaze::editor::RightDrawerManager::CycleToNextPanel ( )
inline

Definition at line 163 of file right_drawer_manager.h.

References CycleToNextDrawer().

Here is the call graph for this function:

◆ CycleToPreviousPanel()

void yaze::editor::RightDrawerManager::CycleToPreviousPanel ( )
inline

Definition at line 167 of file right_drawer_manager.h.

References CycleToPreviousDrawer().

Here is the call graph for this function:

◆ OnHostVisibilityChanged()

void yaze::editor::RightDrawerManager::OnHostVisibilityChanged ( bool visible)

Snap transient animations when host visibility changes.

This is used for OS space switches / focus loss so partially animated panel bitmaps do not linger when returning to the app.

Definition at line 574 of file right_drawer_manager.cc.

References active_panel_, animating_, animation_target_, closing_, closing_panel_, kNone, and panel_animation_.

◆ IsDrawerExpanded()

bool yaze::editor::RightDrawerManager::IsDrawerExpanded ( ) const

Check if any drawer is currently expanded (or animating closed)

Definition at line 519 of file right_drawer_manager.cc.

References active_panel_, closing_, and kNone.

Referenced by yaze::editor::UICoordinator::DrawMenuBarExtras(), and IsPanelExpanded().

◆ IsPanelExpanded()

bool yaze::editor::RightDrawerManager::IsPanelExpanded ( ) const
inline

Definition at line 184 of file right_drawer_manager.h.

References IsDrawerExpanded().

Here is the call graph for this function:

◆ GetActiveDrawer()

DrawerType yaze::editor::RightDrawerManager::GetActiveDrawer ( ) const
inline

Get the currently active drawer type.

Definition at line 191 of file right_drawer_manager.h.

References active_panel_.

Referenced by GetActivePanel(), and yaze::editor::EditorActivator::HandleNonEditorClassSwitch().

◆ GetActivePanel()

PanelType yaze::editor::RightDrawerManager::GetActivePanel ( ) const
inline

Definition at line 193 of file right_drawer_manager.h.

References GetActiveDrawer().

Here is the call graph for this function:

◆ IsDrawerActive()

bool yaze::editor::RightDrawerManager::IsDrawerActive ( DrawerType type) const
inline

Check if a specific drawer is active.

Definition at line 200 of file right_drawer_manager.h.

References active_panel_.

Referenced by DrawDrawerToggleButtons(), yaze::editor::UICoordinator::DrawNotificationBell(), and IsPanelActive().

◆ IsPanelActive()

bool yaze::editor::RightDrawerManager::IsPanelActive ( PanelType type) const
inline

Definition at line 202 of file right_drawer_manager.h.

References IsDrawerActive().

Here is the call graph for this function:

◆ GetDrawerWidth()

float yaze::editor::RightDrawerManager::GetDrawerWidth ( ) const

Get the width of the drawer when expanded.

Definition at line 586 of file right_drawer_manager.cc.

References active_panel_, closing_, closing_panel_, GetClampedPanelWidth(), GetConfiguredPanelWidth(), kNone, and panel_animation_.

Referenced by yaze::editor::UICoordinator::DrawMenuBarExtras(), GetPanelWidth(), and yaze::editor::LayoutCoordinator::GetRightLayoutOffset().

Here is the call graph for this function:

◆ GetPanelWidth()

float yaze::editor::RightDrawerManager::GetPanelWidth ( ) const
inline

Definition at line 215 of file right_drawer_manager.h.

References GetDrawerWidth().

Here is the call graph for this function:

◆ GetCollapsedWidth()

static constexpr float yaze::editor::RightDrawerManager::GetCollapsedWidth ( )
inlinestaticconstexpr

Get the width of the collapsed panel strip (toggle buttons)

Definition at line 222 of file right_drawer_manager.h.

◆ SetDrawerWidth()

void yaze::editor::RightDrawerManager::SetDrawerWidth ( DrawerType type,
float width )

◆ SetPanelWidth()

void yaze::editor::RightDrawerManager::SetPanelWidth ( PanelType type,
float width )
inline

Definition at line 229 of file right_drawer_manager.h.

References SetDrawerWidth().

Here is the call graph for this function:

◆ ResetDrawerWidths()

void yaze::editor::RightDrawerManager::ResetDrawerWidths ( )

Reset all drawer widths to their defaults.

Definition at line 678 of file right_drawer_manager.cc.

References active_editor_type_, GetDefaultDrawerWidth(), kAgentChat, kHelp, kNotifications, kProject, kProperties, kProposals, kSettings, kToolOutput, and SetDrawerWidth().

Referenced by ResetPanelWidths().

Here is the call graph for this function:

◆ ResetPanelWidths()

void yaze::editor::RightDrawerManager::ResetPanelWidths ( )
inline

Definition at line 238 of file right_drawer_manager.h.

References ResetDrawerWidths().

Here is the call graph for this function:

◆ GetDefaultDrawerWidth()

◆ GetDefaultPanelWidth()

static float yaze::editor::RightDrawerManager::GetDefaultPanelWidth ( PanelType type,
EditorType editor = EditorType::kUnknown )
inlinestatic

Definition at line 251 of file right_drawer_manager.h.

References GetDefaultDrawerWidth().

Here is the call graph for this function:

◆ SetPanelSizeLimits()

void yaze::editor::RightDrawerManager::SetPanelSizeLimits ( PanelType type,
const PanelSizeLimits & limits )

Set sizing constraints for an individual right panel.

Definition at line 732 of file right_drawer_manager.cc.

References kNone, yaze::gui::UIConfig::kPanelMinWidthAbsolute, yaze::editor::RightDrawerManager::PanelSizeLimits::max_width_ratio, yaze::editor::RightDrawerManager::PanelSizeLimits::min_width, panel_size_limits_, and PanelTypeKey().

Referenced by SetDrawerSizeLimits().

Here is the call graph for this function:

◆ GetPanelSizeLimits()

◆ SetDrawerSizeLimits()

void yaze::editor::RightDrawerManager::SetDrawerSizeLimits ( DrawerType type,
const PanelSizeLimits & limits )
inline

Definition at line 266 of file right_drawer_manager.h.

References SetPanelSizeLimits().

Here is the call graph for this function:

◆ GetDrawerSizeLimits()

PanelSizeLimits yaze::editor::RightDrawerManager::GetDrawerSizeLimits ( DrawerType type) const
inline

Definition at line 269 of file right_drawer_manager.h.

References GetPanelSizeLimits().

Here is the call graph for this function:

◆ SerializeDrawerWidths()

std::unordered_map< std::string, float > yaze::editor::RightDrawerManager::SerializeDrawerWidths ( ) const

Persist/restore per-drawer widths for user settings.

Definition at line 838 of file right_drawer_manager.cc.

References agent_chat_width_, help_width_, kAgentChat, kHelp, kNotifications, kProject, kProperties, kProposals, kSettings, kToolOutput, notifications_width_, PanelTypeKey(), project_width_, properties_width_, proposals_width_, settings_width_, and tool_output_width_.

Referenced by SerializePanelWidths().

Here is the call graph for this function:

◆ RestoreDrawerWidths()

void yaze::editor::RightDrawerManager::RestoreDrawerWidths ( const std::unordered_map< std::string, float > & widths)

Definition at line 851 of file right_drawer_manager.cc.

References kAgentChat, kHelp, kNotifications, kProject, kProperties, kProposals, kSettings, kToolOutput, LOG_INFO, PanelTypeKey(), and SetDrawerWidth().

Referenced by RestorePanelWidths().

Here is the call graph for this function:

◆ SerializePanelWidths()

std::unordered_map< std::string, float > yaze::editor::RightDrawerManager::SerializePanelWidths ( ) const
inline

Definition at line 280 of file right_drawer_manager.h.

References SerializeDrawerWidths().

Here is the call graph for this function:

◆ RestorePanelWidths()

void yaze::editor::RightDrawerManager::RestorePanelWidths ( const std::unordered_map< std::string, float > & widths)
inline

Definition at line 284 of file right_drawer_manager.h.

References RestoreDrawerWidths().

Here is the call graph for this function:

◆ SetDrawerWidthChangedCallback()

void yaze::editor::RightDrawerManager::SetDrawerWidthChangedCallback ( std::function< void(DrawerType, float)> callback)
inline

Definition at line 289 of file right_drawer_manager.h.

References on_panel_width_changed_.

◆ SetPanelWidthChangedCallback()

void yaze::editor::RightDrawerManager::SetPanelWidthChangedCallback ( std::function< void(PanelType, float)> callback)
inline

Definition at line 294 of file right_drawer_manager.h.

References on_panel_width_changed_.

◆ Draw()

void yaze::editor::RightDrawerManager::Draw ( )

◆ DrawDrawerToggleButtons()

◆ DrawPanelToggleButtons()

bool yaze::editor::RightDrawerManager::DrawPanelToggleButtons ( )
inline

Definition at line 318 of file right_drawer_manager.h.

References DrawDrawerToggleButtons().

Here is the call graph for this function:

◆ agent_chat()

AgentChat * yaze::editor::RightDrawerManager::agent_chat ( ) const
inline

Definition at line 326 of file right_drawer_manager.h.

References agent_chat_.

◆ proposal_drawer()

ProposalDrawer * yaze::editor::RightDrawerManager::proposal_drawer ( ) const
inline

Definition at line 327 of file right_drawer_manager.h.

References proposal_drawer_.

◆ settings_panel()

SettingsPanel * yaze::editor::RightDrawerManager::settings_panel ( ) const
inline

Definition at line 328 of file right_drawer_manager.h.

References settings_panel_.

◆ properties_panel()

SelectionPropertiesPanel * yaze::editor::RightDrawerManager::properties_panel ( ) const
inline

Definition at line 329 of file right_drawer_manager.h.

References properties_panel_.

◆ project_panel()

ProjectManagementPanel * yaze::editor::RightDrawerManager::project_panel ( ) const
inline

Definition at line 332 of file right_drawer_manager.h.

References project_panel_.

◆ DrawPanelHeader()

◆ DrawAgentChatPanel()

◆ DrawProposalsPanel()

◆ DrawSettingsPanel()

void yaze::editor::RightDrawerManager::DrawSettingsPanel ( )
private

◆ DrawHelpPanel()

◆ DrawNotificationsPanel()

void yaze::editor::RightDrawerManager::DrawNotificationsPanel ( )
private

Definition at line 1860 of file right_drawer_manager.cc.

References yaze::gui::LayoutHelpers::BeginContentChild(), yaze::editor::ContentRegistry::Context::build_workflow_status(), yaze::editor::ContentRegistry::Context::cancel_build_workflow_callback(), yaze::editor::ToastManager::ClearHistory(), yaze::gui::ColoredText(), yaze::gui::ColoredTextF(), yaze::gui::ConvertColorToImVec4(), DrawPanelDescription(), DrawPanelDivider(), DrawPanelLabel(), yaze::gui::LayoutHelpers::EndContentChild(), yaze::gui::ThemeManager::Get(), yaze::gui::ThemeManager::GetCurrentTheme(), yaze::editor::ToastManager::GetHistory(), yaze::gui::GetPrimaryVec4(), yaze::gui::GetSurfaceContainerHighestVec4(), yaze::gui::GetSurfaceContainerHighVec4(), yaze::gui::GetTextDisabledVec4(), yaze::gui::GetTextSecondaryVec4(), yaze::editor::ToastManager::GetUnreadCount(), ICON_MD_BUILD, ICON_MD_CHECK_CIRCLE, ICON_MD_DELETE_SWEEP, ICON_MD_DONE_ALL, ICON_MD_ERROR, ICON_MD_FIBER_MANUAL_RECORD, ICON_MD_INBOX, ICON_MD_INFO, ICON_MD_NOTIFICATIONS_OFF, ICON_MD_OPEN_IN_NEW, ICON_MD_PLAY_ARROW, ICON_MD_WARNING, yaze::gui::UIConfig::kContentMinHeightList, yaze::editor::kError, yaze::editor::kSuccess, yaze::editor::kWarning, yaze::editor::ToastManager::MarkAllRead(), yaze::editor::workflow::WorkflowActionCallbacks::run_project, yaze::editor::ContentRegistry::Context::run_project_workflow_callback(), yaze::editor::ContentRegistry::Context::run_workflow_status(), yaze::editor::workflow::SelectWorkflowPreviewEntries(), yaze::editor::workflow::WorkflowActionCallbacks::show_output, yaze::editor::ContentRegistry::Context::show_workflow_output_callback(), yaze::editor::workflow::WorkflowActionCallbacks::start_build, yaze::editor::ContentRegistry::Context::start_build_workflow_callback(), toast_manager_, and yaze::editor::ContentRegistry::Context::workflow_history().

Referenced by Draw().

◆ DrawPropertiesPanel()

◆ DrawProjectPanel()

◆ DrawToolOutputPanel()

◆ DrawAgentQuickActions()

◆ DrawEditorContextHeader()

◆ DrawGlobalShortcuts()

void yaze::editor::RightDrawerManager::DrawGlobalShortcuts ( )
private

Definition at line 1586 of file right_drawer_manager.cc.

References DrawPanelLabel(), DrawPanelValue(), DrawShortcutRow(), and yaze::gui::GetCtrlDisplayName().

Referenced by DrawHelpPanel().

Here is the call graph for this function:

◆ DrawEditorSpecificShortcuts()

◆ DrawEditorSpecificHelp()

void yaze::editor::RightDrawerManager::DrawEditorSpecificHelp ( )
private

◆ DrawQuickActionButtons()

void yaze::editor::RightDrawerManager::DrawQuickActionButtons ( )
private

◆ DrawAboutSection()

void yaze::editor::RightDrawerManager::DrawAboutSection ( )
private

◆ BeginPanelSection()

bool yaze::editor::RightDrawerManager::BeginPanelSection ( const char * label,
const char * icon = nullptr,
bool default_open = true )
private

◆ EndPanelSection()

void yaze::editor::RightDrawerManager::EndPanelSection ( )
private

◆ DrawPanelDivider()

void yaze::editor::RightDrawerManager::DrawPanelDivider ( )
private

◆ DrawPanelLabel()

void yaze::editor::RightDrawerManager::DrawPanelLabel ( const char * label)
private

Definition at line 1241 of file right_drawer_manager.cc.

References yaze::gui::ColoredText(), and yaze::gui::GetTextSecondaryVec4().

Referenced by DrawAboutSection(), DrawEditorSpecificShortcuts(), DrawGlobalShortcuts(), and DrawNotificationsPanel().

Here is the call graph for this function:

◆ DrawPanelValue()

void yaze::editor::RightDrawerManager::DrawPanelValue ( const char * label,
const char * value )
private

Definition at line 1245 of file right_drawer_manager.cc.

References yaze::gui::ColoredTextF(), and yaze::gui::GetTextSecondaryVec4().

Referenced by DrawEditorSpecificShortcuts(), DrawGlobalShortcuts(), DrawPropertiesPanel(), and DrawShortcutRow().

Here is the call graph for this function:

◆ DrawPanelDescription()

void yaze::editor::RightDrawerManager::DrawPanelDescription ( const char * text)
private

◆ GetShortcutLabel()

std::string yaze::editor::RightDrawerManager::GetShortcutLabel ( const std::string & action,
const std::string & fallback ) const
private

◆ DrawShortcutRow()

void yaze::editor::RightDrawerManager::DrawShortcutRow ( const std::string & action,
const char * description,
const std::string & fallback )
private

Definition at line 1275 of file right_drawer_manager.cc.

References DrawPanelValue(), and GetShortcutLabel().

Referenced by DrawEditorSpecificShortcuts(), and DrawGlobalShortcuts().

Here is the call graph for this function:

◆ GetConfiguredPanelWidth()

◆ GetClampedPanelWidth()

float yaze::editor::RightDrawerManager::GetClampedPanelWidth ( PanelType type,
float viewport_width ) const
private

Definition at line 817 of file right_drawer_manager.cc.

References GetConfiguredPanelWidth(), and GetPanelSizeLimits().

Referenced by Draw(), and GetDrawerWidth().

Here is the call graph for this function:

◆ NotifyPanelWidthChanged()

void yaze::editor::RightDrawerManager::NotifyPanelWidthChanged ( PanelType type,
float width )
private

Definition at line 831 of file right_drawer_manager.cc.

References on_panel_width_changed_.

Referenced by SetDrawerWidth().

◆ PanelTypeKey()

std::string yaze::editor::RightDrawerManager::PanelTypeKey ( PanelType type)
staticprivate

Member Data Documentation

◆ active_panel_

◆ active_editor_type_

◆ agent_chat_width_

float yaze::editor::RightDrawerManager::agent_chat_width_ = gui::UIConfig::kPanelWidthAgentChat
private

◆ proposals_width_

float yaze::editor::RightDrawerManager::proposals_width_ = gui::UIConfig::kPanelWidthProposals
private

◆ settings_width_

float yaze::editor::RightDrawerManager::settings_width_ = gui::UIConfig::kPanelWidthSettings
private

◆ help_width_

float yaze::editor::RightDrawerManager::help_width_ = gui::UIConfig::kPanelWidthHelp
private

◆ notifications_width_

float yaze::editor::RightDrawerManager::notifications_width_ = gui::UIConfig::kPanelWidthNotifications
private

◆ properties_width_

float yaze::editor::RightDrawerManager::properties_width_ = gui::UIConfig::kPanelWidthProperties
private

◆ project_width_

float yaze::editor::RightDrawerManager::project_width_ = gui::UIConfig::kPanelWidthProject
private

◆ tool_output_width_

float yaze::editor::RightDrawerManager::tool_output_width_ = 460.0f
private

◆ agent_chat_

AgentChat* yaze::editor::RightDrawerManager::agent_chat_ = nullptr
private

◆ proposal_drawer_

ProposalDrawer* yaze::editor::RightDrawerManager::proposal_drawer_ = nullptr
private

◆ settings_panel_

SettingsPanel* yaze::editor::RightDrawerManager::settings_panel_ = nullptr
private

Definition at line 390 of file right_drawer_manager.h.

Referenced by DrawSettingsPanel(), SetSettingsPanel(), and settings_panel().

◆ shortcut_manager_

ShortcutManager* yaze::editor::RightDrawerManager::shortcut_manager_ = nullptr
private

Definition at line 391 of file right_drawer_manager.h.

Referenced by GetShortcutLabel(), and SetShortcutManager().

◆ properties_panel_

SelectionPropertiesPanel* yaze::editor::RightDrawerManager::properties_panel_ = nullptr
private

◆ project_panel_

ProjectManagementPanel* yaze::editor::RightDrawerManager::project_panel_ = nullptr
private

◆ toast_manager_

ToastManager* yaze::editor::RightDrawerManager::toast_manager_ = nullptr
private

Definition at line 394 of file right_drawer_manager.h.

Referenced by DrawNotificationsPanel(), and SetToastManager().

◆ rom_

Rom* yaze::editor::RightDrawerManager::rom_ = nullptr
private

Definition at line 395 of file right_drawer_manager.h.

Referenced by DrawProposalsPanel(), and SetRom().

◆ tool_output_title_

std::string yaze::editor::RightDrawerManager::tool_output_title_
private

Definition at line 396 of file right_drawer_manager.h.

Referenced by Draw(), SetToolOutput(), and tool_output_title().

◆ tool_output_query_

std::string yaze::editor::RightDrawerManager::tool_output_query_
private

Definition at line 397 of file right_drawer_manager.h.

Referenced by DrawToolOutputPanel(), SetToolOutput(), and tool_output_query().

◆ tool_output_content_

std::string yaze::editor::RightDrawerManager::tool_output_content_
private

Definition at line 398 of file right_drawer_manager.h.

Referenced by DrawToolOutputPanel(), SetToolOutput(), and tool_output_content().

◆ tool_output_actions_

ToolOutputActions yaze::editor::RightDrawerManager::tool_output_actions_
private

Definition at line 399 of file right_drawer_manager.h.

Referenced by DrawToolOutputPanel(), and SetToolOutput().

◆ properties_locked_

bool yaze::editor::RightDrawerManager::properties_locked_ = false
private

Definition at line 402 of file right_drawer_manager.h.

Referenced by DrawPanelHeader().

◆ panel_animation_

float yaze::editor::RightDrawerManager::panel_animation_ = 0.0f
private

◆ animation_target_

float yaze::editor::RightDrawerManager::animation_target_ = 0.0f
private

Definition at line 406 of file right_drawer_manager.h.

Referenced by CloseDrawer(), Draw(), OnHostVisibilityChanged(), and OpenDrawer().

◆ animating_

bool yaze::editor::RightDrawerManager::animating_ = false
private

Definition at line 407 of file right_drawer_manager.h.

Referenced by CloseDrawer(), Draw(), OnHostVisibilityChanged(), and OpenDrawer().

◆ closing_

bool yaze::editor::RightDrawerManager::closing_ = false
private

◆ closing_panel_

PanelType yaze::editor::RightDrawerManager::closing_panel_ = PanelType::kNone
private

◆ panel_size_limits_

std::unordered_map<std::string, PanelSizeLimits> yaze::editor::RightDrawerManager::panel_size_limits_
private

Definition at line 410 of file right_drawer_manager.h.

Referenced by GetPanelSizeLimits(), and SetPanelSizeLimits().

◆ on_panel_width_changed_

std::function<void(PanelType, float)> yaze::editor::RightDrawerManager::on_panel_width_changed_
private

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