//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // // $NoKeywords: $ //===========================================================================// #ifndef TOGGLEBUTTON_H #define TOGGLEBUTTON_H #ifdef _WIN32 #pragma once #endif #include #include 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