diff options
Diffstat (limited to 'public/vgui_controls/ToggleButton.h')
| -rw-r--r-- | public/vgui_controls/ToggleButton.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/public/vgui_controls/ToggleButton.h b/public/vgui_controls/ToggleButton.h new file mode 100644 index 0000000..355e51a --- /dev/null +++ b/public/vgui_controls/ToggleButton.h @@ -0,0 +1,54 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//===========================================================================// + +#ifndef TOGGLEBUTTON_H +#define TOGGLEBUTTON_H + +#ifdef _WIN32 +#pragma once +#endif + +#include <vgui/VGUI.h> +#include <vgui_controls/Button.h> + +namespace vgui +{ + +//----------------------------------------------------------------------------- +// Purpose: Type of button that when pressed stays selected & depressed until pressed again +//----------------------------------------------------------------------------- +class ToggleButton : public Button +{ + DECLARE_CLASS_SIMPLE( ToggleButton, Button ); + +public: + ToggleButton(Panel *parent, const char *panelName, const char *text); + + virtual void DoClick(); + + /* messages sent (get via AddActionSignalTarget()): + "ButtonToggled" + int "state" + */ + +protected: + // overrides + virtual void OnMouseDoublePressed(MouseCode code); + + virtual Color GetButtonFgColor(); + virtual void ApplySchemeSettings(IScheme *pScheme); + + virtual bool CanBeDefaultButton(void); + virtual void OnKeyCodePressed(KeyCode code); + +private: + Color _selectedColor; +}; + +} // namespace vgui + +#endif // TOGGLEBUTTON_H |