////////////////////////////////////////////////////////////////////
////// Классы для работы с Container.Contents ///////////////////
////////////////////////////////////////////////////////////////////
#ifndef CONTAINER_H
#define CONTAINER_H
#include "strings.h"
#include "mms.h"
typedef struct
{
wxString Type;
wxString Descr;
} CContainerInfo;
typedef enum{CT_Normal, CT_UserInterfaces} CContainerType;
class CContainerRecord : public CMMSObject
{
public:
wxString Type;
wxString StreamName;
wxString ObjectName;
wxString Param4;
private:
static CContainerRecord* DefVal;
static CObjectProperty Props[];
static CPropertySet PropSet;
public:
CContainerRecord() { ObjectName = wxEmptyString; };
CPropertySet* GetPropSet() {return &PropSet;};
};
class CContainer : public CMMSAttributes
{
public:
wxString Content;
public:
CContainer();
virtual wxString BeautyName() {return _U("Container.Contents");}
virtual CMMSObject* CreateChild(const wxString& Name, int MMS_Index = -1)
{return new CContainerRecord;};
wxString& Create(CStorage& Storage, bool Recursive, CContainerType Type = CT_Normal);
wxString& CreateInTypedText(CStorage& TypedTextStorage);
private:
void Add(wxString Type, wxString Name, wxString Descr);
void AddDir(wxString DirName);
void AddDir(const wchar_t* wDirName);
void AddFile(wxString FileName, CContainerType Type = CT_Normal);
void AddFile(const wchar_t* wFileName, CContainerType Type = CT_Normal);
};
#endif