Counter Strike : Global Offensive Source Code
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.

92 lines
2.8 KiB

  1. //========= Copyright � 1996-2001, Valve LLC, All rights reserved. ============
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================
  7. #ifndef DMECOMBINATIONSYSTEMEDITORPANEL_H
  8. #define DMECOMBINATIONSYSTEMEDITORPANEL_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #include "tier1/utlvector.h"
  13. #include "vgui_controls/Frame.h"
  14. #include "datamodel/dmehandle.h"
  15. //-----------------------------------------------------------------------------
  16. // Forward declarations
  17. //-----------------------------------------------------------------------------
  18. class CDmeCombinationControlsPanel;
  19. class CDmeCombinationDominationRulesPanel;
  20. class CDmeCombinationOperator;
  21. class CDmeElementPanel;
  22. namespace vgui
  23. {
  24. class PropertySheet;
  25. class PropertyPage;
  26. class Button;
  27. }
  28. //-----------------------------------------------------------------------------
  29. // Dag editor panel
  30. //-----------------------------------------------------------------------------
  31. class CDmeCombinationSystemEditorPanel : public vgui::EditablePanel
  32. {
  33. DECLARE_CLASS_SIMPLE( CDmeCombinationSystemEditorPanel, vgui::EditablePanel );
  34. public:
  35. // constructor, destructor
  36. CDmeCombinationSystemEditorPanel( vgui::Panel *pParent, const char *pName );
  37. virtual ~CDmeCombinationSystemEditorPanel();
  38. // Sets the current scene + animation list
  39. void SetDmeElement( CDmeCombinationOperator *pComboSystem );
  40. CDmeCombinationOperator *GetDmeElement();
  41. private:
  42. // Called when the selection changes moves
  43. MESSAGE_FUNC( OnPageChanged, "PageChanged" );
  44. MESSAGE_FUNC_PARAMS( OnDmeElementChanged, "DmeElementChanged", kv );
  45. vgui::PropertySheet *m_pEditorSheet;
  46. vgui::PropertyPage *m_pControlsPage;
  47. vgui::PropertyPage *m_pDominationRulesPage;
  48. vgui::PropertyPage *m_pPropertiesPage;
  49. CDmeCombinationControlsPanel *m_pControlsPanel;
  50. CDmeCombinationDominationRulesPanel *m_pDominationRulesPanel;
  51. CDmeElementPanel *m_pPropertiesPanel;
  52. };
  53. //-----------------------------------------------------------------------------
  54. // Frame for combination system
  55. //-----------------------------------------------------------------------------
  56. class CDmeCombinationSystemEditorFrame : public vgui::Frame
  57. {
  58. DECLARE_CLASS_SIMPLE( CDmeCombinationSystemEditorFrame, vgui::Frame );
  59. public:
  60. CDmeCombinationSystemEditorFrame( vgui::Panel *pParent, const char *pTitle );
  61. ~CDmeCombinationSystemEditorFrame();
  62. // Sets the current scene + animation list
  63. void SetCombinationOperator( CDmeCombinationOperator *pComboSystem );
  64. // Inherited from Frame
  65. virtual void OnCommand( const char *pCommand );
  66. private:
  67. MESSAGE_FUNC( OnDmeElementChanged, "DmeElementChanged" );
  68. CDmeCombinationSystemEditorPanel *m_pEditor;
  69. vgui::Button *m_pOpenButton;
  70. vgui::Button *m_pCancelButton;
  71. };
  72. #endif // DMECOMBINATIONSYSTEMEDITORPANEL_H