summaryrefslogtreecommitdiff
path: root/shared/toggle_button.h
diff options
context:
space:
mode:
Diffstat (limited to 'shared/toggle_button.h')
-rw-r--r--shared/toggle_button.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/shared/toggle_button.h b/shared/toggle_button.h
new file mode 100644
index 00000000..a67d5fff
--- /dev/null
+++ b/shared/toggle_button.h
@@ -0,0 +1,49 @@
+// **************************************************************************
+// * 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-2010 ZenJu (zhnmju123 AT gmx.de) *
+// **************************************************************************
+//
+#ifndef TOGGLEBUTTON_H_INCLUDED
+#define TOGGLEBUTTON_H_INCLUDED
+
+#include <wx/bmpbuttn.h>
+
+class ToggleButton : public wxBitmapButton
+{
+public:
+ ToggleButton(wxWindow* parent,
+ wxWindowID id,
+ const wxBitmap& bitmap,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxButtonNameStr) :
+ wxBitmapButton(parent, id, bitmap, pos, size, style, validator, name),
+ active(false)
+ {
+ SetLayoutDirection(wxLayout_LeftToRight); //avoid mirroring RTL languages like Hebrew or Arabic
+ }
+
+ void init(const wxBitmap& activeBmp,
+ const wxString& activeTooltip,
+ const wxBitmap& inactiveBmp,
+ const wxString& inactiveTooltip);
+
+ void setActive(bool value);
+ bool isActive() const;
+ void toggle();
+
+private:
+ bool active;
+
+ wxBitmap m_activeBmp;
+ wxString m_activeTooltip;
+
+ wxBitmap m_inactiveBmp;
+ wxString m_inactiveTooltip;
+};
+
+
+#endif // TOGGLEBUTTON_H_INCLUDED
bgstack15