00001 /*************************************************************************** 00002 * * 00003 * bibtexfactory.h * 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 * Read the file COPYING for details. * 00011 * * 00012 * copyright: (C) 2003 by Jan Mueller * 00013 * email: janmueller7@hotmail.com * 00014 * * 00015 ***************************************************************************/ 00016 00017 #ifndef BibTexFactory_h 00018 #define BibTexFactory_h 00019 00020 #include <qstring.h> 00021 00022 00023 class QSqlCursor; 00024 00025 00026 00027 class BibTexFactory { 00028 private: 00029 BibTexFactory(const BibTexFactory&); 00030 00031 public: 00032 BibTexFactory(QSqlCursor &cur); 00033 QString getEntry(); 00034 00035 protected: 00036 QString entry; 00037 QString ascii2latex(QString &t); 00038 void start(QString label, QString ptype); 00039 void end(); 00040 void addAddress(QString &s); 00041 void addAuthor(QString &s); 00042 void addBooktitle(QString &s); 00043 void addChapter(QString &s); 00044 void addEdition(QString &s); 00045 void addEditor(QString &s); 00046 void addHowpublished(QString &s); 00047 void addInstitution(QString &s); 00048 void addJournal(QString &s); 00049 void addMonth(QString &s); 00050 void addNote(QString &s); 00051 void addNumber(QString &s); 00052 void addOrganization(QString &s); 00053 void addPages(QString &s); 00054 void addPublisher(QString &s); 00055 void addSchool(QString &s); 00056 void addSeries(QString &s); 00057 void addTitle(QString &s); 00058 void addType(QString &s); 00059 void addVolume(QString &s); 00060 void addYear(QString &s); 00061 void addKey(QString &s); 00062 void addCrossRef(QString &s); 00063 }; 00064 00065 class PublBibTexFactory: public BibTexFactory { 00066 private: 00067 PublBibTexFactory(const BibTexFactory&); 00068 QString entry; 00069 00070 public: 00071 PublBibTexFactory(QSqlCursor &cur); 00072 }; 00073 00074 class PartBibTexFactory: public BibTexFactory { 00075 private: 00076 PartBibTexFactory(const BibTexFactory&); 00077 QString entry; 00078 00079 public: 00080 PartBibTexFactory(QSqlCursor &cur); 00081 }; 00082 00083 #endif