File indexing completed on 2024-05-12 15:59:17
0001 /* 0002 * SPDX-FileCopyrightText: 2009 Cyrille Berger <cberger@cberger.net> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #include "kis_meta_data_type_info.h" 0008 0009 #include <QHash> 0010 0011 struct KRITAMETADATA_EXPORT KisMetaData::TypeInfo::Private { 0012 Private() : embeddedTypeInfo(0), structureSchema(0), parser(0) {} 0013 PropertyType propertyType { KisMetaData::TypeInfo::BooleanType }; 0014 const TypeInfo* embeddedTypeInfo; 0015 QList< Choice> choices; 0016 Schema* structureSchema; 0017 QString structureName; 0018 const Parser* parser; 0019 private: 0020 static QHash< const TypeInfo*, const TypeInfo*> orderedArrays; 0021 static QHash< const TypeInfo*, const TypeInfo*> unorderedArrays; 0022 static QHash< const TypeInfo*, const TypeInfo*> alternativeArrays; 0023 public: 0024 static const TypeInfo* Boolean; 0025 static const TypeInfo* Integer; 0026 static const TypeInfo* Date; 0027 static const TypeInfo* Text; 0028 static const TypeInfo* Rational; 0029 static const TypeInfo* GPSCoordinate; 0030 static const TypeInfo* orderedArray(const TypeInfo*); 0031 static const TypeInfo* unorderedArray(const TypeInfo*); 0032 static const TypeInfo* alternativeArray(const TypeInfo*); 0033 static const TypeInfo* createChoice(PropertyType _propertiesType, const TypeInfo* _embedded, const QList< Choice >&); 0034 static const TypeInfo* createStructure(Schema* _structureSchema, const QString& name); 0035 static const TypeInfo* LangArray; 0036 };