1 ///////////////////////////////////////////////////////////////////////////// 
   2 // Name:        wx/mac/carbon/toolbar.h 
   3 // Purpose:     wxToolBar class 
   4 // Author:      Stefan Csomor 
   8 // Copyright:   (c) Stefan Csomor 
   9 // Licence:     wxWindows licence 
  10 ///////////////////////////////////////////////////////////////////////////// 
  12 #ifndef _WX_TOOLBAR_H_ 
  13 #define _WX_TOOLBAR_H_ 
  17 #include "wx/tbarbase.h" 
  18 #include "wx/dynarray.h" 
  20 WXDLLIMPEXP_DATA_CORE(extern const char) wxToolBarNameStr
[]; 
  22 class WXDLLIMPEXP_CORE wxToolBar
: public wxToolBarBase
 
  24   DECLARE_DYNAMIC_CLASS(wxToolBar
) 
  30    wxToolBar() { Init(); } 
  32   inline wxToolBar(wxWindow 
*parent
, wxWindowID id
, 
  33                    const wxPoint
& pos 
= wxDefaultPosition
, const wxSize
& size 
= wxDefaultSize
, 
  34                    long style 
= wxNO_BORDER
|wxTB_HORIZONTAL
, 
  35                    const wxString
& name 
= wxToolBarNameStr
) 
  38     Create(parent
, id
, pos
, size
, style
, name
); 
  42   bool Create(wxWindow 
*parent
, wxWindowID id
, const wxPoint
& pos 
= wxDefaultPosition
, const wxSize
& size 
= wxDefaultSize
, 
  43             long style 
= wxNO_BORDER
|wxTB_HORIZONTAL
, 
  44             const wxString
& name 
= wxToolBarNameStr
); 
  46     virtual void SetWindowStyleFlag(long style
); 
  48     // override/implement base class virtuals 
  49     virtual wxToolBarToolBase 
*FindToolForPosition(wxCoord x
, wxCoord y
) const; 
  51     virtual bool Show(bool show 
= true); 
  52     virtual bool IsShown() const; 
  53     virtual bool Realize(); 
  55     virtual void SetToolBitmapSize(const wxSize
& size
); 
  56     virtual wxSize 
GetToolSize() const; 
  58     virtual void SetRows(int nRows
); 
  60     virtual void SetToolNormalBitmap(int id
, const wxBitmap
& bitmap
); 
  61     virtual void SetToolDisabledBitmap(int id
, const wxBitmap
& bitmap
); 
  63     // Add all the buttons 
  65     virtual wxString 
MacGetToolTipString( wxPoint 
&where 
) ; 
  66     void OnPaint(wxPaintEvent
& event
) ; 
  67     void OnMouse(wxMouseEvent
& event
) ; 
  68     virtual void MacSuperChangedPosition() ; 
  70 #if wxOSX_USE_NATIVE_TOOLBAR 
  71     bool MacInstallNativeToolbar(bool usesNative
); 
  72     bool MacWantsNativeToolbar(); 
  73     bool MacTopLevelHasNativeToolbar(bool *ownToolbarInstalled
) const; 
  76     // common part of all ctors 
  79     virtual void DoGetSize(int *width
, int *height
) const; 
  80     virtual wxSize 
DoGetBestSize() const; 
  81     virtual bool DoInsertTool(size_t pos
, wxToolBarToolBase 
*tool
); 
  82     virtual bool DoDeleteTool(size_t pos
, wxToolBarToolBase 
*tool
); 
  84     virtual void DoEnableTool(wxToolBarToolBase 
*tool
, bool enable
); 
  85     virtual void DoToggleTool(wxToolBarToolBase 
*tool
, bool toggle
); 
  86     virtual void DoSetToggle(wxToolBarToolBase 
*tool
, bool toggle
); 
  88     virtual wxToolBarToolBase 
*CreateTool(int id
, 
  89                                           const wxString
& label
, 
  90                                           const wxBitmap
& bmpNormal
, 
  91                                           const wxBitmap
& bmpDisabled
, 
  94                                           const wxString
& shortHelp
, 
  95                                           const wxString
& longHelp
); 
  96     virtual wxToolBarToolBase 
*CreateTool(wxControl 
*control
, 
  97                                           const wxString
& label
); 
 100 #if wxOSX_USE_NATIVE_TOOLBAR 
 101     bool m_macUsesNativeToolbar 
; 
 106 #endif // wxUSE_TOOLBAR