|
YSTest
PreAlpha_b380_20130211
The YSLib Test Project
|
菜单宿主。 More...
#include <menu.h>


Public Types | |
| typedef Menu * | ItemType |
| 菜单组项目类型:记录菜单控件指针。 | |
| typedef map< Menu::ID, ItemType > | MenuMap |
| 菜单组类型。 | |
| typedef MenuMap::value_type | ValueType |
Public Member Functions | |||
| MenuHost (Window &) | |||
| virtual | ~MenuHost () | ||
| 析构。 | |||
| void | operator+= (const ValueType &) | ||
| 向菜单组添加标识和指针指定的菜单。 | |||
| void | operator+= (Menu &) | ||
| 向菜单组添加菜单。 | |||
| bool | operator-= (Menu::ID) | ||
| 从菜单组移除菜单标识指定的菜单。 | |||
| Menu & | operator[] (Menu::ID id) | ||
访问菜单标识指定的菜单。
| |||
| bool | IsShowing (Menu::ID) | ||
| 判断框架窗口中是否正在显示菜单标识指定的菜单。 | |||
| bool | Contains (Menu::ID id) | ||
| 判断菜单组中是否存在菜单标识指定的菜单。 | |||
| bool | Contains (Menu &) | ||
| 判断菜单组中是否存在指定的菜单。 | |||
| void | Clear () | ||
| 清除菜单组。 | |||
| void | Show (Menu::ID, ZOrderType=DefaultMenuZOrder) | ||
| 按指定 Z 顺序显示菜单组中菜单标识指定的菜单。 | |||
| void | Show (Menu &mnu, ZOrderType z=DefaultMenuZOrder) | ||
| 按指定 Z 顺序显示指定菜单 mnu 。 | |||
| void | ShowAll (ZOrderType=DefaultMenuZOrder) | ||
| 按指定 Z 顺序显示菜单组中的所有菜单。 | |||
| void | Hide (Menu::ID) | ||
| 隐藏菜单组中菜单标识指定的菜单。 | |||
| void | Hide (Menu &mnu) | ||
| 隐藏指定菜单 mnu。 | |||
| void | HideAll () | ||
| 隐藏菜单组中的所有菜单。 | |||
| void | HideUnrelated (Menu &mnu, Menu &mnuParent) | ||
| 隐藏从 mnu 起向上层遍历菜单树的过程中不相关的菜单。 | |||
Public Attributes | |
| Window & | Frame |
| 框架窗口。 | |
| map< IWidget *, Menu::ID > | Roots |
| 根菜单关联映射。 | |
Protected Attributes | |
| MenuMap | mMenus |
| 菜单组:存储非空菜单指针。 | |
Private Member Functions | |
| void | ShowRaw (Menu &mnu, ZOrderType=DefaultMenuZOrder) |
| 按指定 Z 顺序显示指定菜单 mnu 。 | |
| void | HideRaw (Menu &mnu) |
| 隐藏指定菜单 mnu。 | |
Private Member Functions inherited from ystdex::noncopyable | |
| noncopyable (const noncopyable &)=delete | |
| 禁止复制构造。 | |
| noncopyable & | operator= (const noncopyable &)=delete |
| 禁止赋值复制。 | |
| noncopyable ()=default | |
protected 构造:默认实现。 | |
| ~noncopyable ()=default | |
protected 析构:默认实现。 | |
| typedef map<Menu::ID, ItemType> YSLib::Components::MenuHost::MenuMap |
| typedef MenuMap::value_type YSLib::Components::MenuHost::ValueType |
|
virtual |
| void MenuHost::Clear | ( | ) |
清除菜单组。
Definition at line 295 of file menu.cpp.
References delete_second_mem, and mMenus.
Referenced by ~MenuHost().

|
inline |
判断菜单组中是否存在菜单标识指定的菜单。
Definition at line 246 of file menu.h.
Referenced by HideUnrelated().

| bool YSLib::Components::MenuHost::Contains | ( | Menu & | ) |
判断菜单组中是否存在指定的菜单。
| void YSLib::Components::MenuHost::Hide | ( | Menu::ID | ) |
隐藏菜单组中菜单标识指定的菜单。
|
inline |
隐藏指定菜单 mnu。
Definition at line 302 of file menu.h.
References Contains(), and YAssert.

| void MenuHost::HideAll | ( | ) |
隐藏菜单组中的所有菜单。
Definition at line 341 of file menu.cpp.
References ystdex::get_value, HideRaw(), and mMenus.
Referenced by HideUnrelated(), and ~MenuHost().


|
private |
隐藏指定菜单 mnu。
Definition at line 353 of file menu.cpp.
References Frame, YSLib::Components::Invalidate(), YSLib::Components::IsVisible(), and YSLib::Components::ReleaseFocus().
Referenced by HideAll(), and HideUnrelated().


| bool MenuHost::IsShowing | ( | Menu::ID | id | ) |
判断框架窗口中是否正在显示菜单标识指定的菜单。
Definition at line 278 of file menu.cpp.
References YSLib::Components::MUIContainer::Contains(), Frame, and mMenus.

| void YSLib::Components::MenuHost::operator+= | ( | const ValueType & | ) |
向菜单组添加标识和指针指定的菜单。
| void YSLib::Components::MenuHost::operator+= | ( | Menu & | ) |
向菜单组添加菜单。
| bool MenuHost::operator-= | ( | Menu::ID | id | ) |
| void YSLib::Components::MenuHost::Show | ( | Menu::ID | , |
| ZOrderType | = DefaultMenuZOrder |
||
| ) |
按指定 Z 顺序显示菜单组中菜单标识指定的菜单。
|
inline |
按指定 Z 顺序显示指定菜单 mnu 。
Definition at line 271 of file menu.h.
References Contains(), and YAssert.

| void MenuHost::ShowAll | ( | ZOrderType | z = DefaultMenuZOrder | ) |
按指定 Z 顺序显示菜单组中的所有菜单。
Definition at line 311 of file menu.cpp.
References ystdex::get_value, mMenus, and ShowRaw().

|
private |
按指定 Z 顺序显示指定菜单 mnu 。
Definition at line 323 of file menu.cpp.
References YSLib::Components::Window::Add(), Frame, and YSLib::Components::RequestFocus().
Referenced by ShowAll().


| Window& YSLib::Components::MenuHost::Frame |
|
protected |
菜单组:存储非空菜单指针。
Definition at line 191 of file menu.h.
Referenced by Clear(), HideAll(), HideUnrelated(), IsShowing(), operator-=(), and ShowAll().