DECLARE_DYNAMIC_CLASS(wxMenu)
public:
- // ctor & dtor
- wxMenu(const wxString& title = wxEmptyString, const wxFunction func = NULL);
+ // ctors & dtor
+#ifdef WXWIN_COMPATIBILITY
+ wxMenu(const wxString& title,
+ const wxFunction func)
+ {
+ Init(title, func);
+ }
+#endif
+
+ wxMenu(const wxString& title = wxEmptyString, long WXUNUSED(style) = 0)
+ {
+ Init(title);
+ }
+
virtual ~wxMenu();
// construct menu
void Attach(wxMenuBar *menubar);
void Detach();
+#if wxUSE_ACCEL
size_t GetAccelCount() const { return m_accelKeyCodes.GetCount(); }
size_t CopyAccels(wxAcceleratorEntry *accels) const;
+#endif // wxUSE_ACCEL
#ifdef WXWIN_COMPATIBILITY
void Callback(const wxFunction func) { m_callback = func; }
#endif // WXWIN_COMPATIBILITY
private:
+ // common part of all ctors
+ void Init(const wxString& title
+#ifdef WXWIN_COMPATIBILITY
+ , const wxFunction func = NULL
+#endif
+ );
+
bool m_doBreak;
// This is used when m_hMenu is NULL because we don't want to
wxWindow *m_pInvokingWindow;
void* m_clientData;
+#if wxUSE_ACCEL
// the accelerators data
wxArrayInt m_accelKeyCodes, m_accelFlags, m_accelIds;
+#endif // wxUSE_ACCEL
};
// ----------------------------------------------------------------------------
// notifications: return FALSE to prevent the menu from being
// appended/deleted
- virtual bool OnAppend(wxMenu *menu, const char *title);
+ virtual bool OnAppend(wxMenu *menu, const wxChar *title);
virtual bool OnDelete(wxMenu *menu, int index);
// item search
// attach to a frame
void Attach(wxFrame *frame);
+#if wxUSE_ACCEL
// get the accel table for the menus
const wxAcceleratorTable& GetAccelTable() const { return m_accelTable; }
+#endif // wxUSE_ACCEL
+
// get the menu handle
WXHMENU GetHMenu() const { return m_hMenu; }
wxFrame *m_menuBarFrame;
WXHMENU m_hMenu;
+#if wxUSE_ACCEL
// the accelerator table for all accelerators in all our menus
wxAcceleratorTable m_accelTable;
+#endif // wxUSE_ACCEL
};
#endif // _WX_MENU_H_