libcdos-fw
CFContainer.h
1 #ifndef __CF_CONTAINER_H__
2 #define __CF_CONTAINER_H__
3 
4 #include <Gui/CFWidget.h>
5 #include <Core/CFTypes.h>
6 
7 CF_NAMESPACE_BEGIN
8 
9 class CFContainerPriv;
10 class CFContainer : public CFWidget {
11  friend class CFContainerPriv;
12 
13 public:
14  typedef sigc::slot<void, CFWidget*> ForeachSlot;
15 
16  virtual ~CFContainer();
17 
18  virtual void add(CFWidget& widget);
19  virtual void remove(CFWidget& widget);
20 
21  void foreach(ForeachSlot slot);
22  void forall(ForeachSlot slot);
23 
24  bool isContainer();
25 
26  virtual void addCssStylePath(const Glib::ustring& path, CFUInt priority);
27  virtual void addCssStyleData(const Glib::ustring& data, CFUInt priority);
28 
29 protected:
30  CFContainer();
31 
32  void onApplyCssPath(CFWidget* widget);
33  void onApplyCssData(CFWidget* widget);
34 
35 private:
36  sigc::signal<void, CFWidget*> signalForeach();
37 
38 private:
39  sigc::signal<void, CFWidget*> m_foreachSignal;
40  CFContainerPriv* m_priv;
41 
42  Glib::ustring m_cssStylePath;
43  Glib::ustring m_cssStyleData;
44  CFUInt m_cssStylePriority;
45 };
46 
47 CF_NAMESPACE_END
48 
49 #endif // __CF_CONTAINER_H__
Definition: CFContainer.h:10
所有可视控件的基类,抽象类。
Definition: CFWidget.h:25
bool isContainer()
判断控件是否为容器。
结构与枚举类型定义.