X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ftoc.h;h=a267a87dbeaeb8a6d634a3832de8ad4150c40bd9;hb=37e82a546392d43f787826b85481a11f2a27af15;hp=5af9e4959f894d29127ec602fca56c60948f4b08;hpb=16668d1632536894964c8ca624b3c90207ebe772;p=lyx.git diff --git a/src/toc.h b/src/toc.h index 5af9e4959f..a267a87dbe 100644 --- a/src/toc.h +++ b/src/toc.h @@ -1,96 +1,85 @@ // -*- C++ -*- -/* This file is part of - * ====================================================== - * - * LyX, The Document Processor +/** + * \file toc.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * Copyright 2002 The LyX Team. + * \author Jean-Marc Lasgouttes + * \author Angus Leeming * - * ====================================================== + * Full author contact details are available in file CREDITS. * - * \file toc.h - * \author Angus Leeming - * \author Jean-Marc Lasgouttes + * Nice functions and objects to handle TOCs */ #ifndef TOC_H #define TOC_H -#ifdef __GNUG__ -#pragma interface -#endif - -#include - -#include "support/LOstream.h" -#include "LString.h" - #include +#include #include +#include class Buffer; class LyXView; class Paragraph; +class FuncRequest; -/** Nice functions and objects to handle TOCs - */ -namespace toc -{ +namespace lyx { +namespace toc { /// struct TocItem { - TocItem(Paragraph * p, int d, string const & s) - : par(p), depth(d), str(s) {} + TocItem(int par_id, int d, std::string const & s) + : id_(par_id), depth(d), str(s) {} /// - string const asString() const; + std::string const asString() const; /// set cursor in LyXView to this TocItem void goTo(LyXView & lv_) const; /// the action corresponding to the goTo above - int action() const; - /// - Paragraph * par; - /// + FuncRequest action() const; + /// Paragraph ID containing this item + int id_; + /// nesting depth int depth; /// - string str; + std::string str; }; /// typedef std::vector Toc; /// -typedef std::map TocList; +typedef std::map TocList; /// -TocList const getTocList(Buffer const *); +TocList const getTocList(Buffer const &); /// -std::vector const getTypes(Buffer const *); +std::vector const getTypes(Buffer const &); /// -void asciiTocList(string const &, Buffer const *, std::ostream &); - +void asciiTocList(std::string const &, Buffer const &, std::ostream &); + /** Given the cmdName of the TOC param, returns the type used by ControlToc::getContents() */ -string const getType(string const & cmdName); +std::string const getType(std::string const & cmdName); -/// inline bool operator==(TocItem const & a, TocItem const & b) { - return a.par == b.par && a.str == b.str; + return a.id_ == b.id_ && a.str == b.str; // No need to compare depth. } -/// inline bool operator!=(TocItem const & a, TocItem const & b) { return !(a == b); - // No need to compare depth. } } // namespace toc +} // namespace lyx #endif // CONTROLTOC_H