summaryrefslogtreecommitdiff
path: root/vgui2/dme_controls/FactoryOverloads.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'vgui2/dme_controls/FactoryOverloads.cpp')
-rw-r--r--vgui2/dme_controls/FactoryOverloads.cpp58
1 files changed, 58 insertions, 0 deletions
diff --git a/vgui2/dme_controls/FactoryOverloads.cpp b/vgui2/dme_controls/FactoryOverloads.cpp
new file mode 100644
index 0000000..5bc785c
--- /dev/null
+++ b/vgui2/dme_controls/FactoryOverloads.cpp
@@ -0,0 +1,58 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//
+//=============================================================================//
+
+#include "KeyValues.h"
+#include "dme_controls/ElementPropertiesTree.h"
+#include "datamodel/dmelement.h"
+
+#include "vgui_controls/TextEntry.h"
+#include "vgui_controls/ComboBox.h"
+#include "vgui_controls/Button.h"
+#include "vgui_controls/PanelListPanel.h"
+
+#include "FactoryOverloads.h"
+
+void CFactoryOverloads::AddOverload(
+ char const *attributeName,
+ IAttributeWidgetFactory *newFactory,
+ IAttributeElementChoiceList *newChoiceList )
+{
+ Assert( attributeName );
+ Assert( newFactory || newChoiceList );
+
+ if ( !newFactory )
+ {
+ return;
+ }
+
+ Entry_t e;
+ e.factory = newFactory;
+ e.choices = newChoiceList;
+
+ m_Overloads.Insert( attributeName, e );
+}
+
+int CFactoryOverloads::Count()
+{
+ return m_Overloads.Count();
+}
+
+char const *CFactoryOverloads::Name( int index )
+{
+ return m_Overloads.GetElementName( index );
+}
+
+IAttributeWidgetFactory *CFactoryOverloads::Factory( int index )
+{
+ return m_Overloads[ index ].factory;
+}
+
+IAttributeElementChoiceList *CFactoryOverloads::ChoiceList( int index )
+{
+ return m_Overloads[ index ].choices;
+} \ No newline at end of file