X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/39d2f9a7c866338762ca974209219f40d4420af6..68fe70ea1f131471b82747ee2759dba7a19a0c23:/include/wx/msw/wince/tbarwce.h diff --git a/include/wx/msw/wince/tbarwce.h b/include/wx/msw/wince/tbarwce.h index 938559aca3..8b4618e2a4 100644 --- a/include/wx/msw/wince/tbarwce.h +++ b/include/wx/msw/wince/tbarwce.h @@ -12,21 +12,79 @@ #ifndef _WX_BARWCE_H_ #define _WX_BARWCE_H_ -#ifdef __GNUG__ - #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, + 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 = wxNO_BORDER | 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, @@ -47,32 +105,18 @@ public: 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(); @@ -97,10 +141,6 @@ protected: 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, @@ -109,39 +149,21 @@ protected: wxObject *clientData, const wxString& shortHelp, const wxString& longHelp); - virtual wxToolBarToolBase *CreateTool(wxControl *control); - - // override WndProc mainly to process WM_SIZE - virtual long 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