From 39ed87570bdb2f86969d4be821c94b722dc71179 Mon Sep 17 00:00:00 2001 From: Joe Ludwig Date: Wed, 26 Jun 2013 15:22:04 -0700 Subject: First version of the SOurce SDK 2013 --- mp/src/game/client/game_controls/NavProgress.cpp | 137 +++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 mp/src/game/client/game_controls/NavProgress.cpp (limited to 'mp/src/game/client/game_controls/NavProgress.cpp') diff --git a/mp/src/game/client/game_controls/NavProgress.cpp b/mp/src/game/client/game_controls/NavProgress.cpp new file mode 100644 index 00000000..7b7e9767 --- /dev/null +++ b/mp/src/game/client/game_controls/NavProgress.cpp @@ -0,0 +1,137 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#include "cbase.h" +#include "NavProgress.h" + +#include +#include +#include +#include +#include +#include + +#include + +#include + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +using namespace vgui; + +//-------------------------------------------------------------------------------------------------------------- +CNavProgress::CNavProgress( IViewPort *pViewPort ) : Frame( NULL, PANEL_NAV_PROGRESS ) +{ + // initialize dialog + m_pViewPort = pViewPort; + + // load the new scheme early!! + SetScheme("ClientScheme"); + SetMoveable(false); + SetSizeable(false); + SetProportional(true); + + // hide the system buttons + SetTitleBarVisible( false ); + + m_pTitle = new Label( this, "TitleLabel", "" ); + m_pText = new Label( this, "TextLabel", "" ); + + m_pProgressBarBorder = new Panel( this, "ProgressBarBorder" ); + m_pProgressBar = new Panel( this, "ProgressBar" ); + m_pProgressBarSizer = new Panel( this, "ProgressBarSizer" ); + + LoadControlSettings("Resource/UI/NavProgress.res"); + + Reset(); +} + +//-------------------------------------------------------------------------------------------------------------- +CNavProgress::~CNavProgress() +{ +} + +//-------------------------------------------------------------------------------------------------------------- +void CNavProgress::ApplySchemeSettings(IScheme *pScheme) +{ + BaseClass::ApplySchemeSettings( pScheme ); + + SetPaintBackgroundType( 2 ); + + m_pProgressBarSizer->SetVisible( false ); + + m_pProgressBarBorder->SetBorder( pScheme->GetBorder( "ButtonDepressedBorder" ) ); + m_pProgressBarBorder->SetBgColor( Color( 0, 0, 0, 0 ) ); + + m_pProgressBar->SetBorder( pScheme->GetBorder( "ButtonBorder" ) ); + m_pProgressBar->SetBgColor( pScheme->GetColor( "ProgressBar.FgColor", Color( 0, 0, 0, 0 ) ) ); +} + +//-------------------------------------------------------------------------------------------------------------- +void CNavProgress::PerformLayout() +{ + BaseClass::PerformLayout(); + + if ( m_numTicks ) + { + int w = m_pProgressBarSizer->GetWide(); + w = w * m_currentTick / m_numTicks; + m_pProgressBar->SetWide( w ); + } +} + +//-------------------------------------------------------------------------------------------------------------- +void CNavProgress::Init( const char *title, int numTicks, int startTick ) +{ + m_pText->SetText( title ); + + m_numTicks = MAX( 1, numTicks ); // non-zero, since we'll divide by this + m_currentTick = MAX( 0, MIN( m_numTicks, startTick ) ); + + InvalidateLayout(); +} + +//-------------------------------------------------------------------------------------------------------------- +void CNavProgress::SetData(KeyValues *data) +{ + Init( data->GetString( "msg" ), + data->GetInt( "total" ), + data->GetInt( "current" ) ); +} + +//-------------------------------------------------------------------------------------------------------------- +void CNavProgress::ShowPanel( bool bShow ) +{ + if ( BaseClass::IsVisible() == bShow ) + return; + + m_pViewPort->ShowBackGround( bShow ); + + if ( bShow ) + { + Activate(); + SetMouseInputEnabled( true ); + } + else + { + SetVisible( false ); + SetMouseInputEnabled( false ); + } +} + +//-------------------------------------------------------------------------------------------------------------- +void CNavProgress::Reset( void ) +{ +} + +//-------------------------------------------------------------------------------------------------------------- +void CNavProgress::Update( void ) +{ +} + +//-------------------------------------------------------------------------------------------------------------- -- cgit v1.2.3