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.
104 lines
2.7 KiB
104 lines
2.7 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#ifndef OP_INPUT_H |
|
#define OP_INPUT_H |
|
#pragma once |
|
|
|
#include "ObjectPage.h" |
|
#include "Resource.h" |
|
#include "MapEntity.h" |
|
#include "AnchorMgr.h" |
|
|
|
#define OUTPUT_LIST_NUM_COLUMNS 6 |
|
|
|
|
|
enum SortDirection_t; |
|
|
|
// A list of connections and entites that send them |
|
class CInputConnection |
|
{ |
|
public: |
|
CMapEntity* m_pEntity; |
|
CEntityConnection* m_pConnection; |
|
bool m_bIsValid; |
|
}; |
|
|
|
|
|
// ############################################################################# |
|
class COP_Input : public CObjectPage |
|
{ |
|
public: |
|
static CImageList *m_pImageList; |
|
|
|
public: |
|
|
|
DECLARE_DYNCREATE(COP_Input) |
|
|
|
// Construction |
|
COP_Input(void); |
|
~COP_Input(void); |
|
|
|
void UpdateData( int Mode, PVOID pData, bool bCanEdit ); |
|
void SetSelectedConnection(CEntityConnection *pConnection); |
|
|
|
protected: |
|
|
|
void AddEntityConnections(const char *pTargetName, CMapEntity *pTestEntity); |
|
void UpdateConnectionList(void); |
|
void UpdateEntityList(void); |
|
void RemoveAllEntityConnections(void); |
|
|
|
void SortListByColumn(int nColumn, SortDirection_t eDirection); |
|
void SetSortColumn(int nColumn, SortDirection_t eDirection); |
|
void UpdateColumnHeaderText(int nColumn, bool bIsSortColumn, SortDirection_t eDirection); |
|
|
|
// Connection validity |
|
void UpdateItemValidity(int nItem); |
|
bool ValidateConnections(int nItem); |
|
|
|
|
|
protected: |
|
|
|
CAnchorMgr m_AnchorMgr; |
|
|
|
CMapEntityList *m_pEntityList; // Object list filtered for entities |
|
CEditGameClass *m_pEditGameClass; |
|
CMapEntity *m_pEntity; |
|
|
|
CMapEntityList *m_pTargetEntityList; // List of entites that target me |
|
CEntityConnectionList *m_pConnectionList; // List of all the connections that target me |
|
bool m_bMultipleTargetNames; // Entities with multiple target names selected |
|
// |
|
// Cached data for sorting the list view. |
|
// |
|
int m_nSortColumn; // Current column used for sorting. |
|
SortDirection_t m_eSortDirection[OUTPUT_LIST_NUM_COLUMNS]; // Last sort direction per column. |
|
|
|
//{{AFX_DATA(COP_Input) |
|
enum { IDD = IDD_OBJPAGE_INPUT }; |
|
CListCtrl m_ListCtrl; |
|
//}}AFX_DATA |
|
|
|
// ClassWizard generate virtual function overrides |
|
//{{AFX_VIRTUAL(COP_Input) |
|
virtual void DoDataExchange(CDataExchange* pDX); |
|
virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT *pResult); |
|
//}}AFX_VIRTUAL |
|
|
|
// Generated message map functions |
|
//{{AFX_MSG(COP_Input) |
|
afx_msg void OnMark(void); |
|
afx_msg void OnSize( UINT nType, int cx, int cy ); |
|
virtual BOOL OnInitDialog(void); |
|
virtual void OnDestroy(void); |
|
//}}AFX_MSG |
|
|
|
DECLARE_MESSAGE_MAP() |
|
}; |
|
|
|
#endif // OP_INPUT_H
|
|
|