summaryrefslogtreecommitdiff
path: root/tools/foundry/foundrytool.h
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /tools/foundry/foundrytool.h
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
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