// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifndef _WX_TBAR95_H_
-#define _WX_TBAR95_H_
-
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma interface "tbar95.h"
-#endif
+#ifndef _WX_MSW_TBAR95_H_
+#define _WX_MSW_TBAR95_H_
#if wxUSE_TOOLBAR
#include "wx/dynarray.h"
+#include "wx/imaglist.h"
class WXDLLEXPORT wxToolBar : public wxToolBarBase
{
virtual void SetRows(int nRows);
+ virtual void SetToolNormalBitmap(int id, const wxBitmap& bitmap);
+ virtual void SetToolDisabledBitmap(int id, const wxBitmap& bitmap);
+
// implementation only from now on
// -------------------------------
void OnMouseEvent(wxMouseEvent& event);
void OnSysColourChanged(wxSysColourChangedEvent& event);
+ void OnEraseBackground(wxEraseEvent& event);
void SetFocus() {}
static WXHBITMAP MapBitmap(WXHBITMAP bitmap, int width, int height);
+ // override WndProc mainly to process WM_SIZE
+ virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
+
+ virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
+
+ // returns true if the platform should explicitly apply a theme border
+ virtual bool CanApplyThemeBorder() const { return false; }
+
protected:
// common part of all ctors
void Init();
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);
+ virtual wxToolBarToolBase *CreateTool(wxControl *control,
+ const wxString& label);
// 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
bool HandleSize(WXWPARAM wParam, WXLPARAM lParam);
// should be called whenever the toolbar size changes
void UpdateSize();
+ // create m_disabledImgList (but doesn't fill it), set it to NULL if it is
+ // unneeded
+ void CreateDisabledImageList();
+
+ // get the Windows toolbar style of this control
+ long GetMSWToolbarStyle() const;
+
+
// the big bitmap containing all bitmaps of the toolbar buttons
WXHBITMAP m_hBitmap;
+ // the image list with disabled images, may be NULL if we use
+ // system-provided versions of them
+ wxImageList *m_disabledImgList;
+
// the total number of toolbar elements
size_t m_nButtons;
#endif // wxUSE_TOOLBAR
-#endif
- // _WX_TBAR95_H_
+#endif // _WX_MSW_TBAR95_H_
+