You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.3 KiB
47 lines
1.3 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#include "CommandCheckButton.h" |
|
#include "EngineInterface.h" |
|
|
|
// memdbgon must be the last include file in a .cpp file!!! |
|
#include <tier0/memdbgon.h> |
|
|
|
using namespace vgui; |
|
|
|
CCommandCheckButton::CCommandCheckButton( Panel *parent, const char *panelName, const char *text, const char *downcmd, const char *upcmd ) |
|
: CheckButton( parent, panelName, text ) |
|
{ |
|
m_pszDown = downcmd ? strdup( downcmd ) : NULL; |
|
m_pszUp = upcmd ? strdup( upcmd ) : NULL; |
|
} |
|
|
|
CCommandCheckButton::~CCommandCheckButton() |
|
{ |
|
free( m_pszDown ); |
|
free( m_pszUp ); |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: |
|
// Input : *panel - |
|
//----------------------------------------------------------------------------- |
|
void CCommandCheckButton::SetSelected( bool state ) |
|
{ |
|
BaseClass::SetSelected( state ); |
|
|
|
if ( IsSelected() && m_pszDown ) |
|
{ |
|
engine->ClientCmd_Unrestricted( m_pszDown ); |
|
engine->ClientCmd_Unrestricted( "\n" ); |
|
} |
|
else if ( !IsSelected() && m_pszUp ) |
|
{ |
|
engine->ClientCmd_Unrestricted( m_pszUp ); |
|
engine->ClientCmd_Unrestricted( "\n" ); |
|
} |
|
}
|
|
|