summaryrefslogtreecommitdiff
path: root/tools/foundry/foundrytool.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/foundry/foundrytool.h')
-rw-r--r--tools/foundry/foundrytool.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/tools/foundry/foundrytool.h b/tools/foundry/foundrytool.h
new file mode 100644
index 0000000..c2e81f7
--- /dev/null
+++ b/tools/foundry/foundrytool.h
@@ -0,0 +1,65 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: Foundry tool; main UI smarts class
+//
+//=============================================================================
+
+#ifndef FOUNDRYTOOL_H
+#define FOUNDRYTOOL_H
+
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "tier0/platform.h"
+#include "datamodel/idatamodel.h"
+
+//-----------------------------------------------------------------------------
+// Forward declarations
+//-----------------------------------------------------------------------------
+class CDmeEditorTypeDictionary;
+class CDmeVMFEntity;
+
+namespace vgui
+{
+ class Panel;
+}
+
+
+//-----------------------------------------------------------------------------
+// Singleton interfaces
+//-----------------------------------------------------------------------------
+extern CDmeEditorTypeDictionary *g_pEditorTypeDict;
+
+
+//-----------------------------------------------------------------------------
+// Allows the doc to call back into the Foundry editor tool
+//-----------------------------------------------------------------------------
+abstract_class IFoundryDocCallback
+{
+public:
+ // Called by the doc when the data changes
+ virtual void OnDocChanged( const char *pReason, int nNotifySource, int nNotifyFlags ) = 0;
+};
+
+
+//-----------------------------------------------------------------------------
+// Global methods of the foundry tool
+//-----------------------------------------------------------------------------
+abstract_class IFoundryTool
+{
+public:
+ // Gets at the rool panel (for modal dialogs)
+ virtual vgui::Panel *GetRootPanel() = 0;
+
+ // Gets the registry name (for saving settings)
+ virtual const char *GetRegistryName() = 0;
+
+ // Shows a particular entity in the entity properties dialog
+ virtual void ShowEntityInEntityProperties( CDmeVMFEntity *pEntity ) = 0;
+};
+
+extern IFoundryTool *g_pFoundryTool;
+
+
+#endif // FOUNDRYTOOL_H