00001 /*************************************************************************** 00002 * Copyright (C) 2004 by Daniel Rocher * 00003 * daniel.rocher@adella.org * 00004 * * 00005 * This program is free software; you can redistribute it and/or modify * 00006 * it under the terms of the GNU General Public License as published by * 00007 * the Free Software Foundation; either version 2 of the License, or * 00008 * (at your option) any later version. * 00009 * * 00010 * This program is distributed in the hope that it will be useful, * 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00013 * GNU General Public License for more details. * 00014 * * 00015 * You should have received a copy of the GNU General Public License * 00016 * along with this program; if not, write to the * 00017 * Free Software Foundation, Inc., * 00018 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * 00019 ***************************************************************************/ 00020 00021 00022 #ifndef LINECORE_H 00023 #define LINECORE_H 00024 00025 #include <QObject> 00026 #include <Q3ValueList> 00027 00028 extern void debugQt(const QString & message); 00029 00030 class LineCore : public QObject 00031 { 00032 Q_OBJECT 00033 public: 00034 LineCore(QObject *parent=0); 00035 ~LineCore(); 00036 void InitHeader(const QString & OneHeader); 00037 bool InitElement(QString element); 00038 QString ReturnElement(QString element); 00039 void Analysis(const QString & OneLine); 00040 void SortElements(); 00041 00042 public: //attributes 00043 static int compteur_objet; 00044 00045 private: //attributes 00046 QString line; 00047 QString header; 00048 bool analysisProc; 00049 bool initHead; 00050 static const short int back; 00051 00052 struct record { 00053 Q_INT32 Begin; 00054 Q_INT32 End; 00055 Q_INT32 New_Begin; 00056 Q_INT32 New_End; 00057 QString Ident; 00058 QString Value; 00059 }; 00060 00061 typedef Q3ValueList<record> recordList; 00062 recordList listElement; 00063 }; 00064 00065 #endif