X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetfoot.C;h=50f6af9a849ed9d3a094ead3b62193f8bab41b26;hb=3c8aba3b556871fb1100a2f98cd93d5d4e3f70c9;hp=3d7e76806207cbe7504e11e8976b984731760e09;hpb=132fe5e1322fbc86a32692df51eba78d6b4e479c;p=lyx.git diff --git a/src/insets/insetfoot.C b/src/insets/insetfoot.C index 3d7e768062..50f6af9a84 100644 --- a/src/insets/insetfoot.C +++ b/src/insets/insetfoot.C @@ -3,7 +3,7 @@ * * LyX, The Document Processor * - * Copyright (C) 1998 The LyX Team. + * Copyright 1998 The LyX Team. * *======================================================*/ @@ -17,11 +17,14 @@ #include "gettext.h" #include "lyxfont.h" #include "BufferView.h" -#include "lyxscreen.h" #include "Painter.h" +#include "support/LOstream.h" +using std::ostream; +using std::endl; -InsetFoot::InsetFoot(Buffer * bf): InsetCollapsable(bf) +InsetFoot::InsetFoot(Buffer * bf) + : InsetCollapsable(bf) { setLabel(_("foot")); LyXFont font(LyXFont::ALL_SANE); @@ -30,85 +33,58 @@ InsetFoot::InsetFoot(Buffer * bf): InsetCollapsable(bf) font.setColor(LColor::footnote); setLabelFont(font); setAutoCollapse(false); + setInsetName("Foot"); } -InsetFoot * InsetFoot::Clone() const +Inset * InsetFoot::Clone() const { InsetFoot * result = new InsetFoot(buffer); + result->init(buffer, this); + + result->collapsed = collapsed; return result; } -const char * InsetFoot::EditMessage() const +char const * InsetFoot::EditMessage() const { return _("Opened Footnote Inset"); } -#ifndef USE_OSTREAM_ONLY -int InsetFoot::Latex(string & l, signed char fragile) const -{ - int i; - - if (fragile) - l += "\\footnotetext{"; - else - l += "\\footnote{"; - - i = InsetText::Latex(l, fragile); - l += "}"; - - return i; -} -#endif -int InsetFoot::Latex(ostream & os, signed char fragile, bool fp) const +int InsetFoot::Latex(ostream & os, bool fragile, bool fp) const { - int i; + os << "\\footnote{%" << endl; - if (fragile) - os << "\\footnotetext{"; - else - os << "\\footnote{"; - - i = InsetText::Latex(os, fragile, fp); - os << "}"; - - return i; + int i = InsetText::Latex(os, fragile, fp); + os << "}%" << endl; + + return i + 2; } -void InsetFoot::Write(ostream & os) const -{ - os << "Foot\n"; - os << "\ncollapsed "; - if (display()) - os << "false"; - else - os << "true"; - os << "\n"; - WriteParagraphData(os); -} -void InsetFoot::Read(LyXLex & lex) +bool InsetFoot::InsertInset(BufferView * bv, Inset * inset) { - if (lex.IsOK()) { - string token, tmptok; - - lex.next(); - token = lex.GetString(); - if (token == "collapsed") { - lex.next(); - collapsed = lex.GetBool(); - } - } - InsetText::Read(lex); + if (!InsertInsetAllowed(inset)) + return false; + + return InsetText::InsertInset(bv, inset); } -bool InsetFoot::InsertInset(BufferView *bv, Inset * inset) +bool InsetFoot::InsertInsetAllowed(Inset * inset) const { if ((inset->LyxCode() == Inset::FOOT_CODE) || (inset->LyxCode() == Inset::MARGIN_CODE)) { return false; } - return InsetText::InsertInset(bv, inset); + return true; +} + +LyXFont InsetFoot::GetDrawFont(LyXParagraph * par, int pos) const +{ + LyXFont fn = InsetCollapsable::GetDrawFont(par, pos); + fn.decSize(); + fn.decSize(); + return fn; }