hl2_src-leak-2017/src/public/toolutils/toolmenubar.h

71 lines
1.8 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// This menu bar displays a couple extra labels:
// one which contains the tool name, and one which contains a arbitrary info
//
//=============================================================================
#ifndef TOOLMENUBAR_H
#define TOOLMENUBAR_H
#ifdef _WIN32
#pragma once
#endif
#include "vgui_controls/menubar.h"
using namespace vgui;
//-----------------------------------------------------------------------------
// Forward declarations
//-----------------------------------------------------------------------------
namespace vgui
{
class Panel;
class Label;
}
class CBaseToolSystem;
//-----------------------------------------------------------------------------
// Main menu bar
//-----------------------------------------------------------------------------
class CToolMenuBar : public vgui::MenuBar
{
DECLARE_CLASS_SIMPLE( CToolMenuBar, vgui::MenuBar );
public:
CToolMenuBar( CBaseToolSystem *parent, const char *panelName );
virtual void PerformLayout();
void SetToolName( const char *name );
void SetInfo( const char *text );
CBaseToolSystem *GetToolSystem();
protected:
Label *m_pInfo;
Label *m_pToolName;
CBaseToolSystem *m_pToolSystem;
};
//-----------------------------------------------------------------------------
// Main menu bar version that stores file name on it
//-----------------------------------------------------------------------------
class CToolFileMenuBar : public CToolMenuBar
{
DECLARE_CLASS_SIMPLE( CToolFileMenuBar, CToolMenuBar );
public:
CToolFileMenuBar( CBaseToolSystem *parent, const char *panelName );
virtual void PerformLayout();
void SetFileName( const char *pFileName );
private:
Label *m_pFileName;
};
#endif // TOOLMENUBAR_H