BIMHome v1.0.0
BIMHome接口文档说明
IMenuItem.h
浏览该文件的文档.
1/************************************************************************
2* @file IMenuItem.h
3*
4* @brief 菜单按钮类
5*
6* @details 菜单按钮类
7*
8* @author sunpeng
9*
10* @version 1.0
11*
12* @date 2014-9-11
13*
14* @license 北京华科软科技有限公司
15*
16*************************************************************************/
17
18#ifndef BIMHOMEGUI_GUI_IMENUITEM_H
19#define BIMHOMEGUI_GUI_IMENUITEM_H
20
21#include <BHGlobal.h>
22#include <vector>
23#include <string>
24#include <memory>
25#include <QList>
26
27namespace Gui
28{
29 class GuiExport IMenuItem
30 {
31 public:
37 static IMenuItem* create();
38
45 static IMenuItem* create(IMenuItem* item);
46
52 virtual void setCommand(const std::string& name) = 0;
53
59 virtual std::string command() const = 0;
60
66 virtual bool hasItems() const = 0;
67
74 virtual IMenuItem* findItem(const std::string& name) = 0;
75
82 virtual IMenuItem* findParentOf(const std::string& name) = 0;
83
89 virtual IMenuItem* copy() const = 0;
90
96 virtual unsigned int count() const = 0;
97
103 virtual void appendItem(IMenuItem* item) = 0;
104
112 virtual bool insertItem(IMenuItem* before, IMenuItem* item) = 0;
113
120 virtual IMenuItem* afterItem(IMenuItem* item) const = 0;
121
127 virtual void removeItem(IMenuItem* item) = 0;
128
133 virtual void clear() = 0;
134
141 virtual IMenuItem& operator << (IMenuItem* item) = 0;
142
149 virtual IMenuItem& operator << (const std::string& command) = 0;
150
156 virtual QList<IMenuItem*> getItemList() = 0;
157
158 };
159
160}
161
162#endif // GUI_IMENUITEM_H
std::ostream & operator<<(std::ostream &target, const StrX &toDump)
重载输出流运算符,用于输出 StrX 对象
Definition XMLTools.h:112
static IMenuItem * create()
创建一个新的菜单按钮对象
virtual IMenuItem * findParentOf(const std::string &name)=0
在当前菜单项及其子项中查找具有指定名称的菜单项的父项
virtual IMenuItem * afterItem(IMenuItem *item) const =0
返回指定子菜单项之后的下一个子菜单项
virtual bool insertItem(IMenuItem *before, IMenuItem *item)=0
在指定的子菜单项之前插入一个新的子菜单项
virtual void clear()=0
清除 _items 容器中的所有子菜单项
virtual void setCommand(const std::string &name)=0
设置菜单项的命令名称
virtual void removeItem(IMenuItem *item)=0
从 _items 容器中移除指定的子菜单项
virtual bool hasItems() const =0
检查菜单项是否包含子项
virtual QList< IMenuItem * > getItemList()=0
获取所有子菜单项列表
virtual std::string command() const =0
获取菜单项的命令名称
virtual IMenuItem * copy() const =0
创建当前 IMenuItem 对象的一个深拷贝
static IMenuItem * create(IMenuItem *item)
根据给定的 IMenuItem* 指针创建一个新的菜单按钮对象
virtual void appendItem(IMenuItem *item)=0
向当前菜单项的子项列表中添加一个新的子菜单项
virtual IMenuItem * findItem(const std::string &name)=0
查找具有指定名称的菜单项
virtual unsigned int count() const =0
返回当前菜单项中子项的数量
Definition IMenuItem.h:30
Definition GuiDocObserverDelegate.h:33