CPropertyList



Base class for property lists.

You can find more information in comments below. Overrided methods can be found in corresponding base interface.

class CPropertyList :public virtual IPropertyList
{
public:
    IPackage *getPackage() override;
    IClass *getParent() override;
    int getCount() override;
    IProperty *getProperty(const int index) override;
    IProperty *getProperty(const String &name) override;
    // Since 6.0.0
    IPackageEntity *getEntity() override;

    void setParent(IClass *parent, IPackageEntity *entity) override;

    void Release() override;
    void Save(Variant &dest) override;
    void Load(const Variant &src) override;
    void Export(std::wofstream &f, const String &shift, const String &owner) override;

    CPropertyList(IPackage *package, IClass *parent, IPackageEntity *entity);
    virtual ~CPropertyList();

    void Delete(const int index); // Delete property by index
    void Delete(IProperty *item); // Delete specified property
    void Delete(const String &name); // Delete property by name
    void Clear(); // Delete all properties

    template<class Type> Type *Add(Type *item); // Add new property
};
Namespace: nitisa
Include: Nitisa/Core/PropertyList.h