Logo Search packages:      
Sourcecode: cb2bib version File versions


 *   Copyright (C) 2004-2009 by Pere Constans
 *   constans@molspaces.com
 *   cb2Bib version 1.3.0. Licensed under the GNU GPL version 3.
 *   See the LICENSE file that comes with this distribution.

#include "cb2bib_parameters.h"
#include "coreBibParser.h"
#include "journalDB.h"
#include "monthDB.h"

class bibPreparser;
class citeIDMaker;
class heuristicBibParser;
class preprocess;

    Class for bibliographic reference parsing and manipulation

    @author Pere Constans
00026 class bibParser : public coreBibParser


    bibParser(QObject* parento = 0);
    virtual ~bibParser();

    QString documentFilename(const QString& base_fn, const QString& bibtex_fn);
    QString excerpt(const QString& text, const QStringList& hints) const;
    QString parse(const QString& field, const QString& value, const QString& init_value = QString());
    QString setJournalsToAbbreviated(const QString& text);
    QString setJournalsToFull(const QString& text);
    QString setTags(const QString& text) const;
    bibReference& parse(bibReference& reference);
    virtual void setCiteID();
    virtual void setField(const QString& name, const QString& value);
    virtual void setReferenceType(const QString& type);
    void guessFields(const QString& text);
    void parse(const QString& text, QString* out_text, QString* out_tagtext);
    void preparse(const QString& text, QString* out_text);

    inline QString abbreviatedJournal(const QString& name) const
        return _journal_dbP->retrieve(name);
    inline QString fullJournal(const QString& name) const
        return _journal_dbP->retrieveFull(name);
    inline bool isAutoRecognized() const
        return _auto_recognized;
    inline QString autoRecognizedString() const
        return _auto_recognized_string;
    inline QString toBibTeX(bool sig = true) const
        if (sig)
            return  "% cb2Bib " + C2B_VERSION + "\n" + referenceToFomattedBibTeX(_current_reference) + "\n";
            return referenceToFomattedBibTeX(_current_reference);
    inline QString toBibTeX(const bibReference& ref, bool sig = true) const
        if (sig)
            return  "% cb2Bib " + C2B_VERSION + "\n" + referenceToFomattedBibTeX(ref) + "\n";
            return referenceToFomattedBibTeX(ref);
    inline const bibReference& currentReference() const
        return _current_reference;
    inline void clearCurrentReference()
        _auto_recognized = false;
    inline int fieldCount() const
        return coreBibParser::fieldCount(_current_reference);

    void statusMessage(const QString& ms);

    bibPreparser* _preparserP;
    bibReference _current_reference;
    citeIDMaker* _cite_idmP;
    inline virtual void currentReferenceUpdated() {}
    virtual void checkRegExpFile(const QString& fn);

    QString _auto_recognized_string;
    QString removeTags(const QString& text) const;
    bool _auto_recognized;
    heuristicBibParser* _heuristic_parserP;
    journalDB* _journal_dbP;
    monthDB* _month_dbP;
    preprocess* _preprocessP;

    friend class heuristicBibParser;



Generated by  Doxygen 1.6.0   Back to index