00001 #ifndef VisObjectH
00002 #define VisObjectH
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00041
00042
00043 #include "CoreMainHeader.h"
00044 #include "Plugins.h"
00045 #include "ExtendedUUID.h"
00046 #include "SimpleList.h"
00047
00048 #include <forms.hpp>
00049
00050
00051
00052 class CPluginObjectDescription;
00053 class CComObject;
00054
00055
00056
00058
00061 class NEMESIS_CORE_PACKAGE CVisObject : public TForm{
00062 public:
00063
00064
00065
00066 __fastcall CVisObject(TComponent* component,CComObject* owner,CPluginObjectInfo* objectinfo);
00067 __fastcall CVisObject(TComponent* component,CComObject* owner,CPluginObjectInfo* objectinfo,const CSmallString& name);
00068 __fastcall CVisObject(TComponent* component,CVisObject* owner,CPluginObjectInfo* objectinfo);
00069 __fastcall CVisObject(TComponent* component,CVisObject* owner,CPluginObjectInfo* objectinfo,const CSmallString& name);
00070
00071 virtual __fastcall ~CVisObject(void);
00072
00073
00074
00075
00076
00077 inline void __fastcall SetName(const CSmallString& name);
00078 inline const CSmallString& __fastcall GetName(const CSmallString& name) const;
00079
00080
00081 inline void __fastcall SetDescription(const CSmallString& name);
00082 inline const CSmallString& __fastcall GetDescription(const CSmallString& name) const;
00083
00084
00085 inline const CExtUUID& __fastcall GetType(void) const;
00086 inline const CExtUUID& __fastcall GetCategory(void) const;
00087
00088
00089 inline CComObject* __fastcall GetComOwner(void);
00090 void __fastcall SetOwner(CComObject* owner);
00091
00092
00093 private:
00094 virtual void __fastcall SetIndex(int index);
00095 virtual int __fastcall GetIndex(void);
00096
00097 private:
00098 CPluginObjectInfo* ObjectInfo;
00099 int UIndex;
00100 CSmallString Name;
00101 CSmallString Description;
00102
00103
00104 CSimpleList<CComObject> ComObjects;
00105 CSimpleList<CVisObject> VisObjects;
00106 CComObject* ComOwner;
00107 CVisObject* VisOwner;
00108 friend class CComObject;
00109 };
00110
00111
00112
00113 inline void __fastcall CVisObject::SetName(const CSmallString& name)
00114 {
00115 Name = name;
00116 }
00117
00118
00119
00120 inline const CSmallString& __fastcall CVisObject::GetName(const CSmallString& name) const
00121 {
00122 return(Name);
00123 }
00124
00125
00126
00127 inline void __fastcall CVisObject::SetDescription(const CSmallString& descrip)
00128 {
00129 Description = descrip;
00130 }
00131
00132
00133
00134 inline const CSmallString& __fastcall CVisObject::GetDescription(const CSmallString& name) const
00135 {
00136 return(Description);
00137 }
00138
00139
00140
00141 inline const CExtUUID& __fastcall CVisObject::GetType(void) const
00142 {
00143 return(ObjectInfo->GetObjectUUID());
00144 }
00145
00146
00147
00148 inline const CExtUUID& __fastcall CVisObject::GetCategory(void) const
00149 {
00150 return(ObjectInfo->GetCategory());
00151 }
00152
00153
00154
00155 inline CComObject* __fastcall CVisObject::GetComOwner(void)
00156 {
00157 return(ComOwner);
00158 }
00159
00160
00161
00162 #endif