]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/carbon/toolbar.h
adding an autorelease capability (got weird crashes when deleting tools from a toolba...
[wxWidgets.git] / include / wx / mac / carbon / toolbar.h
index ed2247b61a068385e59fe77c38b0423b043bdecf..62c91785e14e9f5ea9017d07d3995f67d5c8fe7b 100644 (file)
@@ -1,27 +1,23 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        toolbar.h
+// Name:        wx/mac/carbon/toolbar.h
 // Purpose:     wxToolBar class
 // Author:      Stefan Csomor
 // Modified by:
 // Created:     1998-01-01
 // RCS-ID:      $Id$
 // Copyright:   (c) Stefan Csomor
-// Licence:     wxWidgets licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_TOOLBAR_H_
 #define _WX_TOOLBAR_H_
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "toolbar.h"
-#endif
-
 #if wxUSE_TOOLBAR
 
 #include "wx/tbarbase.h"
 #include "wx/dynarray.h"
 
-WXDLLEXPORT_DATA(extern const wxChar*) wxToolBarNameStr;
+WXDLLEXPORT_DATA(extern const wxChar) wxToolBarNameStr[];
 
 class WXDLLEXPORT wxToolBar: public wxToolBarBase
 {
@@ -33,7 +29,6 @@ class WXDLLEXPORT wxToolBar: public wxToolBarBase
 
    wxToolBar() { Init(); }
 
-
   inline wxToolBar(wxWindow *parent, wxWindowID id,
                    const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
                    long style = wxNO_BORDER|wxTB_HORIZONTAL,
@@ -42,15 +37,19 @@ class WXDLLEXPORT wxToolBar: public wxToolBarBase
     Init();
     Create(parent, id, pos, size, style, name);
   }
-  ~wxToolBar();
+  virtual ~wxToolBar();
 
   bool Create(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
             long style = wxNO_BORDER|wxTB_HORIZONTAL,
             const wxString& name = wxToolBarNameStr);
 
+    virtual void SetWindowStyleFlag(long style);
+
     // override/implement base class virtuals
     virtual wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y) const;
 
+    virtual bool Show(bool show = true);
+    virtual bool IsShown() const;
     virtual bool Realize();
 
     virtual void SetToolBitmapSize(const wxSize& size);
@@ -64,11 +63,18 @@ class WXDLLEXPORT wxToolBar: public wxToolBarBase
     void OnPaint(wxPaintEvent& event) ;
     void OnMouse(wxMouseEvent& event) ;
     virtual void MacSuperChangedPosition() ;
+
+#if wxMAC_USE_NATIVE_TOOLBAR
+    bool MacInstallNativeToolbar(bool usesNative);
+    bool MacWantsNativeToolbar();
+    bool MacTopLevelHasNativeToolbar(bool *ownToolbarInstalled) const;
+#endif
 protected:
     // common part of all ctors
     void Init();
 
-    // implement base class pure virtuals
+    virtual void DoGetSize(int *width, int *height) const;
+    virtual wxSize DoGetBestSize() const;
     virtual bool DoInsertTool(size_t pos, wxToolBarToolBase *tool);
     virtual bool DoDeleteTool(size_t pos, wxToolBarToolBase *tool);
 
@@ -87,6 +93,10 @@ protected:
     virtual wxToolBarToolBase *CreateTool(wxControl *control);
 
     DECLARE_EVENT_TABLE()
+#if wxMAC_USE_NATIVE_TOOLBAR
+    bool m_macUsesNativeToolbar ;
+    void* m_macHIToolbarRef ;
+#endif
 };
 
 #endif // wxUSE_TOOLBAR