ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
cloudViewer::visualization::gui::MenuImgui Class Reference

#include <MenuImgui.h>

Inheritance diagram for cloudViewer::visualization::gui::MenuImgui:
Collaboration diagram for cloudViewer::visualization::gui::MenuImgui:

Classes

struct  Impl
 

Public Member Functions

 MenuImgui ()
 
virtual ~MenuImgui ()
 
void AddItem (const char *name, ItemId item_id=NO_ITEM, KeyName key=KEY_NONE) override
 
void AddMenu (const char *name, std::shared_ptr< MenuBase > submenu) override
 
void AddSeparator () override
 
void InsertItem (int index, const char *name, ItemId item_id=NO_ITEM, KeyName key=KEY_NONE) override
 
void InsertMenu (int index, const char *name, std::shared_ptr< MenuBase > submenu) override
 
void InsertSeparator (int index) override
 
int GetNumberOfItems () const override
 
bool IsEnabled (ItemId item_id) const override
 
void SetEnabled (ItemId item_id, bool enabled) override
 
bool IsChecked (ItemId item_id) const override
 
void SetChecked (ItemId item_id, bool checked) override
 
int CalcHeight (const Theme &theme) const override
 
bool CheckVisibilityChange () const override
 Returns true if submenu visibility changed on last call to DrawMenuBar. More...
 
ItemId DrawMenuBar (const DrawContext &context, bool is_enabled) override
 
ItemId Draw (const DrawContext &context, const char *name, bool is_enabled) override
 
void * GetNativePointer () override
 
- Public Member Functions inherited from cloudViewer::visualization::gui::MenuBase
 MenuBase ()
 
virtual ~MenuBase ()
 

Additional Inherited Members

- Public Types inherited from cloudViewer::visualization::gui::MenuBase
using ItemId = int
 
- Static Public Attributes inherited from cloudViewer::visualization::gui::MenuBase
static constexpr ItemId NO_ITEM = -1
 

Detailed Description

Definition at line 16 of file MenuImgui.h.

Constructor & Destructor Documentation

◆ MenuImgui()

cloudViewer::visualization::gui::MenuImgui::MenuImgui ( )

Definition at line 79 of file MenuImgui.cpp.

◆ ~MenuImgui()

cloudViewer::visualization::gui::MenuImgui::~MenuImgui ( )
virtual

Definition at line 81 of file MenuImgui.cpp.

Member Function Documentation

◆ AddItem()

void cloudViewer::visualization::gui::MenuImgui::AddItem ( const char *  name,
ItemId  item_id = NO_ITEM,
KeyName  key = KEY_NONE 
)
overridevirtual

Implements cloudViewer::visualization::gui::MenuBase.

Definition at line 85 of file MenuImgui.cpp.

References InsertItem(), and name.

◆ AddMenu()

void cloudViewer::visualization::gui::MenuImgui::AddMenu ( const char *  name,
std::shared_ptr< MenuBase submenu 
)
overridevirtual

Implements cloudViewer::visualization::gui::MenuBase.

Definition at line 91 of file MenuImgui.cpp.

References InsertMenu(), and name.

◆ AddSeparator()

void cloudViewer::visualization::gui::MenuImgui::AddSeparator ( )
overridevirtual

Implements cloudViewer::visualization::gui::MenuBase.

Definition at line 95 of file MenuImgui.cpp.

References InsertSeparator().

◆ CalcHeight()

int cloudViewer::visualization::gui::MenuImgui::CalcHeight ( const Theme theme) const
overridevirtual

◆ CheckVisibilityChange()

bool cloudViewer::visualization::gui::MenuImgui::CheckVisibilityChange ( ) const
overridevirtual

Returns true if submenu visibility changed on last call to DrawMenuBar.

Implements cloudViewer::visualization::gui::MenuBase.

Definition at line 174 of file MenuImgui.cpp.

◆ Draw()

MenuBase::ItemId cloudViewer::visualization::gui::MenuImgui::Draw ( const DrawContext context,
const char *  name,
bool  is_enabled 
)
overridevirtual

◆ DrawMenuBar()

MenuBase::ItemId cloudViewer::visualization::gui::MenuImgui::DrawMenuBar ( const DrawContext context,
bool  is_enabled 
)
overridevirtual

◆ GetNativePointer()

void * cloudViewer::visualization::gui::MenuImgui::GetNativePointer ( )
overridevirtual

Implements cloudViewer::visualization::gui::MenuBase.

Definition at line 83 of file MenuImgui.cpp.

◆ GetNumberOfItems()

int cloudViewer::visualization::gui::MenuImgui::GetNumberOfItems ( ) const
overridevirtual

Implements cloudViewer::visualization::gui::MenuBase.

Definition at line 136 of file MenuImgui.cpp.

◆ InsertItem()

void cloudViewer::visualization::gui::MenuImgui::InsertItem ( int  index,
const char *  name,
ItemId  item_id = NO_ITEM,
KeyName  key = KEY_NONE 
)
overridevirtual

Implements cloudViewer::visualization::gui::MenuBase.

Definition at line 97 of file MenuImgui.cpp.

Referenced by AddItem().

◆ InsertMenu()

void cloudViewer::visualization::gui::MenuImgui::InsertMenu ( int  index,
const char *  name,
std::shared_ptr< MenuBase submenu 
)
overridevirtual

Implements cloudViewer::visualization::gui::MenuBase.

Definition at line 111 of file MenuImgui.cpp.

Referenced by AddMenu().

◆ InsertSeparator()

void cloudViewer::visualization::gui::MenuImgui::InsertSeparator ( int  index)
overridevirtual

Implements cloudViewer::visualization::gui::MenuBase.

Definition at line 125 of file MenuImgui.cpp.

Referenced by AddSeparator().

◆ IsChecked()

bool cloudViewer::visualization::gui::MenuImgui::IsChecked ( ItemId  item_id) const
overridevirtual

Implements cloudViewer::visualization::gui::MenuBase.

Definition at line 153 of file MenuImgui.cpp.

◆ IsEnabled()

bool cloudViewer::visualization::gui::MenuImgui::IsEnabled ( ItemId  item_id) const
overridevirtual

Searches the menu hierarchy down from this menu to find the item and returns true if the item is enabled.

Implements cloudViewer::visualization::gui::MenuBase.

Definition at line 138 of file MenuImgui.cpp.

◆ SetChecked()

void cloudViewer::visualization::gui::MenuImgui::SetChecked ( ItemId  item_id,
bool  checked 
)
overridevirtual

Implements cloudViewer::visualization::gui::MenuBase.

Definition at line 161 of file MenuImgui.cpp.

◆ SetEnabled()

void cloudViewer::visualization::gui::MenuImgui::SetEnabled ( ItemId  item_id,
bool  enabled 
)
overridevirtual

Searches the menu hierarchy down from this menu to find the item and set it enabled according to enabled.

Implements cloudViewer::visualization::gui::MenuBase.

Definition at line 146 of file MenuImgui.cpp.


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