#include "wx/accel.h"
#include "wx/dynarray.h"
- WX_DEFINE_EXPORTED_ARRAY_NO_PTR(wxAcceleratorEntry *, wxAcceleratorArray);
+ WX_DEFINE_EXPORTED_ARRAY_PTR(wxAcceleratorEntry *, wxAcceleratorArray);
#endif // wxUSE_ACCEL
class WXDLLEXPORT wxFrame;
class WXDLLEXPORT wxToolBar;
#endif
+
+// Not using a combined wxToolBar/wxMenuBar? then use
+// a commandbar in WinCE .NET to implement the
+// menubar, since there is no ::SetMenu function.
+#if defined(__WXWINCE__)
+# if ((_WIN32_WCE >= 400) && !defined(__POCKETPC__) && !defined(__SMARTPHONE__)) || \
+ defined(__HANDHELDPC__)
+# define WINCE_WITH_COMMANDBAR
+# else
+# define WINCE_WITHOUT_COMMANDBAR
+# endif
+#endif
+
+
#include "wx/arrstr.h"
// ----------------------------------------------------------------------------
virtual ~wxMenu();
// implement base class virtuals
- virtual bool DoAppend(wxMenuItem *item);
- virtual bool DoInsert(size_t pos, wxMenuItem *item);
- virtual wxMenuItem *DoRemove(wxMenuItem *item);
+ virtual wxMenuItem* DoAppend(wxMenuItem *item);
+ virtual wxMenuItem* DoInsert(size_t pos, wxMenuItem *item);
+ virtual wxMenuItem* DoRemove(wxMenuItem *item);
virtual void Break();
wxToolBar* GetToolBar() const { return m_toolBar; }
#endif
+#ifdef WINCE_WITH_COMMANDBAR
+ WXHWND GetCommandBar() const { return m_commandBar; }
+ bool AddAdornments(long style);
+#endif
+
#if wxUSE_ACCEL
// get the accel table for all the menus
const wxAcceleratorTable& GetAccelTable() const { return m_accelTable; }
WXHMENU m_hMenu;
+ // Return the MSW position for a wxMenu which is sometimes different from
+ // the wxWidgets position.
+ int MSWPositionForWxMenu(wxMenu *menu, int wxpos);
#if wxUSE_ACCEL
// the accelerator table for all accelerators in all our menus
wxAcceleratorTable m_accelTable;
wxToolBar* m_toolBar;
#endif
+#ifdef WINCE_WITH_COMMANDBAR
+ WXHWND m_commandBar;
+ bool m_adornmentsAdded;
+#endif
+
private:
DECLARE_DYNAMIC_CLASS_NO_COPY(wxMenuBar)
};