#ifndef _WX_BARWCE_H_
#define _WX_BARWCE_H_
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma interface "tbarwce.h"
-#endif
-
#if wxUSE_TOOLBAR
#include "wx/dynarray.h"
-class WXDLLEXPORT wxToolBar : public wxToolBarBase
+// Smartphones don't have toolbars, so use a dummy class
+#ifdef __SMARTPHONE__
+
+class WXDLLIMPEXP_CORE wxToolBar : public wxToolBarBase
{
public:
// ctors and dtor
- wxToolBar() { Init(); }
+ wxToolBar() { }
wxToolBar(wxWindow *parent,
wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
- long style = wxNO_BORDER | wxTB_HORIZONTAL,
+ long style = wxTB_HORIZONTAL,
+ const wxString& name = wxToolBarNameStr)
+ {
+ Create(parent, id, pos, size, style, name);
+ }
+
+ bool Create(wxWindow *parent,
+ wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxTB_HORIZONTAL,
+ const wxString& name = wxToolBarNameStr);
+
+ // override/implement base class virtuals
+ virtual wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y) const;
+ virtual bool Realize() { return true; }
+
+protected:
+ // implement base class pure virtuals
+ virtual bool DoInsertTool(size_t pos, wxToolBarToolBase *tool);
+ virtual bool DoDeleteTool(size_t pos, wxToolBarToolBase *tool);
+
+ virtual void DoEnableTool(wxToolBarToolBase *tool, bool enable);
+ virtual void DoToggleTool(wxToolBarToolBase *tool, bool toggle);
+ virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle);
+
+ virtual wxToolBarToolBase *CreateTool(int id,
+ const wxString& label,
+ const wxBitmap& bmpNormal,
+ const wxBitmap& bmpDisabled,
+ wxItemKind kind,
+ wxObject *clientData,
+ const wxString& shortHelp,
+ const wxString& longHelp);
+ virtual wxToolBarToolBase *CreateTool(wxControl *control,
+ const wxString& label);
+
+private:
+ DECLARE_EVENT_TABLE()
+ DECLARE_DYNAMIC_CLASS(wxToolBar)
+ wxDECLARE_NO_COPY_CLASS(wxToolBar);
+};
+
+#else
+
+// For __POCKETPC__
+
+#include "wx/msw/toolbar.h"
+
+class WXDLLIMPEXP_CORE wxToolMenuBar : public wxToolBar
+{
+public:
+ // ctors and dtor
+ wxToolMenuBar() { Init(); }
+
+ wxToolMenuBar(wxWindow *parent,
+ wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxTB_HORIZONTAL,
const wxString& name = wxToolBarNameStr,
wxMenuBar* menuBar = NULL)
{
wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
- long style = wxNO_BORDER | wxTB_HORIZONTAL,
+ long style = wxTB_HORIZONTAL,
const wxString& name = wxToolBarNameStr,
wxMenuBar* menuBar = NULL);
- virtual ~wxToolBar();
+ virtual ~wxToolMenuBar();
// override/implement base class virtuals
- virtual wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y) const;
-
virtual bool Realize();
- virtual void SetToolBitmapSize(const wxSize& size);
- virtual wxSize GetToolSize() const;
-
- virtual void SetRows(int nRows);
-
// implementation only from now on
// -------------------------------
- virtual void SetWindowStyleFlag(long style);
+ // Override in order to bypass wxToolBar's overridden function
+ virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
virtual bool MSWCommand(WXUINT param, WXWORD id);
- virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);
-
- void OnMouseEvent(wxMouseEvent& event);
- void OnSysColourChanged(wxSysColourChangedEvent& event);
-
- void SetFocus() {}
-
- static WXHBITMAP MapBitmap(WXHBITMAP bitmap, int width, int height);
// Return HMENU for the menu associated with the commandbar
WXHMENU GetHMenu();
virtual bool DoInsertTool(size_t pos, wxToolBarToolBase *tool);
virtual bool DoDeleteTool(size_t pos, wxToolBarToolBase *tool);
- virtual void DoEnableTool(wxToolBarToolBase *tool, bool enable);
- virtual void DoToggleTool(wxToolBarToolBase *tool, bool toggle);
- virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle);
-
virtual wxToolBarToolBase *CreateTool(int id,
const wxString& label,
const wxBitmap& bmpNormal,
wxObject *clientData,
const wxString& shortHelp,
const wxString& longHelp);
- virtual wxToolBarToolBase *CreateTool(wxControl *control);
-
- // override WndProc mainly to process WM_SIZE
- virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
-
- // return the appropriate size and flags for the toolbar control
- virtual wxSize DoGetBestSize() const;
- virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
-
- // handlers for various events
- void HandleMouseMove(WXWPARAM wParam, WXLPARAM lParam);
-
- // should be called whenever the toolbar size changes
- void UpdateSize();
-
- // the big bitmap containing all bitmaps of the toolbar buttons
- WXHBITMAP m_hBitmap;
-
- // the total number of toolbar elements
- size_t m_nButtons;
-
- // the tool the cursor is in
- wxToolBarToolBase *m_pInTool;
+ virtual wxToolBarToolBase *CreateTool(wxControl *control,
+ const wxString& label);
// The menubar associated with this toolbar
wxMenuBar* m_menuBar;
private:
DECLARE_EVENT_TABLE()
- DECLARE_DYNAMIC_CLASS(wxToolBar)
- DECLARE_NO_COPY_CLASS(wxToolBar)
+ DECLARE_DYNAMIC_CLASS(wxToolMenuBar)
+ wxDECLARE_NO_COPY_CLASS(wxToolMenuBar);
};
+#endif
+ // __SMARTPHONE__
+
#endif // wxUSE_TOOLBAR
#endif