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
 
RightDrawerManager & operator= (const RightDrawerManager &)=delete
 
void SetAgentChat (AgentChat *chat)
 
void SetProposalDrawer (ProposalDrawer *drawer)
 
void SetSettingsPanel (SettingsPanel *panel)
 
void SetSettingsPanelProvider (std::function< SettingsPanel *()> provider)
 
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 ToggleLastDrawer ()
 Toggle the right sidebar using its last selected persistent tab.
 
DrawerType GetLastActiveDrawer () const
 
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 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
 
float GetExpandedDrawerWidth () const
 
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 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
 
void RestoreDrawerWidths (const std::unordered_map< std::string, float > &widths)
 
void SetDrawerWidthChangedCallback (std::function< void(DrawerType, float)> callback)
 
void Draw ()
 Draw the drawer and its contents.
 
bool DrawSidebarToggleButton ()
 
bool DrawDrawerToggleButtons ()
 
AgentChat * agent_chat () const
 
ProposalDrawer * proposal_drawer () const
 
SettingsPanel * settings_panel () const
 
SelectionPropertiesPanel * properties_panel () const
 
ProjectManagementPanel * project_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 GetSidebarToggleWidth ()
 
static float GetDrawerToggleClusterWidth ()
 

Private Member Functions

void DrawPanelHeader (PanelType type, const char *title, const char *icon)
 
void DrawDrawerNavStrip (PanelType current_panel)
 
void DrawHeaderActions (PanelType type)
 
void DrawHeaderContextBadge (PanelType type, float available_width)
 
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
 
PanelSizeLimits GetSharedPanelSizeLimits () const
 
void NotifyPanelWidthChanged (PanelType type, float width)
 

Static Private Member Functions

static std::string PanelTypeKey (PanelType type)
 

Private Attributes

PanelType active_panel_ = PanelType::kNone
 
PanelType last_active_panel_ = PanelType::kProject
 
EditorType active_editor_type_ = EditorType::kUnknown
 
float shared_width_ = 480.0f
 
AgentChat * agent_chat_ = nullptr
 
ProposalDrawer * proposal_drawer_ = nullptr
 
SettingsPanel * settings_panel_ = nullptr
 
std::function< SettingsPanel *()> settings_panel_provider_
 
ShortcutManager * shortcut_manager_ = nullptr
 
SelectionPropertiesPanel * properties_panel_ = nullptr
 
ProjectManagementPanel * project_panel_ = nullptr
 
ToastManager * toast_manager_ = nullptr
 
Rom * rom_ = 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, PanelSizeLimits > panel_size_limits_
 
std::function< void(PanelType, float)> on_panel_width_changed_
 

Friends

class RightDrawerManagerTestPeer
 

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 57 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 65 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 89 of file right_drawer_manager.h.

References agent_chat_.

◆ SetProposalDrawer()

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

Definition at line 90 of file right_drawer_manager.h.

References proposal_drawer_.

◆ SetSettingsPanel()

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

Definition at line 91 of file right_drawer_manager.h.

References settings_panel_.

◆ SetSettingsPanelProvider()

void yaze::editor::RightDrawerManager::SetSettingsPanelProvider ( std::function< SettingsPanel *()> provider)
inline

Definition at line 95 of file right_drawer_manager.h.

References settings_panel_provider_.

◆ SetShortcutManager()

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

Definition at line 98 of file right_drawer_manager.h.

References shortcut_manager_.

◆ SetPropertiesPanel()

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

Definition at line 101 of file right_drawer_manager.h.

References properties_panel_.

◆ SetProjectManagementPanel()

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

Definition at line 104 of file right_drawer_manager.h.

References project_panel_.

◆ SetToastManager()

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

Definition at line 107 of file right_drawer_manager.h.

References toast_manager_.

◆ SetRom()

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

Definition at line 108 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 111 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 112 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 113 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 121 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 522 of file right_drawer_manager.cc.

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

Referenced by TogglePanel().

Here is the call graph for this function:

◆ TogglePanel()

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

Definition at line 136 of file right_drawer_manager.h.

References ToggleDrawer().

Here is the call graph for this function:

◆ OpenDrawer()

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

◆ OpenPanel()

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

Definition at line 146 of file right_drawer_manager.h.

References OpenDrawer().

Here is the call graph for this function:

◆ ToggleLastDrawer()

void yaze::editor::RightDrawerManager::ToggleLastDrawer ( )

Toggle the right sidebar using its last selected persistent tab.

Closing the sidebar preserves the selected tab. The first open defaults to Project.

Definition at line 531 of file right_drawer_manager.cc.

References active_panel_, CloseDrawer(), kNone, kProject, last_active_panel_, and OpenDrawer().

