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

#include <HWMenu.h>

Inheritance diagram for Harlinn::Windows::SubMenuItem:
[legend]
Collaboration diagram for Harlinn::Windows::SubMenuItem:
[legend]

Public Types

typedef MenuItem Base
 

Public Member Functions

 SubMenuItem (Menu *parentMenu, const wchar_t *text)
 
 SubMenuItem (Menu *parentMenu, const WideString &text)
 
MenuMenu () const
 
const MenuItemsItems () const
 
MenuItemsItems ()
 
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)
 
- Public Member Functions inherited from Harlinn::Windows::MenuItem
 MenuItem (Menu *parentMenu)
 
 MenuItem (const MenuItem &other)=delete
 
 MenuItem (MenuItem &&other)=delete
 
MenuItemoperator= (const MenuItem &other)=delete
 
MenuItemoperator= (MenuItem &&other)=delete
 
virtual ~MenuItem ()=default
 
MenuItemsParentMenuItems () const
 
MenuParentMenu () const
 
int IndexOf () const
 
BitmapHandle Bitmap () const noexcept
 
MenuItemSetBitmap (const BitmapHandle &bitmap)
 
BitmapHandle CheckedBitmap () const noexcept
 
MenuItemSetCheckedBitmap (const BitmapHandle &checkedBitmap)
 
BitmapHandle UncheckedBitmap () const noexcept
 
MenuItemSetUncheckedBitmap (const BitmapHandle &uncheckedBitmap)
 
constexpr bool IsChecked () const noexcept
 
MenuItemSetChecked (bool value=true)
 
constexpr bool IsDefault () const noexcept
 
MenuItemSetDefault (bool value=true)
 
constexpr bool IsDisabled () const noexcept
 
MenuItemSetDisabled (bool value=true)
 
constexpr bool IsEnabled () const noexcept
 
MenuItemSetEnabled (bool value=true)
 
constexpr bool IsGrayed () const noexcept
 
MenuItemSetGrayed (bool value=true)
 
constexpr bool IsHighlighted () const noexcept
 
MenuItemSetHighlighted (bool value=true)
 

Protected Member Functions

virtual void InitializeMenuItemInfo (MENUITEMINFOW &info) const
 
- Protected Member Functions inherited from Harlinn::Windows::MenuItem
virtual HW_EXPORT void DoOnAdd () const
 
virtual HW_EXPORT void DoOnRemove () const
 
virtual HW_EXPORT void UpdateMenuItem () const
 
virtual HW_EXPORT void DoOnMenuCommand (Message &message)
 
virtual HW_EXPORT void DoOnMeasureItem (MEASUREITEMSTRUCT &measureItemStruct)
 
virtual HW_EXPORT void DoOnDrawItem (DRAWITEMSTRUCT &drawItemStruct)
 

Private Attributes

WideString text_
 
std::unique_ptr< Menumenu_
 

Additional Inherited Members

- Public Attributes inherited from Harlinn::Windows::MenuItem
boost::signals2::signal< void(MenuItem *sender)> OnClick
 
boost::signals2::signal< void(MenuItem *sender, MEASUREITEMSTRUCT &measureItemStruct)> OnMeasureItem
 
boost::signals2::signal< void(MenuItem *sender, DRAWITEMSTRUCT &drawItemStruct)> OnDrawItem
 

Member Typedef Documentation

◆ Base

Constructor & Destructor Documentation

◆ SubMenuItem() [1/2]

Harlinn::Windows::SubMenuItem::SubMenuItem ( Menu * parentMenu,
const wchar_t * text )
inlineexplicit

◆ SubMenuItem() [2/2]

Harlinn::Windows::SubMenuItem::SubMenuItem ( Menu * parentMenu,
const WideString & text )
inlineexplicit

Member Function Documentation

◆ Add()

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

◆ AddMenuItem() [1/3]

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

◆ AddMenuItem() [2/3]

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

◆ AddMenuItem() [3/3]

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

◆ AddSeparator()

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

◆ AddSubMenu() [1/2]

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

◆ AddSubMenu() [2/2]

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

◆ InitializeMenuItemInfo()

void Harlinn::Windows::SubMenuItem::InitializeMenuItemInfo ( MENUITEMINFOW & info) const
inlineprotectedvirtual

Reimplemented from Harlinn::Windows::MenuItem.

◆ Items() [1/2]

MenuItems & Harlinn::Windows::SubMenuItem::Items ( )
inline

◆ Items() [2/2]

const MenuItems & Harlinn::Windows::SubMenuItem::Items ( ) const
inline

◆ Menu()

Menu & Harlinn::Windows::SubMenuItem::Menu ( ) const
inline

◆ Remove()

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

Member Data Documentation

◆ menu_

std::unique_ptr<Menu> Harlinn::Windows::SubMenuItem::menu_
mutableprivate

◆ text_

WideString Harlinn::Windows::SubMenuItem::text_
private

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