00001 /********************************************************************** 00002 *< 00003 FILE: ICustAttribContainer.h 00004 00005 DESCRIPTION: Defines ICustAttribContainer class 00006 00007 CREATED BY: Nikolai Sander 00008 00009 HISTORY: created 5/22/00 00010 00011 *> Copyright (c) 2000, All Rights Reserved. 00012 **********************************************************************/ 00013 #pragma once 00014 00015 #include "ref.h" 00016 // forward declarations 00017 class CustAttrib; 00018 class ParamDlg; 00019 class IMtlParams; 00020 00026 class ICustAttribContainer : public ReferenceTarget 00027 { 00028 public: 00030 virtual int GetNumCustAttribs()=0; 00036 virtual CustAttrib *GetCustAttrib(int i)=0; 00041 virtual void AppendCustAttrib(CustAttrib *attribute)=0; 00049 virtual void SetCustAttrib(int i, CustAttrib *attribute)=0; 00059 virtual void InsertCustAttrib(int i, CustAttrib *attribute)=0; 00064 virtual void RemoveCustAttrib(int i)=0; 00076 virtual ParamDlg* CreateParamDlg(HWND hwMtlEdit, IMtlParams* imp)=0; 00085 virtual void CopyParametersFrom(ReferenceMaker *from, RemapDir &remap)=0; 00088 virtual Animatable *GetOwner()=0; 00090 virtual void DeleteThis()=0; 00097 virtual BaseInterface* FindCustAttribInterface(const Interface_ID& iid) = 0; 00098 }; 00099