Referenced by DrawSidebarToggleButton().

Here is the call graph for this function:

◆ GetLastActiveDrawer()

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

Definition at line 157 of file right_drawer_manager.h.

References last_active_panel_.

◆ CloseDrawer()

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

◆ ClosePanel()

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

Definition at line 164 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 597 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 173 of file right_drawer_manager.h.

References CycleDrawer().

Here is the call graph for this function:

◆ CycleToPreviousDrawer()

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

Definition at line 174 of file right_drawer_manager.h.

References CycleDrawer().

Here is the call graph for this function:

◆ CyclePanel()

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

Definition at line 176 of file right_drawer_manager.h.

References CycleDrawer().

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 612 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 549 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 193 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 200 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 202 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 209 of file right_drawer_manager.h.

References active_panel_.

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

◆ IsPanelActive()

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

Definition at line 211 of file right_drawer_manager.h.

References IsDrawerActive().

Here is the call graph for this function:

◆ GetDrawerWidth()

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

Current animated width used by layout and rendering.

Definition at line 624 of file right_drawer_manager.cc.

References GetExpandedDrawerWidth(), and panel_animation_.

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

Here is the call graph for this function:

◆ GetExpandedDrawerWidth()

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

Full responsive width used to make stable overlay decisions.

Definition at line 628 of file right_drawer_manager.cc.

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

Referenced by GetDrawerWidth(), and yaze::editor::LayoutCoordinator::GetWorkspaceChromeBudget().

Here is the call graph for this function:

◆ GetPanelWidth()

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

Definition at line 224 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 231 of file right_drawer_manager.h.

◆ SetDrawerWidth()

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

Set drawer width for a specific drawer type.

Definition at line 651 of file right_drawer_manager.cc.

References GetSharedPanelSizeLimits(), kNone, LOG_INFO, NotifyPanelWidthChanged(), and shared_width_.

Referenced by Draw(), ResetDrawerWidths(), RestoreDrawerWidths(), and SetPanelWidth().

Here is the call graph for this function:

◆ SetPanelWidth()

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

Definition at line 238 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 684 of file right_drawer_manager.cc.

References active_editor_type_, GetDefaultDrawerWidth(), yaze::editor::GetDrawerCatalog(), kProject, kToolOutput, and SetDrawerWidth().

Referenced by Draw().

Here is the call graph for this function:

◆ GetDefaultDrawerWidth()

◆ SetPanelSizeLimits()

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

Set sizing constraints for an individual right panel.

Definition at line 722 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 one shared width and migrate legacy per-drawer width maps.

Definition at line 827 of file right_drawer_manager.cc.

References shared_width_.

◆ RestoreDrawerWidths()

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

◆ SetDrawerWidthChangedCallback()

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

Definition at line 278 of file right_drawer_manager.h.

References on_panel_width_changed_.

◆ Draw()

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

◆ DrawSidebarToggleButton()

◆ DrawDrawerToggleButtons()

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

Definition at line 298 of file right_drawer_manager.h.

References DrawSidebarToggleButton().

Here is the call graph for this function:

◆ GetSidebarToggleWidth()

float yaze::editor::RightDrawerManager::GetSidebarToggleWidth ( )
static

Menu-bar width reserved for the right-sidebar toggle.

Definition at line 2397 of file right_drawer_manager.cc.

References ICON_MD_VIEW_SIDEBAR.

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

◆ GetDrawerToggleClusterWidth()

static float yaze::editor::RightDrawerManager::GetDrawerToggleClusterWidth ( )
inlinestatic

Definition at line 305 of file right_drawer_manager.h.

References GetSidebarToggleWidth().

Here is the call graph for this function:

◆ agent_chat()

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

Definition at line 313 of file right_drawer_manager.h.

References agent_chat_.

◆ proposal_drawer()

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

Definition at line 314 of file right_drawer_manager.h.

References proposal_drawer_.

◆ settings_panel()

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

Definition at line 315 of file right_drawer_manager.h.

References settings_panel_.

◆ properties_panel()

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

Definition at line 316 of file right_drawer_manager.h.

References properties_panel_.

◆ project_panel()

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

Definition at line 319 of file right_drawer_manager.h.

References project_panel_.

◆ DrawPanelHeader()

◆ DrawDrawerNavStrip()

◆ DrawHeaderActions()

void yaze::editor::RightDrawerManager::DrawHeaderActions ( PanelType type)
private

Definition at line 1154 of file right_drawer_manager.cc.

◆ DrawHeaderContextBadge()

◆ DrawAgentChatPanel()

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

◆ DrawProposalsPanel()

◆ DrawSettingsPanel()

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

