diff options
Diffstat (limited to 'wx+/button.h')
-rw-r--r-- | wx+/button.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/wx+/button.h b/wx+/button.h new file mode 100644 index 00000000..e5d63a19 --- /dev/null +++ b/wx+/button.h @@ -0,0 +1,47 @@ +// ************************************************************************** +// * This file is part of the FreeFileSync project. It is distributed under * +// * GNU General Public License: http://www.gnu.org/licenses/gpl.html * +// * Copyright (C) 2008-2011 ZenJu (zhnmju123 AT gmx.de) * +// ************************************************************************** + +#ifndef CUSTOMBUTTON_H_INCLUDED +#define CUSTOMBUTTON_H_INCLUDED + +#include <wx/bmpbuttn.h> + +namespace zen +{ +//zen::BitmapButton behaves like wxButton but optionally adds bitmap labels +class BitmapButton : public wxBitmapButton +{ +public: + BitmapButton(wxWindow* parent, + wxWindowID id, + const wxString& label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxButtonNameStr); + + void setBitmapFront(const wxBitmap& bitmap, unsigned spaceAfter = 0); + void setTextLabel( const wxString& text); + void setBitmapBack( const wxBitmap& bitmap, unsigned spaceBefore = 0); + +private: + wxBitmap createBitmapFromText(const wxString& text); + void refreshButtonLabel(); + + wxBitmap bitmapFront; + unsigned m_spaceAfter; + wxString textLabel; + unsigned m_spaceBefore; + wxBitmap bitmapBack; +}; + +//set bitmap label flicker free! +void setBitmapLabel(wxBitmapButton& button, const wxBitmap& bmp); +} + + +#endif // CUSTOMBUTTON_H_INCLUDED |