|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef TESTITEM_DIALOG_H
#define TESTITEM_DIALOG_H
#ifdef _WIN32
#pragma once
#endif
#include "vgui_controls/EditablePanel.h"
#include "vgui_controls/ScrollableEditablePanel.h"
#include "tf_controls.h"
enum testitem_entrysteps_t { TI_STEP_MODELNAME, TI_STEP_WPN_ITEMREPLACED, TI_STEP_NONWPN_BODYGROUPS, TI_STEP_OTHER_OPTIONS, TI_STEP_CUSTOMIZATION,
TI_STEP_FINISHED, };
enum testitem_bodygroups_to_hide_t { TI_HIDEBG_HAT, TI_HIDEBG_HEADPHONES, TI_HIDEBG_MEDALS, TI_HIDEBG_GRENADES, TI_HIDEBG_BULLETS, TI_HIDEBG_ARROWS, TI_HIDEBG_RIGHTARM, TI_HIDEBG_SHOES_SOCKS,
TI_HIDEBG_COUNT, };
//-----------------------------------------------------------------------------
// A dialog that handles adding or modifying an item we're testing
//-----------------------------------------------------------------------------
class CTestItemDialog : public vgui::EditablePanel, public CGameEventListener { DECLARE_CLASS_SIMPLE( CTestItemDialog, vgui::EditablePanel ); public: CTestItemDialog( vgui::Panel *parent, testitem_itemtypes_t iItemType, int iClassUsage, KeyValues *pExistingKVs ); ~CTestItemDialog( void );
virtual void ApplySchemeSettings( vgui::IScheme *pScheme ); virtual void PerformLayout( void ); virtual void OnCommand( const char *command ); virtual void FireGameEvent( IGameEvent *event );
void Close( void ); void CloseAndUpdateItem( void );
MESSAGE_FUNC_PARAMS( OnTextChanged, "TextChanged", data ); MESSAGE_FUNC_CHARPTR( OnFileSelected, "FileSelected", fullpath );
private: void InitializeFromExistingKVs( KeyValues *pExistingKVs ); void SetEntryStep( testitem_entrysteps_t iStep ); void OpenSelectModelDialog( void ); void SetupItemComboBox( vgui::ComboBox *pComboBox ); void SetupPaintColorComboBox( void ); void SetupUnusualEffectComboBox( void ); void HandleClassCheckbuttonChecked( vgui::Panel *pPanel );
private: testitem_entrysteps_t m_iEntryStep; testitem_itemtypes_t m_iItemType; int m_iClassUsage;
vgui::FileOpenDialog *m_hImportModelDialog; char m_szRelativePath[MAX_PATH];
CExLabel *m_pModelLabel; CExLabel *m_pSelectModelLabel; CExLabel *m_pNoItemsToReplaceLabel; CExButton *m_pSelectModelButton; CExButton *m_pOkButton; vgui::ComboBox *m_pItemReplacedComboBox; vgui::EditablePanel *m_pBodygroupPanel; vgui::EditablePanel *m_pItemReplacedPanel; vgui::CheckButton *m_pBodygroupCheckButtons[TI_HIDEBG_COUNT];
vgui::EditablePanel *m_pCustomizationsPanel; vgui::ComboBox *m_pPaintColorComboBox; vgui::ComboBox *m_pUnusualEffectComboBox;
vgui::EditablePanel *m_pExistingItemToTestPanel; vgui::ComboBox *m_pExistingItemComboBox; };
#endif // TESTITEM_DIALOG_H
|