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.
82 lines
2.5 KiB
82 lines
2.5 KiB
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======
|
|
//
|
|
// Purpose:
|
|
//
|
|
//=============================================================================
|
|
|
|
#ifndef BASEANIMATIONSETEDITOR_H
|
|
#define BASEANIMATIONSETEDITOR_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "vgui_controls/EditablePanel.h"
|
|
#include "vgui_controls/ImageList.h"
|
|
#include "dme_controls/RecordingState.h"
|
|
#include "dme_controls/BaseAnimationSetEditorController.h"
|
|
#include "tier1/utlvector.h"
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Forward declarations
|
|
//-----------------------------------------------------------------------------
|
|
struct LogPreview_t;
|
|
class CDmeAnimationSet;
|
|
class CDmeAnimationList;
|
|
class CDmeChannelsClip;
|
|
class CBaseAnimSetControlGroupPanel;
|
|
class CBaseAnimSetPresetFaderPanel;
|
|
class CBaseAnimSetAttributeSliderPanel;
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Base class for the panel for editing animation sets
|
|
//-----------------------------------------------------------------------------
|
|
class CBaseAnimationSetEditor : public vgui::EditablePanel
|
|
{
|
|
DECLARE_CLASS_SIMPLE( CBaseAnimationSetEditor, vgui::EditablePanel );
|
|
|
|
public:
|
|
enum EAnimSetLayout_t
|
|
{
|
|
LAYOUT_SPLIT = 0,
|
|
LAYOUT_VERTICAL,
|
|
LAYOUT_HORIZONTAL,
|
|
};
|
|
|
|
CBaseAnimationSetEditor( vgui::Panel *parent, char const *panelName, CBaseAnimationSetControl *pAnimationSetController );
|
|
virtual ~CBaseAnimationSetEditor();
|
|
|
|
virtual void CreateToolsSubPanels();
|
|
virtual void ChangeLayout( EAnimSetLayout_t newLayout );
|
|
virtual void OpenTreeViewContextMenu( KeyValues *pItemData );
|
|
|
|
CBaseAnimationSetControl *GetController();
|
|
|
|
CBaseAnimSetControlGroupPanel *GetControlGroup();
|
|
CBaseAnimSetPresetFaderPanel *GetPresetFader();
|
|
CBaseAnimSetAttributeSliderPanel *GetAttributeSlider();
|
|
|
|
void ChangeAnimationSetClip( CDmeFilmClip *pFilmClip );
|
|
void OnControlsAddedOrRemoved();
|
|
|
|
protected:
|
|
virtual void ApplySchemeSettings( vgui::IScheme *pScheme );
|
|
|
|
MESSAGE_FUNC_PARAMS( OnOpenContextMenu, "OpenContextMenu", params );
|
|
MESSAGE_FUNC_INT( OnChangeLayout, "OnChangeLayout", value );
|
|
|
|
protected:
|
|
EAnimSetLayout_t m_Layout;
|
|
vgui::DHANDLE< vgui::Splitter > m_Splitter;
|
|
|
|
vgui::DHANDLE< CBaseAnimSetControlGroupPanel > m_hControlGroup;
|
|
vgui::DHANDLE< CBaseAnimSetPresetFaderPanel > m_hPresetFader;
|
|
vgui::DHANDLE< CBaseAnimSetAttributeSliderPanel > m_hAttributeSlider;
|
|
|
|
vgui::DHANDLE< vgui::Menu > m_hContextMenu;
|
|
|
|
CBaseAnimationSetControl *m_pController;
|
|
};
|
|
|
|
#endif // BASEANIMATIONSETEDITOR_H
|