mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-17 00:30:55 +00:00
9e9c96035c
that also makes sure it doesn't do more work than it needs to do, by limiting the size to 40 characters. Previously, InsetBranch::addToToc() would have added a string representing the entire contents of the branch! It's hard to imagine that having to recalculate that sort of thing doesn't cause some problems with speed, especially in documents with lots of notes and branches and such. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36974 a592a061-630c-0410-9148-cb99ea01b6c8
68 lines
1.4 KiB
C++
68 lines
1.4 KiB
C++
/**
|
|
* \file InsetMarginal.cpp
|
|
* This file is part of LyX, the document processor.
|
|
* Licence details can be found in the file COPYING.
|
|
*
|
|
* \author Jürgen Vigna
|
|
* \author Lars Gullik Bjønnes
|
|
*
|
|
* Full author contact details are available in file CREDITS.
|
|
*/
|
|
|
|
#include <config.h>
|
|
|
|
#include "InsetMarginal.h"
|
|
|
|
#include "Buffer.h"
|
|
#include "BufferParams.h"
|
|
#include "OutputParams.h"
|
|
#include "TocBackend.h"
|
|
|
|
#include "support/docstream.h"
|
|
#include "support/gettext.h"
|
|
|
|
namespace lyx {
|
|
|
|
|
|
InsetMarginal::InsetMarginal(Buffer * buf)
|
|
: InsetFootlike(buf)
|
|
{}
|
|
|
|
|
|
int InsetMarginal::plaintext(odocstream & os,
|
|
OutputParams const & runparams) const
|
|
{
|
|
os << '[' << buffer().B_("margin") << ":\n";
|
|
InsetText::plaintext(os, runparams);
|
|
os << "\n]";
|
|
|
|
return PLAINTEXT_NEWLINE + 1; // one char on a separate line
|
|
}
|
|
|
|
|
|
int InsetMarginal::docbook(odocstream & os,
|
|
OutputParams const & runparams) const
|
|
{
|
|
os << "<note role=\"margin\">";
|
|
int const i = InsetText::docbook(os, runparams);
|
|
os << "</note>";
|
|
|
|
return i;
|
|
}
|
|
|
|
|
|
void InsetMarginal::addToToc(DocIterator const & cpit)
|
|
{
|
|
DocIterator pit = cpit;
|
|
pit.push_back(CursorSlice(*this));
|
|
|
|
Toc & toc = buffer().tocBackend().toc("marginalnote");
|
|
docstring str;
|
|
text().forToc(str, TOC_ENTRY_LENGTH);
|
|
toc.push_back(TocItem(pit, 0, str, toolTipText()));
|
|
// Proceed with the rest of the inset.
|
|
InsetFootlike::addToToc(cpit);
|
|
}
|
|
|
|
} // namespace lyx
|