X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6762286db6cf974817dead5b88bebf0e390dbb7e..438959cca892a7651634cc3a7aad4819ac49b23c:/include/wx/osx/toolbar.h diff --git a/include/wx/osx/toolbar.h b/include/wx/osx/toolbar.h index 6dd02028cb..3189049f0f 100644 --- a/include/wx/osx/toolbar.h +++ b/include/wx/osx/toolbar.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: wx/mac/carbon/toolbar.h +// Name: wx/osx/toolbar.h // Purpose: wxToolBar class // Author: Stefan Csomor // Modified by: @@ -17,8 +17,6 @@ #include "wx/tbarbase.h" #include "wx/dynarray.h" -WXDLLIMPEXP_DATA_CORE(extern const char) wxToolBarNameStr[]; - class WXDLLIMPEXP_CORE wxToolBar: public wxToolBarBase { DECLARE_DYNAMIC_CLASS(wxToolBar) @@ -31,7 +29,7 @@ class WXDLLIMPEXP_CORE wxToolBar: public wxToolBarBase inline 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) { Init(); @@ -40,16 +38,20 @@ class WXDLLIMPEXP_CORE wxToolBar: public wxToolBarBase virtual ~wxToolBar(); bool Create(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); virtual void SetWindowStyleFlag(long style); + virtual bool Destroy(); + // override/implement base class virtuals virtual wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y) const; +#ifndef __WXOSX_IPHONE__ virtual bool Show(bool show = true); virtual bool IsShown() const; +#endif virtual bool Realize(); virtual void SetToolBitmapSize(const wxSize& size); @@ -60,24 +62,52 @@ class WXDLLIMPEXP_CORE wxToolBar: public wxToolBarBase virtual void SetToolNormalBitmap(int id, const wxBitmap& bitmap); virtual void SetToolDisabledBitmap(int id, const wxBitmap& bitmap); +#ifndef __WXOSX_IPHONE__ // Add all the buttons virtual wxString MacGetToolTipString( wxPoint &where ) ; void OnPaint(wxPaintEvent& event) ; void OnMouse(wxMouseEvent& event) ; virtual void MacSuperChangedPosition() ; +#endif #if wxOSX_USE_NATIVE_TOOLBAR + // make all tools selectable + void OSXSetSelectableTools(bool set); + void OSXSelectTool(int toolId); + bool MacInstallNativeToolbar(bool usesNative); + void MacUninstallNativeToolbar(); bool MacWantsNativeToolbar(); bool MacTopLevelHasNativeToolbar(bool *ownToolbarInstalled) const; #endif + + virtual wxToolBarToolBase *CreateTool(int id, + const wxString& label, + const wxBitmap& bmpNormal, + const wxBitmap& bmpDisabled = wxNullBitmap, + wxItemKind kind = wxITEM_NORMAL, + wxObject *clientData = NULL, + const wxString& shortHelp = wxEmptyString, + const wxString& longHelp = wxEmptyString); + virtual wxToolBarToolBase *CreateTool(wxControl *control, + const wxString& label); + protected: // common part of all ctors void Init(); + + void DoLayout(); + + void DoSetSize(int x, int y, int width, int height, int sizeFlags); +#ifndef __WXOSX_IPHONE__ virtual void DoGetSize(int *width, int *height) const; virtual wxSize DoGetBestSize() const; +#endif +#ifdef __WXOSX_COCOA__ + virtual void DoGetPosition(int*x, int *y) const; +#endif virtual bool DoInsertTool(size_t pos, wxToolBarToolBase *tool); virtual bool DoDeleteTool(size_t pos, wxToolBarToolBase *tool); @@ -85,22 +115,14 @@ protected: 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); - DECLARE_EVENT_TABLE() #if wxOSX_USE_NATIVE_TOOLBAR bool m_macUsesNativeToolbar ; void* m_macToolbar ; #endif +#ifdef __WXOSX_IPHONE__ + WX_UIView m_macToolbar; +#endif }; #endif // wxUSE_TOOLBAR