1 /////////////////////////////////////////////////////////////////////////////
2 // Name:        wx/xrc/xh_toolb.h
3 // Purpose:     XML resource handler for wxAuiToolBar
4 // Author:      Rodolphe Suescun
5 // Created:     2013-11-23
6 // Copyright:   (c) 2013 Rodolphe Suescun
7 // Licence:     wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
9 
10 #ifndef _WX_XH_AUITOOLB_H_
11 #define _WX_XH_AUITOOLB_H_
12 
13 #include "wx/aui/auibar.h"
14 #include "wx/menu.h"
15 #include "wx/vector.h"
16 #include "wx/xrc/xmlres.h"
17 
18 #if wxUSE_XRC && wxUSE_AUI
19 
20 class WXDLLIMPEXP_FWD_AUI wxAuiToolBar;
21 
22 class WXDLLIMPEXP_AUI wxAuiToolBarXmlHandler : public wxXmlResourceHandler
23 {
24 public:
25     wxAuiToolBarXmlHandler();
26     virtual wxObject *DoCreateResource() wxOVERRIDE;
27     virtual bool CanHandle(wxXmlNode *node) wxOVERRIDE;
28 
29 private:
30     bool m_isInside;
31     wxAuiToolBar *m_toolbar;
32     wxSize m_toolSize;
33 
34     class MenuHandler : public wxEvtHandler
35     {
36     public:
37         void OnDropDown(wxAuiToolBarEvent& event);
38         unsigned RegisterMenu(wxAuiToolBar *toobar, int id, wxMenu *menu);
39 
40     private:
41         wxVector<wxMenu*> m_menus;
42     };
43 
44     MenuHandler m_menuHandler;
45 
46     wxDECLARE_DYNAMIC_CLASS(wxAuiToolBarXmlHandler);
47 };
48 
49 #endif // wxUSE_XRC && wxUSE_AUI
50 
51 #endif // _WX_XH_AUITOOLB_H_
52