scribus12format.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007 #ifndef SCRIBUS12FORMAT_H
00008 #define SCRIBUS12FORMAT_H
00009
00010 #include "pluginapi.h"
00011 #include "loadsaveplugin.h"
00012 #include "scfonts.h"
00013 #include "scribusstructs.h"
00014 #include "styles/styleset.h"
00015
00016 #include <QDomElement>
00017 #include <QMap>
00018 #include <QString>
00019 #include <QList>
00020
00021 class LastStyles;
00022
00023 class PLUGIN_API Scribus12Format : public LoadSavePlugin
00024 {
00025 Q_OBJECT
00026
00027 public:
00028
00029 Scribus12Format();
00030 virtual ~Scribus12Format();
00031 virtual const QString fullTrName() const;
00032 virtual const AboutData* getAboutData() const;
00033 virtual void deleteAboutData(const AboutData* about) const;
00034 virtual void languageChange();
00035
00036 virtual bool fileSupported(QIODevice* file, const QString & fileName=QString::null) const;
00037
00038 virtual bool loadFile(const QString & fileName, const FileFormat & fmt, int flags, int index = 0);
00039 virtual bool saveFile(const QString & fileName, const FileFormat & fmt);
00040 virtual void addToMainWindowMenu(ScribusMainWindow *) {};
00041
00042
00043 virtual bool loadPage(const QString & fileName, int pageNumber, bool Mpage, QString renamedPageName=QString::null);
00044 virtual bool readStyles(const QString& fileName, ScribusDoc* doc, StyleSet<ParagraphStyle> &docParagraphStyles);
00045 virtual bool readLineStyles(const QString& fileName, QMap<QString,multiLine> *Sty);
00046 virtual bool readColors(const QString& fileName, ColorList & colors);
00047 virtual bool readPageCount(const QString& fileName, int *num1, int *num2, QStringList & masterPageNames);
00048 virtual void getReplacedFontData(bool & getNewReplacement, QMap<QString,QString> &getReplacedFonts, QList<ScFace> &getDummyScFaces);
00049
00050 private:
00051 void registerFormats();
00052
00053 void GetItemProps(QDomElement *obj, struct CopyPasteBuffer *OB, const QString& baseDir, bool newVersion);
00054 void GetItemText(QDomElement *it, ScribusDoc *doc, bool VorLFound, bool impo, PageItem* obj, LastStyles* last);
00055 void GetStyle(QDomElement *pg, ParagraphStyle *vg, StyleSet<ParagraphStyle> *tempParagraphStyles, ScribusDoc* doc, bool fl);
00056 QString readSLA(const QString & fileName);
00057
00058
00059
00060
00061
00062 QMap<long long,int> itemRemap;
00063 QMap<int,long long> itemNext;
00064 QMap<uint,QString> DoVorl;
00065 uint VorlC;
00066
00067 };
00068
00069 extern "C" PLUGIN_API int scribus12format_getPluginAPIVersion();
00070 extern "C" PLUGIN_API ScPlugin* scribus12format_getPlugin();
00071 extern "C" PLUGIN_API void scribus12format_freePlugin(ScPlugin* plugin);
00072
00073 #endif