//========= 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