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。 更多... | |
![]() | |
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 |