libcdos-fw
CFMenuShell.h
1 #ifndef __CF_MENUSHELL_H__
2 #define __CF_MENUSHELL_H__
3 
4 #include <Gui/CFContainer.h>
5 #include <giomm.h>
6 
7 CF_NAMESPACE_BEGIN
8 
9 class CFMenuItem;
10 class CFWindow;
11 class CFMenuShellPrivate;
12 class CFMenuShell : public CFContainer {
13 public:
14  ~CFMenuShell();
15 
16  void append(CFMenuItem& child);
17 
18  void prepend(CFMenuItem& child);
19 
20  void insert(CFMenuItem& child, int position);
21 
22  void selectItem(CFMenuItem& menu_item);
23 
24  void deselect();
25 
26  void activateItem(CFMenuItem& menu_item, bool force_deactivate = false);
27 
28  void selectFirst(bool search_sensitive = true);
29 
30  void deactivate();
31 
32  void cancel();
33 
34  void accelerate(CFWindow& window);
35 
36  void accelerate(CFWidget& parent);
37 
38  bool getTakeFocus();
39 
40  void setTakeFocus(bool take_focus = true);
41 
42  CFWidget* getSelectedItem();
43 
44  CFWidget* getParentShell();
45 
46  void bindModel(const Glib::RefPtr<Gio::MenuModel>& model,
47  const Glib::ustring& action_namespace,
48  bool with_separators);
49 
50  void bindModel(const Glib::RefPtr<Gio::MenuModel>& model,
51  bool with_separators);
52 
53 public:
54  sigc::signal<void> signalDeactivate();
55 
56  sigc::signal<void> signalSelectionDone();
57 
58  sigc::signal<bool, int> signalMoveSelected();
59 
60  sigc::signal<void, CFWidget*, int> signalInsert();
61 
62 protected:
63  virtual void onRealObjectInit();
64  virtual void onRealObjectFinalize();
65 
66  virtual void onDeactivate();
67 
68  virtual void onSelectionDone();
69 
70  virtual bool onMoveSelected(int distance);
71 
72  CFMenuShell();
73 
74 private:
75  sigc::signal<void> m_deactivateSignal;
76  sigc::signal<void> m_selectionDoneSignal;
77  sigc::signal<bool, int> m_moveSelectedSignal;
78  sigc::signal<void, CFWidget*, int> m_insertSignal;
79  CFMenuShellPrivate* m_priv;
80 };
81 
82 CF_NAMESPACE_END
83 
84 #endif // __CF_MENUSHELL_H__
Definition: CFMenuShell.h:12
Definition: CFContainer.h:10
所有可视控件的基类,抽象类。
Definition: CFWidget.h:25
virtual void onRealObjectInit()
对象绑定后进行初始化的回调函数。
Definition: CFWindow.h:10
Definition: CFMenuItem.h:9
virtual void onRealObjectFinalize()
对象解除绑定前的回调函数。