MetaImGUI 1.0.0
ImGui Application Template for C++20
Loading...
Searching...
No Matches
MetaImGUI::DialogManager Class Reference

Manager for common UI dialogs. More...

#include <DialogManager.h>

Classes

struct  Impl
 

Public Member Functions

 DialogManager ()
 
 ~DialogManager ()
 
 DialogManager (const DialogManager &)=delete
 
DialogManageroperator= (const DialogManager &)=delete
 
 DialogManager (DialogManager &&)=delete
 
DialogManageroperator= (DialogManager &&)=delete
 
void Render ()
 Render all active dialogs Call this each frame in your main render loop.
 
void ShowMessageBox (const std::string &title, const std::string &message, MessageBoxButtons buttons=MessageBoxButtons::OK, MessageBoxIcon icon=MessageBoxIcon::Info, std::function< void(MessageBoxResult)> callback=nullptr)
 Show a message box.
 
void ShowInputDialog (const std::string &title, const std::string &prompt, const std::string &defaultValue="", std::function< void(const std::string &)> callback=nullptr)
 Show an input dialog.
 
int ShowProgressDialog (const std::string &title, const std::string &message="")
 Show a progress dialog.
 
void UpdateProgress (int dialogId, float progress, const std::string &message="")
 Update progress dialog.
 
void CloseProgress (int dialogId)
 Close progress dialog.
 
void ShowListDialog (const std::string &title, const std::vector< std::string > &items, std::function< void(int)> callback=nullptr)
 Show a list selection dialog.
 
void ShowConfirmation (const std::string &title, const std::string &message, std::function< void(bool)> callback=nullptr)
 Show a confirmation dialog (Yes/No)
 
bool HasOpenDialog () const
 Check if any dialog is currently open.
 
void CloseAll ()
 Close all dialogs.
 

Detailed Description

Manager for common UI dialogs.

DialogManager provides reusable dialog components including message boxes, input dialogs, and progress dialogs.

Definition at line 60 of file DialogManager.h.

Constructor & Destructor Documentation

◆ DialogManager() [1/3]

MetaImGUI::DialogManager::DialogManager ( )

Definition at line 74 of file DialogManager.cpp.

◆ ~DialogManager()

MetaImGUI::DialogManager::~DialogManager ( )
default

◆ DialogManager() [2/3]

MetaImGUI::DialogManager::DialogManager ( const DialogManager )
delete

◆ DialogManager() [3/3]

MetaImGUI::DialogManager::DialogManager ( DialogManager &&  )
delete

Member Function Documentation

◆ CloseAll()

void MetaImGUI::DialogManager::CloseAll ( )

Close all dialogs.

Definition at line 173 of file DialogManager.cpp.

◆ CloseProgress()

void MetaImGUI::DialogManager::CloseProgress ( int  dialogId)

Close progress dialog.

Parameters
dialogIdDialog ID from ShowProgressDialog

Definition at line 144 of file DialogManager.cpp.

◆ HasOpenDialog()

bool MetaImGUI::DialogManager::HasOpenDialog ( ) const

Check if any dialog is currently open.

Definition at line 168 of file DialogManager.cpp.

◆ operator=() [1/2]

DialogManager & MetaImGUI::DialogManager::operator= ( const DialogManager )
delete

◆ operator=() [2/2]

DialogManager & MetaImGUI::DialogManager::operator= ( DialogManager &&  )
delete

◆ Render()

void MetaImGUI::DialogManager::Render ( )

Render all active dialogs Call this each frame in your main render loop.

Definition at line 78 of file DialogManager.cpp.

◆ ShowConfirmation()

void MetaImGUI::DialogManager::ShowConfirmation ( const std::string &  title,
const std::string &  message,
std::function< void(bool)>  callback = nullptr 
)

Show a confirmation dialog (Yes/No)

Parameters
titleDialog title
messageConfirmation message
callbackFunction called with true if Yes, false if No

Definition at line 158 of file DialogManager.cpp.

References MetaImGUI::Question, ShowMessageBox(), MetaImGUI::Yes, and MetaImGUI::YesNo.

◆ ShowInputDialog()

void MetaImGUI::DialogManager::ShowInputDialog ( const std::string &  title,
const std::string &  prompt,
const std::string &  defaultValue = "",
std::function< void(const std::string &)>  callback = nullptr 
)

Show an input dialog.

Parameters
titleDialog title
promptPrompt text
defaultValueDefault input value
callbackFunction called with input result (empty if cancelled)

Definition at line 107 of file DialogManager.cpp.

◆ ShowListDialog()

void MetaImGUI::DialogManager::ShowListDialog ( const std::string &  title,
const std::vector< std::string > &  items,
std::function< void(int)>  callback = nullptr 
)

Show a list selection dialog.

Parameters
titleDialog title
itemsList of items to choose from
callbackFunction called with selected index (-1 if cancelled)

Definition at line 148 of file DialogManager.cpp.

◆ ShowMessageBox()

void MetaImGUI::DialogManager::ShowMessageBox ( const std::string &  title,
const std::string &  message,
MessageBoxButtons  buttons = MessageBoxButtons::OK,
MessageBoxIcon  icon = MessageBoxIcon::Info,
std::function< void(MessageBoxResult)>  callback = nullptr 
)

Show a message box.

Parameters
titleDialog title
messageMessage text
buttonsButton configuration
iconIcon type
callbackFunction called with result (async)

Definition at line 96 of file DialogManager.cpp.

Referenced by ShowConfirmation().

◆ ShowProgressDialog()

int MetaImGUI::DialogManager::ShowProgressDialog ( const std::string &  title,
const std::string &  message = "" 
)

Show a progress dialog.

Parameters
titleDialog title
messageProgress message
Returns
Dialog ID for updating progress

Definition at line 122 of file DialogManager.cpp.

References MetaImGUI::ProgressDialogState::id, MetaImGUI::ProgressDialogState::message, MetaImGUI::ProgressDialogState::open, MetaImGUI::ProgressDialogState::progress, and MetaImGUI::ProgressDialogState::title.

◆ UpdateProgress()

void MetaImGUI::DialogManager::UpdateProgress ( int  dialogId,
float  progress,
const std::string &  message = "" 
)

Update progress dialog.

Parameters
dialogIdDialog ID from ShowProgressDialog
progressProgress value (0.0 to 1.0)
messageOptional status message

Definition at line 134 of file DialogManager.cpp.


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