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.
 
 
 
 
 
 

93 lines
2.7 KiB

//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
//
// Purpose:
//
//===========================================================================//
#ifndef PARTICLESYSTEMDEFINITIONBROWSER_H
#define PARTICLESYSTEMDEFINITIONBROWSER_H
#ifdef _WIN32
#pragma once
#endif
#include "vgui_controls/editablepanel.h"
#include "tier1/utlstring.h"
//-----------------------------------------------------------------------------
// Forward declarations
//-----------------------------------------------------------------------------
class CPetDoc;
class CPetTool;
class CDmeParticleSystemDefinition;
class CUndoScopeGuard;
class CParticleSnapshotGrid;
namespace vgui
{
class ComboBox;
class Button;
class TextEntry;
class ListPanel;
class CheckButton;
class RadioButton;
}
//-----------------------------------------------------------------------------
// Panel that shows all entities in the level
//-----------------------------------------------------------------------------
class CParticleSystemDefinitionBrowser : public vgui::EditablePanel
{
DECLARE_CLASS_SIMPLE( CParticleSystemDefinitionBrowser, vgui::EditablePanel );
public:
CParticleSystemDefinitionBrowser( CPetDoc *pDoc, vgui::Panel* pParent, const char *pName ); // standard constructor
virtual ~CParticleSystemDefinitionBrowser();
// Inherited from Panel
virtual void OnCommand( const char *pCommand );
virtual void OnKeyCodeTyped( vgui::KeyCode code );
// Methods related to updating the listpanel
void UpdateParticleSystemList( bool bRetainSelection = true );
// Select a particular node
void SelectParticleSystem( CDmeParticleSystemDefinition *pParticleSystem );
// paste.
void PasteFromClipboard();
private:
MESSAGE_FUNC( OnCopy, "OnCopy" );
KEYBINDING_FUNC_NODECLARE( edit_copy, KEY_C, vgui::MODIFIER_CONTROL, OnCopy, "#edit_copy_help", 0 );
MESSAGE_FUNC_PARAMS( OnInputCompleted, "InputCompleted", kv );
MESSAGE_FUNC( OnParticleSystemSelectionChanged, "ParticleSystemSelectionChanged" );
void ReplaceDef_r( CUndoScopeGuard& guard, CDmeParticleSystemDefinition *pDef );
void PasteOperator( CUndoScopeGuard& guard, class CDmeParticleFunction *pDef );
void PasteDefinitionBody( CUndoScopeGuard& guard, CDmeParticleSystemDefinition *pDef );
// Gets the selected particle system
CDmeParticleSystemDefinition* GetSelectedParticleSystem( int nIdx );
// Called when the selection changes
void UpdateParticleSystemSelection();
// Deletes selected particle systems
void DeleteParticleSystems();
// Shows the most recent selected object in properties window
void OnProperties();
CPetDoc *m_pDoc;
CParticleSnapshotGrid *m_pSystemGrid;
vgui::Button *m_pCreateButton;
vgui::Button *m_pDeleteButton;
vgui::Button *m_pCopyButton;
};
#endif // PARTICLESYSTEMDEFINITIONBROWSER_H