Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef IMPORTOPJ_H
00030 #define IMPORTOPJ_H
00031
00032 #include "ApplicationWindow.h"
00033 #include <OriginFile.h>
00034 #include <ScaleEngine.h>
00035 #include "qwt3d_types.h"
00036 #include "qwt3d_coordsys.h"
00037 #include <qwt_symbol.h>
00038
00040 class ImportOPJ
00041 {
00042 public:
00043 ImportOPJ(ApplicationWindow *app, const QString& filename);
00044
00045 bool createProjectTree(const OriginFile& opj);
00046 bool importTables(const OriginFile& opj);
00047 bool importGraphs(const OriginFile& opj);
00048 bool importNotes(const OriginFile& opj);
00049 bool importGraph3D(const OriginFile& opj, unsigned int graph, unsigned int layer);
00050 int error(){return parse_error;};
00051
00052 private:
00053 QwtSymbol::Style originToQwtSymbolStyle(unsigned char type);
00054 QwtLinearColorMap qwtColorMap(const Origin::ColorMap& colorMap);
00055 int arrowAngle(double length, double width){return ceil(45*atan(0.5*width/length)/atan(1.0));};
00056 QString parseOriginText(const QString &str);
00057 QString parseOriginTags(const QString &str);
00058 void addText(const Origin::TextBox& text, Graph* graph, double fFontScaleFactor, double fScale);
00059 void setPieTexts(QwtPieCurve *p, Graph* graph, const Origin::GraphLayer& layer, double fFontScaleFactor, double fScale);
00060 int parse_error;
00061 int xoffset;
00062 int frameWidth;
00063 int frameHeight;
00064 ApplicationWindow *mw;
00065
00066 static QMap<Origin::GraphCurve::LineStyle, Qt::PenStyle> lineStyles;
00067 static QMap<Origin::GraphCurve::LineStyle, Qwt3D::LINESTYLE> line3DStyles;
00068 static QMap<Origin::GraphAxis::Scale, ScaleTransformation::Type>scaleTypes;
00069 static QMap<Origin::FillPattern, int> patternStyles;
00070 static QMap<Origin::ProjectNode::NodeType, QString> classes;
00071 };
00072
00073 #endif //IMPORTOPJ_H