diff options
Diffstat (limited to 'vgui2/dme_controls/FactoryOverloads.h')
| -rw-r--r-- | vgui2/dme_controls/FactoryOverloads.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/vgui2/dme_controls/FactoryOverloads.h b/vgui2/dme_controls/FactoryOverloads.h new file mode 100644 index 0000000..d378226 --- /dev/null +++ b/vgui2/dme_controls/FactoryOverloads.h @@ -0,0 +1,49 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//============================================================================= + +#ifndef FACTORYOVERLOADS_H +#define FACTORYOVERLOADS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "utldict.h" + +class IAttributeWidgetFactory; +class IAttributeElementChoiceList; + +class CFactoryOverloads : public IFactoryOverloads +{ +public: + virtual void AddOverload + ( + char const *attributeName, + IAttributeWidgetFactory *newFactory, + IAttributeElementChoiceList *newChoiceList + ); + int Count(); + char const *Name( int index ); + IAttributeWidgetFactory *Factory( int index ); + IAttributeElementChoiceList *ChoiceList( int index ); + +private: + struct Entry_t + { + Entry_t() : + factory( 0 ), + choices( 0 ) + { + } + + IAttributeWidgetFactory *factory; + IAttributeElementChoiceList *choices; + }; + + CUtlDict< Entry_t, int > m_Overloads; +}; + +#endif // FACTORYOVERLOADS_H
\ No newline at end of file |