source-engine/public/dme_controls/dmecombinationsystemeditorpanel.h

93 lines
2.7 KiB
C
Raw Normal View History

2020-04-22 16:56:21 +00:00
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================
#ifndef DMECOMBINATIONSYSTEMEDITORPANEL_H
#define DMECOMBINATIONSYSTEMEDITORPANEL_H
#ifdef _WIN32
#pragma once
#endif
#include "tier1/utlvector.h"
#include "vgui_controls/Frame.h"
#include "datamodel/dmehandle.h"
//-----------------------------------------------------------------------------
// Forward declarations
//-----------------------------------------------------------------------------
class CDmeCombinationControlsPanel;
class CDmeCombinationDominationRulesPanel;
class CDmeCombinationOperator;
class CDmeElementPanel;
namespace vgui
{
class PropertySheet;
class PropertyPage;
class Button;
}
//-----------------------------------------------------------------------------
// Dag editor panel
//-----------------------------------------------------------------------------
class CDmeCombinationSystemEditorPanel : public vgui::EditablePanel
{
DECLARE_CLASS_SIMPLE( CDmeCombinationSystemEditorPanel, vgui::EditablePanel );
public:
// constructor, destructor
CDmeCombinationSystemEditorPanel( vgui::Panel *pParent, const char *pName );
virtual ~CDmeCombinationSystemEditorPanel();
// Sets the current scene + animation list
void SetDmeElement( CDmeCombinationOperator *pComboSystem );
CDmeCombinationOperator *GetDmeElement();
private:
// Called when the selection changes moves
MESSAGE_FUNC( OnPageChanged, "PageChanged" );
MESSAGE_FUNC_PARAMS( OnDmeElementChanged, "DmeElementChanged", kv );
vgui::PropertySheet *m_pEditorSheet;
vgui::PropertyPage *m_pControlsPage;
vgui::PropertyPage *m_pDominationRulesPage;
vgui::PropertyPage *m_pPropertiesPage;
CDmeCombinationControlsPanel *m_pControlsPanel;
CDmeCombinationDominationRulesPanel *m_pDominationRulesPanel;
CDmeElementPanel *m_pPropertiesPanel;
};
//-----------------------------------------------------------------------------
// Frame for combination system
//-----------------------------------------------------------------------------
class CDmeCombinationSystemEditorFrame : public vgui::Frame
{
DECLARE_CLASS_SIMPLE( CDmeCombinationSystemEditorFrame, vgui::Frame );
public:
CDmeCombinationSystemEditorFrame( vgui::Panel *pParent, const char *pTitle );
~CDmeCombinationSystemEditorFrame();
// Sets the current scene + animation list
void SetCombinationOperator( CDmeCombinationOperator *pComboSystem );
// Inherited from Frame
virtual void OnCommand( const char *pCommand );
private:
MESSAGE_FUNC( OnDmeElementChanged, "DmeElementChanged" );
CDmeCombinationSystemEditorPanel *m_pEditor;
vgui::Button *m_pOpenButton;
vgui::Button *m_pCancelButton;
};
#endif // DMECOMBINATIONSYSTEMEDITORPANEL_H