]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/osx/toolbar.h
Disconnect all GTK signals referencing a wx object which is being destructed
[wxWidgets.git] / include / wx / osx / toolbar.h
index 6dd02028cb2647f093897ded1d4df9a8f25d3456..4bed1ab647448c6a7fd3de49dbebb0367db740c7 100644 (file)
@@ -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)
@@ -45,11 +43,15 @@ class WXDLLIMPEXP_CORE wxToolBar: public wxToolBarBase
 
     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,48 @@ 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
     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 +111,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