◆ DrawHelpPanel()

◆ DrawNotificationsPanel()

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

Definition at line 2083 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()

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

Definition at line 2282 of file right_drawer_manager.cc.

References yaze::editor::SelectionPropertiesPanel::Draw(), yaze::gui::DrawEmptyState(), yaze::gui::EmptyNoSelection(), and properties_panel_.

Referenced by Draw().

Here is the call graph for this function:

◆ DrawProjectPanel()

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

Definition at line 2290 of file right_drawer_manager.cc.

References yaze::editor::ProjectManagementPanel::Draw(), yaze::gui::DrawEmptyState(), yaze::gui::EmptyNoProject(), and project_panel_.

Referenced by Draw().

Here is the call graph for this function:

◆ DrawToolOutputPanel()

◆ DrawAgentQuickActions()

◆ DrawEditorContextHeader()

◆ DrawGlobalShortcuts()

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

Definition at line 1821 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

Definition at line 1451 of file right_drawer_manager.cc.

References yaze::gui::GetSurfaceContainerHighestVec4(), and yaze::gui::GetSurfaceContainerHighVec4().

Referenced by DrawHelpPanel(), and DrawToolOutputPanel().

Here is the call graph for this function:

◆ EndPanelSection()

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

Definition at line 1488 of file right_drawer_manager.cc.

Referenced by DrawHelpPanel(), and DrawToolOutputPanel().

◆ DrawPanelDivider()

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

Definition at line 1494 of file right_drawer_manager.cc.

References yaze::gui::GetOutlineVec4().

Referenced by DrawAboutSection(), DrawEditorContextHeader(), DrawNotificationsPanel(), and DrawToolOutputPanel().

Here is the call graph for this function:

◆ DrawPanelLabel()

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

Definition at line 1503 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 1507 of file right_drawer_manager.cc.

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

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

Here is the call graph for this function:

◆ DrawPanelDescription()

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

Definition at line 1513 of file right_drawer_manager.cc.

References yaze::gui::GetTextDisabledVec4().

Referenced by DrawAboutSection(), DrawAgentChatPanel(), DrawNotificationsPanel(), DrawProposalsPanel(), and DrawSettingsPanel().

Here is the call graph for this function:

◆ 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 1537 of file right_drawer_manager.cc.

References DrawPanelValue(), and GetShortcutLabel().

Referenced by DrawEditorSpecificShortcuts(), and DrawGlobalShortcuts().

Here is the call graph for this function:

◆ GetConfiguredPanelWidth()

float yaze::editor::RightDrawerManager::GetConfiguredPanelWidth ( PanelType type) const
private

Definition at line 802 of file right_drawer_manager.cc.

References kNone, and shared_width_.

Referenced by Draw(), GetClampedPanelWidth(), and GetExpandedDrawerWidth().

◆ GetClampedPanelWidth()

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

Definition at line 806 of file right_drawer_manager.cc.

References GetConfiguredPanelWidth(), and GetSharedPanelSizeLimits().

Referenced by Draw(), and GetExpandedDrawerWidth().

Here is the call graph for this function:

◆ GetSharedPanelSizeLimits()

◆ NotifyPanelWidthChanged()

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

Definition at line 820 of file right_drawer_manager.cc.

References on_panel_width_changed_.

Referenced by SetDrawerWidth().

◆ PanelTypeKey()

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

Friends And Related Symbol Documentation

◆ RightDrawerManagerTestPeer

friend class RightDrawerManagerTestPeer
friend

Definition at line 322 of file right_drawer_manager.h.

Member Data Documentation

◆ active_panel_

◆ last_active_panel_

PanelType yaze::editor::RightDrawerManager::last_active_panel_ = PanelType::kProject
private

◆ active_editor_type_

◆ shared_width_

float yaze::editor::RightDrawerManager::shared_width_ = 480.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 378 of file right_drawer_manager.h.

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

◆ settings_panel_provider_

std::function<SettingsPanel*()> yaze::editor::RightDrawerManager::settings_panel_provider_
private

Definition at line 379 of file right_drawer_manager.h.

Referenced by DrawSettingsPanel(), and SetSettingsPanelProvider().

◆ shortcut_manager_

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

Definition at line 380 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

◆ rom_

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

Definition at line 384 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 385 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 386 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

◆ tool_output_actions_

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

Definition at line 388 of file right_drawer_manager.h.

Referenced by DrawToolOutputPanel(), and SetToolOutput().

◆ properties_locked_

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

Definition at line 391 of file right_drawer_manager.h.

Referenced by DrawHeaderContextBadge(), and 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 395 of file right_drawer_manager.h.

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

◆ animating_

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

Definition at line 396 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 399 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: