|
YSTest
PreAlpha_b500_20140530
The YSLib Test Project
|
菜单宿主。 更多...
#include <menu.h>


Public 类型 | |
| using | ItemType = Menu * |
| 菜单组项目类型:记录菜单控件指针。 更多... | |
| using | MenuMap = map< Menu::ID, ItemType > |
| 菜单组类型。 更多... | |
| using | ValueType = MenuMap::value_type |
Public 成员函数 | |
| MenuHost (Window &) | |
| virtual | ~MenuHost () |
| 析构。 更多... | |
| void | operator+= (const ValueType &) |
| 向菜单组添加标识和指针指定的菜单。 更多... | |
| void | operator+= (Menu &) |
| 向菜单组添加菜单。 更多... | |
| bool | operator-= (Menu::ID) |
| 从菜单组移除菜单标识指定的菜单。 更多... | |
| void | Show (Menu::ID, ZOrderType=DefaultMenuZOrder) |
| 按指定 Z 顺序显示菜单组中菜单标识指定的菜单。 更多... | |
| PDefH (void, Show, Menu &mnu, ZOrderType z=DefaultMenuZOrder) ImplExpr(YAssert(Contains(mnu) | |
| 按指定 Z 顺序显示指定菜单 mnu 。 更多... | |
| Menu is not | ShowRaw (mnu, z)) void ShowAll(ZOrderType |
| 按指定 Z 顺序显示菜单组中的所有菜单。 更多... | |
| void | Hide (Menu::ID) |
| 隐藏菜单组中菜单标识指定的菜单。 更多... | |
| PDefH (void, Hide, Menu &mnu) ImplExpr(YAssert(Contains(mnu) | |
| 隐藏指定菜单 mnu。 更多... | |
| Menu is not | HideRaw (mnu)) void HideAll() |
| 隐藏菜单组中的所有菜单。 更多... | |
| void | HideUnrelated (Menu &mnu, Menu &mnuParent) |
| 隐藏从 mnu 起向上层遍历菜单树的过程中不相关的菜单。 更多... | |
Public 属性 | |||
| Window & | Frame | ||
| 框架窗口。 更多... | |||
| map< IWidget *, Menu::ID > | Roots | ||
| 根菜单关联映射。 更多... | |||
| PDefHOp(Menu &,[], Menu::ID id) ImplRet(*mMenus.at(id)) bool IsShowing(Menu PDefH(bool, Contains, Menu::ID id) ImplRet(ystdex voi | Clear )() | ||
访问菜单标识指定的菜单。
| |||
| Menu is not | contained | ||
Protected 属性 | |
| MenuMap | mMenus |
| 菜单组:存储非空菜单指针。 更多... | |
Private 成员函数 | |
| void | ShowRaw (Menu &mnu, ZOrderType=DefaultMenuZOrder) |
| 按指定 Z 顺序显示指定菜单 mnu 。 更多... | |
| void | HideRaw (Menu &mnu) |
| 隐藏指定菜单 mnu。 更多... | |
Private 成员函数 继承自 ystdex::noncopyable | |
| noncopyable (const noncopyable &)=delete | |
| 禁止复制构造。 更多... | |
| noncopyable & | operator= (const noncopyable &)=delete |
| 禁止赋值复制。 更多... | |
| noncopyable ()=default | |
protected 构造:默认实现。 更多... | |
| ~noncopyable ()=default | |
protected 析构:默认实现。 更多... | |
| using YSLib::UI::MenuHost::ItemType = Menu* |
| using YSLib::UI::MenuHost::MenuMap = map<Menu::ID, ItemType> |
| using YSLib::UI::MenuHost::ValueType = MenuMap::value_type |
|
virtual |
| void YSLib::UI::MenuHost::Hide | ( | Menu::ID | id | ) |
隐藏菜单组中菜单标识指定的菜单。


| Menu is not YSLib::UI::MenuHost::HideRaw | ( | mnu | ) |
|
private |
隐藏从 mnu 起向上层遍历菜单树的过程中不相关的菜单。
!Contains(mnuParent) 或 mnuParent 不是 mnu 的直接或间接父菜单,则隐藏所有菜单。 参考 YSLib::UI::Contains, HideRaw() , 以及 mMenus.


| void YSLib::UI::MenuHost::operator+= | ( | const ValueType & | val | ) |
| void YSLib::UI::MenuHost::operator+= | ( | Menu & | mnu | ) |
向菜单组添加菜单。
参考 YSLib::UI::Menu::id, mMenus , 以及 YSLib::UI::Menu::pHost.
| bool YSLib::UI::MenuHost::operator-= | ( | Menu::ID | id | ) |
| YSLib::UI::MenuHost::PDefH | ( | void | , |
| Show | , | ||
| Menu & | mnu, | ||
| ZOrderType | z = DefaultMenuZOrder |
||
| ) |
按指定 Z 顺序显示指定菜单 mnu 。
| void YSLib::UI::MenuHost::Show | ( | Menu::ID | id, |
| ZOrderType | z = DefaultMenuZOrder |
||
| ) |
按指定 Z 顺序显示菜单组中菜单标识指定的菜单。
参考自 YSLib::UI::Menu::Show() , 以及 YReader::ShlTextReader::ShowMenu().


|
private |
| void YSLib::UI::MenuHost::Clear |
访问菜单标识指定的菜单。
| std::out_of_range | 异常中立:由 at 抛出。 |
判断框架窗口中是否正在显示菜单标识指定的菜单。
判断菜单组中是否存在菜单标识指定的菜单。
判断菜单组中是否存在指定的菜单。
清除菜单组。
参考自 ~MenuHost().
|
protected |
菜单组:存储非空菜单指针。
参考自 Hide(), HideUnrelated(), operator+=(), operator-=() , 以及 Show().
| map<IWidget*, Menu::ID> YSLib::UI::MenuHost::Roots |