#ifndef _WX_MENU_H_
#define _WX_MENU_H_
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "menu.h"
#endif
#include "wx/accel.h"
#include "wx/dynarray.h"
- WX_DEFINE_EXPORTED_ARRAY(wxAcceleratorEntry *, wxAcceleratorArray);
+ WX_DEFINE_EXPORTED_ARRAY_NO_PTR(wxAcceleratorEntry *, wxAcceleratorArray);
#endif // wxUSE_ACCEL
class WXDLLEXPORT wxFrame;
+#if defined(__WXWINCE__) && wxUSE_TOOLBAR
+class WXDLLEXPORT wxToolBar;
+#endif
+
+#include "wx/arrstr.h"
+
// ----------------------------------------------------------------------------
// Menu
// ----------------------------------------------------------------------------
virtual void SetTitle(const wxString& title);
+ // deprecated functions
+#if wxUSE_MENU_CALLBACK
+ wxMenu(const wxString& title, const wxFunction func)
+ : wxMenuBase(title)
+ {
+ Init();
+
+ Callback(func);
+ }
+#endif // wxUSE_MENU_CALLBACK
+
// implementation only from now on
// -------------------------------
wxAcceleratorArray m_accels;
#endif // wxUSE_ACCEL
- DECLARE_DYNAMIC_CLASS(wxMenu)
+ DECLARE_DYNAMIC_CLASS_NO_COPY(wxMenu)
};
// ----------------------------------------------------------------------------
virtual void SetLabelTop( size_t pos, const wxString& label );
virtual wxString GetLabelTop( size_t pos ) const;
- // compatibility: these functions are deprecated
-#if WXWIN_COMPATIBILITY
- void SetEventHandler(wxEvtHandler *handler) { m_eventHandler = handler; }
- wxEvtHandler *GetEventHandler() { return m_eventHandler; }
-
- bool Enabled(int id) const { return IsEnabled(id); }
- bool Checked(int id) const { return IsChecked(id); }
-#endif // WXWIN_COMPATIBILITY
-
// implementation from now on
WXHMENU Create();
virtual void Detach();
virtual void Attach(wxFrame *frame);
+#if defined(__WXWINCE__) && wxUSE_TOOLBAR
+ // Under WinCE, a menubar is owned by the frame's toolbar
+ void SetToolBar(wxToolBar* toolBar) { m_toolBar = toolBar; }
+ wxToolBar* GetToolBar() const { return m_toolBar; }
+#endif
+
#if wxUSE_ACCEL
// get the accel table for all the menus
const wxAcceleratorTable& GetAccelTable() const { return m_accelTable; }
// call this function to update it (m_menuBarFrame should be !NULL)
void Refresh();
+ // To avoid compile warning
+ void Refresh( bool eraseBackground,
+ const wxRect *rect = (const wxRect *) NULL ) { wxWindow::Refresh(eraseBackground, rect); }
+
protected:
// common part of all ctors
void Init();
-#if WXWIN_COMPATIBILITY
- wxEvtHandler *m_eventHandler;
-#endif // WXWIN_COMPATIBILITY
-
wxArrayString m_titles;
WXHMENU m_hMenu;
wxAcceleratorTable m_accelTable;
#endif // wxUSE_ACCEL
+#if defined(__WXWINCE__) && wxUSE_TOOLBAR
+ wxToolBar* m_toolBar;
+#endif
+
private:
- DECLARE_DYNAMIC_CLASS(wxMenuBar)
+ DECLARE_DYNAMIC_CLASS_NO_COPY(wxMenuBar)
};
#endif // _WX_MENU_H_