00001 /*************************************************************************** 00002 File : Origin750Parser.h 00003 -------------------------------------------------------------------- 00004 Copyright : (C) 2007-2008 Alex Kargovsky, Stefan Gerlach, 00005 Ion Vasilief 00006 Email (use @ for *) : kargovsky*yumr.phys.msu.su, ion_vasilief*yahoo.fr 00007 Description : Origin 7.5 file parser class 00008 00009 ***************************************************************************/ 00010 00011 /*************************************************************************** 00012 * * 00013 * This program is free software; you can redistribute it and/or modify * 00014 * it under the terms of the GNU General Public License as published by * 00015 * the Free Software Foundation; either version 2 of the License, or * 00016 * (at your option) any later version. * 00017 * * 00018 * This program is distributed in the hope that it will be useful, * 00019 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00020 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00021 * GNU General Public License for more details. * 00022 * * 00023 * You should have received a copy of the GNU General Public License * 00024 * along with this program; if not, write to the Free Software * 00025 * Foundation, Inc., 51 Franklin Street, Fifth Floor, * 00026 * Boston, MA 02110-1301 USA * 00027 * * 00028 ***************************************************************************/ 00029 00030 00031 #ifndef ORIGIN_750_PARSER_H 00032 #define ORIGIN_750_PARSER_H 00033 00034 #include "OriginParser.h" 00035 #include "endianfstream.hh" 00036 00037 using namespace Origin; 00038 00039 class Origin750Parser : public OriginParser 00040 { 00041 public: 00042 Origin750Parser(const string& fileName); 00043 bool parse(); 00044 00045 private: 00046 void readSpreadInfo(); 00047 void readExcelInfo(); 00048 void readMatrixInfo(); 00049 void readGraphInfo(); 00050 void skipObjectInfo(); 00051 void readGraphAxisInfo(GraphAxis& axis); 00052 void readGraphGridInfo(GraphGrid& grid); 00053 void readGraphAxisBreakInfo(GraphAxisBreak& axis_break); 00054 void readGraphAxisFormatInfo(GraphAxisFormat& format); 00055 void readGraphAxisTickLabelsInfo(GraphAxisTick& tick); 00056 void readProjectTree(); 00057 void readProjectTreeFolder(tree<ProjectNode>::iterator parent); 00058 void readWindowProperties(Window& window, unsigned int size); 00059 void readColorMap(ColorMap& colorMap); 00060 00061 unsigned int objectIndex; 00062 iendianfstream file; 00063 }; 00064 00065 #endif // ORIGIN_750_PARSER_H