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 };