Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.4 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #if !defined( EXPRESSIONS_H )
  8. #define EXPRESSIONS_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #include "studio.h"
  13. #include "expression.h"
  14. class FlexPanel;
  15. class ControlPanel;
  16. class MatSysWindow;
  17. class CExpClass;
  18. class ExpressionTool;
  19. //-----------------------------------------------------------------------------
  20. // Purpose:
  21. //-----------------------------------------------------------------------------
  22. class IExpressionManager
  23. {
  24. public:
  25. virtual void Reset( void ) = 0;
  26. // File i/o
  27. virtual void LoadClass( const char *filename ) = 0;
  28. virtual void CreateNewClass( const char *filename ) = 0;
  29. virtual bool CloseClass( CExpClass *cl ) = 0;
  30. virtual void ActivateExpressionClass( CExpClass *cl ) = 0;
  31. virtual CExpClass *AddCExpClass( const char *classname, const char *filename ) = 0;
  32. virtual int GetNumClasses( void ) = 0;
  33. virtual CExpression *GetCopyBuffer( void ) = 0;
  34. virtual bool CanClose( void ) = 0;
  35. virtual CExpClass *GetActiveClass( void ) = 0;
  36. virtual CExpClass *GetClass( int num ) = 0;
  37. virtual CExpClass *FindClass( const char *classname, bool bMatchBaseNameOnly ) = 0;
  38. };
  39. extern IExpressionManager *expressions;
  40. #endif // EXPRESSIONS_H