Harlinn.Windows 0.1
Loading...
Searching...
No Matches
Harlinn::Windows::MenuItems Class Reference

#include <HWMenu.h>

Collaboration diagram for Harlinn::Windows::MenuItems:
[legend]

Public Types

typedef std::vector< std::unique_ptr< MenuItem > > vector
 

Public Member Functions

 MenuItems (Menu *owner)
 
virtual ~MenuItems ()
 
 MenuItems (const MenuItems &other)=delete
 
 MenuItems (MenuItems &&other)=delete
 
MenuItemsoperator= (const MenuItems &other)=delete
 
MenuItemsoperator= (MenuItems &&other)=delete
 
constexpr MenuMenu () const noexcept
 
void Add (std::unique_ptr< MenuItem > &&menuItem)
 
void Remove (const MenuItem *menuItem)
 
TextMenuItemAddMenuItem (const wchar_t *text)
 
template<typename Func >
requires std::is_invocable_v<Func, MenuItem*>
TextMenuItemAddMenuItem (const wchar_t *text, Func &&func)
 
TextMenuItemAddMenuItem (const WideString &text)
 
SeparatorMenuItemAddSeparator ()
 
SubMenuItemAddSubMenu (const wchar_t *text)
 
SubMenuItemAddSubMenu (const WideString &text)
 
int IndexOf (const MenuItem *menuItem) const
 
const MenuItemItem (int position) const
 
MenuItemItem (int position)
 

Private Attributes

Menuowner_
 
vector items_
 

Friends

class Menu
 

Member Typedef Documentation

◆ vector

std::vector< std::unique_ptr<MenuItem> > Harlinn::Windows::MenuItems::vector

Constructor & Destructor Documentation

◆ MenuItems() [1/3]

Harlinn::Windows::MenuItems::MenuItems ( Menu * owner)
inline

◆ ~MenuItems()

virtual Harlinn::Windows::MenuItems::~MenuItems ( )
inlinevirtual

◆ MenuItems() [2/3]

Harlinn::Windows::MenuItems::MenuItems ( const MenuItems & other)
delete

◆ MenuItems() [3/3]

Harlinn::Windows::MenuItems::MenuItems ( MenuItems && other)
delete

Member Function Documentation

◆ Add()

void Harlinn::Windows::MenuItems::Add ( std::unique_ptr< MenuItem > && menuItem)
inline

◆ AddMenuItem() [1/3]

TextMenuItem * Harlinn::Windows::MenuItems::AddMenuItem ( const wchar_t * text)
inline

◆ AddMenuItem() [2/3]

template<typename Func >
requires std::is_invocable_v<Func, MenuItem*>
TextMenuItem * Harlinn::Windows::MenuItems::AddMenuItem ( const wchar_t * text,
Func && func )
inline

◆ AddMenuItem() [3/3]

TextMenuItem * Harlinn::Windows::MenuItems::AddMenuItem ( const WideString & text)
inline

◆ AddSeparator()

SeparatorMenuItem * Harlinn::Windows::MenuItems::AddSeparator ( )
inline

◆ AddSubMenu() [1/2]

SubMenuItem * Harlinn::Windows::MenuItems::AddSubMenu ( const wchar_t * text)
inline

◆ AddSubMenu() [2/2]

SubMenuItem * Harlinn::Windows::MenuItems::AddSubMenu ( const WideString & text)
inline

◆ IndexOf()

int Harlinn::Windows::MenuItems::IndexOf ( const MenuItem * menuItem) const
inline

◆ Item() [1/2]

MenuItem * Harlinn::Windows::MenuItems::Item ( int position)
inline

◆ Item() [2/2]

const MenuItem * Harlinn::Windows::MenuItems::Item ( int position) const
inline

◆ Menu()

Menu * Harlinn::Windows::MenuItems::Menu ( ) const
inlineconstexprnoexcept

◆ operator=() [1/2]

MenuItems & Harlinn::Windows::MenuItems::operator= ( const MenuItems & other)
delete

◆ operator=() [2/2]

MenuItems & Harlinn::Windows::MenuItems::operator= ( MenuItems && other)
delete

◆ Remove()

void Harlinn::Windows::MenuItems::Remove ( const MenuItem * menuItem)
inline

Friends And Related Symbol Documentation

◆ Menu

friend class Menu
friend

Member Data Documentation

◆ items_

vector Harlinn::Windows::MenuItems::items_
private

◆ owner_

Menu* Harlinn::Windows::MenuItems::owner_
private

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