X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetfoot.C;h=b9be27578b7835d9ee2798557114dcf6c0365da1;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=a2297b6cd9133aee05ea456eb6f32c6a1dc16b6e;hpb=7ea7dabed1b72cc25dcbdc482ac006f2b61dacfd;p=lyx.git diff --git a/src/insets/insetfoot.C b/src/insets/insetfoot.C index a2297b6cd9..b9be27578b 100644 --- a/src/insets/insetfoot.C +++ b/src/insets/insetfoot.C @@ -1,67 +1,94 @@ -/* This file is part of - * ====================================================== - * - * LyX, The Document Processor - * - * Copyright 1998 The LyX Team. +/** + * \file insetfoot.C + * 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 -#ifdef __GNUG__ -#pragma implementation -#endif - #include "insetfoot.h" + #include "gettext.h" -#include "lyxfont.h" -#include "BufferView.h" -#include "lyxtext.h" -#include "insets/insettext.h" -#include "support/LOstream.h" -#include "debug.h" +// the following are needed just to get the layout of the enclosing +// paragraph. This seems a bit too much to me (JMarc) +#include "lyxlayout.h" +#include "outputparams.h" +#include "paragraph.h" +#include "paragraph_funcs.h" + +#include "support/std_ostream.h" +namespace lyx { + +using std::string; +using std::auto_ptr; using std::ostream; -InsetFoot::InsetFoot() - : InsetFootlike() +InsetFoot::InsetFoot(BufferParams const & bp) + : InsetFootlike(bp) { setLabel(_("foot")); - setInsetName("Foot"); + setInsetName(from_ascii("Foot")); } -InsetFoot::InsetFoot(InsetFoot const & in, bool same_id) - : InsetFootlike(in, same_id) +InsetFoot::InsetFoot(InsetFoot const & in) + : InsetFootlike(in) { setLabel(_("foot")); - setInsetName("Foot"); + setInsetName(from_ascii("Foot")); } -Inset * InsetFoot::clone(Buffer const &, bool same_id) const +auto_ptr InsetFoot::doClone() const { - return new InsetFoot(*const_cast(this), same_id); + return auto_ptr(new InsetFoot(*this)); } -string const InsetFoot::editMessage() const +docstring const InsetFoot::editMessage() const { return _("Opened Footnote Inset"); } -int InsetFoot::latex(Buffer const * buf, - ostream & os, bool fragile, bool fp) const +int InsetFoot::latex(Buffer const & buf, odocstream & os, + OutputParams const & runparams_in) const { - os << "%\n\\footnote{"; - - int const i = inset.latex(buf, os, fragile, fp); + OutputParams runparams = runparams_in; + // footnotes in titling commands like \title have moving arguments + runparams.moving_arg |= runparams_in.intitle; + + // in titling commands, \thanks should be used instead of \footnote. + // some classes (e.g. memoir) do not understand \footnote. + if (runparams_in.intitle) + os << "%\n\\thanks{"; + else + os << "%\n\\footnote{"; + + int const i = InsetText::latex(buf, os, runparams); os << "%\n}"; - + return i + 2; } + + +int InsetFoot::docbook(Buffer const & buf, odocstream & os, + OutputParams const & runparams) const +{ + os << ""; + int const i = InsetText::docbook(buf, os, runparams); + os << ""; + + return i; +} + + +} // namespace lyx