mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-07 17:29:36 +00:00
1
This commit is contained in:
@@ -0,0 +1,132 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose: Core Movie Maker UI API
|
||||
//
|
||||
//=============================================================================
|
||||
|
||||
#include "toolutils/toolmenubar.h"
|
||||
#include "vgui_controls/Label.h"
|
||||
|
||||
// memdbgon must be the last include file in a .cpp file!!!
|
||||
#include "tier0/memdbgon.h"
|
||||
|
||||
|
||||
using namespace vgui;
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Version that only has tool name and info
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Constructor
|
||||
//-----------------------------------------------------------------------------
|
||||
CToolMenuBar::CToolMenuBar( CBaseToolSystem *pParent, const char *pPanelName ) :
|
||||
BaseClass( (Panel *)pParent, pPanelName ),
|
||||
m_pToolSystem( pParent )
|
||||
{
|
||||
m_pInfo = new Label( this, "Info", "" );
|
||||
m_pToolName = new Label( this, "ToolName", "" );
|
||||
}
|
||||
|
||||
CBaseToolSystem *CToolMenuBar::GetToolSystem()
|
||||
{
|
||||
return m_pToolSystem;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Sets the tool bar's name
|
||||
//-----------------------------------------------------------------------------
|
||||
void CToolMenuBar::SetToolName( const char *pName )
|
||||
{
|
||||
m_pToolName->SetText( pName );
|
||||
InvalidateLayout();
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Sets the tool bar info
|
||||
//-----------------------------------------------------------------------------
|
||||
void CToolMenuBar::SetInfo( const char *pInfo )
|
||||
{
|
||||
m_pInfo->SetText( pInfo );
|
||||
InvalidateLayout();
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Lays out the menu bar
|
||||
//-----------------------------------------------------------------------------
|
||||
void CToolMenuBar::PerformLayout()
|
||||
{
|
||||
BaseClass::PerformLayout();
|
||||
|
||||
int w, h;
|
||||
GetSize( w, h );
|
||||
|
||||
int cw, ch;
|
||||
m_pInfo->GetContentSize( cw, ch );
|
||||
|
||||
int right = w - cw - 20;
|
||||
m_pInfo->SetBounds( right, 0, cw, h );
|
||||
|
||||
m_pToolName->GetContentSize( cw, ch );
|
||||
m_pToolName->SetBounds( right - cw - 5, 0, cw, h );
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Version that only has tool name, info, and file name
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Constructor
|
||||
//-----------------------------------------------------------------------------
|
||||
CToolFileMenuBar::CToolFileMenuBar( CBaseToolSystem *parent, const char *panelName ) :
|
||||
BaseClass( parent, panelName )
|
||||
{
|
||||
m_pFileName = new Label( this, "FileName", "" );
|
||||
}
|
||||
|
||||
|
||||
void CToolFileMenuBar::SetFileName( char const *name )
|
||||
{
|
||||
m_pFileName->SetText( name );
|
||||
InvalidateLayout();
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Performs layout
|
||||
//-----------------------------------------------------------------------------
|
||||
void CToolFileMenuBar::PerformLayout()
|
||||
{
|
||||
BaseClass::PerformLayout();
|
||||
|
||||
int w, h;
|
||||
GetSize( w, h );
|
||||
|
||||
int cw, ch;
|
||||
m_pInfo->GetContentSize( cw, ch );
|
||||
|
||||
int right = w - cw - 20;
|
||||
|
||||
m_pToolName->GetContentSize( cw, ch );
|
||||
|
||||
int barx, bary;
|
||||
GetContentSize( barx, bary );
|
||||
|
||||
int faredge = right - cw - 5- 2;
|
||||
int nearedge = barx + 2;
|
||||
|
||||
int mid = ( nearedge + faredge ) * 0.5f;
|
||||
|
||||
m_pFileName->GetContentSize( cw, ch );
|
||||
m_pFileName->SetBounds( mid - cw * 0.5f, 0, cw, h );
|
||||
}
|
||||
Reference in New Issue
Block a user