#ifndef REPORTTRANSLATION_H #define REPORTTRANSLATION_H #include #include #include #include #include "lrpagedesignintf.h" class ATranslationProperty{ public: ATranslationProperty(){} ATranslationProperty(const ACollectionProperty& ){} virtual ~ATranslationProperty(){} }; Q_DECLARE_METATYPE(ATranslationProperty) const int TRANSLATION_TYPE_ID = qMetaTypeId(); namespace LimeReport{ struct PropertyTranslation{ QString propertyName; QString value; }; struct ItemTranslation{ QString itemName; QList propertyesTranslation; }; struct PageTranslation{ QString pageName; QList itemsTranslation; }; class ReportTranslation{ public: ReportTranslation(QLocale::Language language) :m_language(language){} ReportTranslation(QLocale::Language language, QList pages); ReportTranslation(const ReportTranslation& reportTranslation); ~ReportTranslation(); QLocale::Language language() const; QList pagesTranslation() const; PageTranslation* createEmptyPageTranslation(); private: PageTranslation* createPageTranslation(PageDesignIntf* page); private: QLocale::Language m_language; QList m_pagesTranslation; }; typedef QMap Translations; class ITranslationContainer{ public: virtual Translations* translations() = 0; }; } // namespace LimeReport //Q_DECLARE_METATYPE(ReportTranslation) #endif // REPORTTRANSLATION_H