YSTest  PreAlpha_b400_20130424
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
ywindow.h
浏览该文件的文档.
1 /*
2  Copyright by FrankHB 2009 - 2013.
3 
4  This file is part of the YSLib project, and may only be used,
5  modified, and distributed under the terms of the YSLib project
6  license, LICENSE.TXT. By continuing to use, modify, or distribute
7  this file you indicate that you have read the license and
8  understand and accept it fully.
9 */
10 
28 #ifndef YSL_INC_UI_ywindow_h_
29 #define YSL_INC_UI_ywindow_h_ 1
30 
31 #include "ypanel.h"
32 
34 
36 
37 
41 class YF_API Window : public Panel
42 {
43 public:
48  explicit
49  Window(const Rect& = {}, const shared_ptr<Drawing::Image>& = {});
50  inline DefDeMoveCtor(Window)
51 
52  void
53  operator+=(IWidget&) override;
54  virtual void
55  operator+=(Window&);
56  template<class _type>
57  inline void
58  operator+=(_type& p)
59  {
60  return operator+=(typename std::conditional<
61  std::is_convertible<_type&, Window&>::value,
62  Window&, IWidget&>::type(p));
63  }
64 
65  bool
66  operator-=(IWidget&) override;
67  virtual bool
68  operator-=(Window&);
69  template<class _type>
70  inline bool
71  operator-=(_type& p)
72  {
73  return operator-=(typename std::conditional<
74  std::is_convertible<_type&, Window&>::value,
75  Window&, IWidget&>::type(p));
76  }
77 
79 
80  void
81  Add(IWidget&, ZOrderType = DefaultZOrder) override;
82 };
83 
85 
86 YSL_END
87 
88 #endif
89