1 // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
5 #include <CrySchematyc2/IAbstractInterface.h>
6 #include <CrySchematyc2/Script/IScriptFile.h>
10 typedef std::vector
<SGUID
> GUIDVector
;
12 class CAddAbstractInterfaceImplementationDlg
: public CDialog
18 CAddAbstractInterfaceImplementationDlg(CWnd
* pParent
, CPoint pos
, TScriptFile
& scriptFile
, const SGUID
& objectGUID
);
20 SGUID
GetAbstractInterfaceImplementationGUID() const;
24 virtual BOOL
OnInitDialog();
25 virtual void DoDataExchange(CDataExchange
* pDX
);
26 virtual void OnAbstractInterfacesCtrlSelChange();
31 struct AbstractInterface
34 AbstractInterface(const char* _name
, EDomain _domain
, const SGUID
& _guid
);
41 typedef std::vector
<AbstractInterface
> AbstractInterfaceVector
;
43 EVisitStatus
VisitScriptAbstractInterfaceImplementation(const IScriptAbstractInterfaceImplementation
& abstractInterfaceImplementation
);
44 EVisitStatus
VisitEnvAbstractInterface(const IAbstractInterfaceConstPtr
& pAbstractInterface
);
45 void VisitScriptAbstractInterface(const TScriptFile
& abstractInterfaceFile
, const IScriptAbstractInterface
& abstractInterface
);
46 AbstractInterface
GetAbstractInterface() const;
49 TScriptFile
& m_scriptFile
;
51 GUIDVector m_exclusions
;
52 AbstractInterfaceVector m_abstractInterfaces
;
53 CListBox m_abstractInterfacesCtrl
;
54 CStatic m_descriptionCtrl
;
55 SGUID m_abstractInterfaceImplementationGUID
;