X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetfoot.C;h=50f6af9a849ed9d3a094ead3b62193f8bab41b26;hb=3c8aba3b556871fb1100a2f98cd93d5d4e3f70c9;hp=37a294aef845e3598eefa747c4e00199ef0297be;hpb=b8dd79b64d49fc0136579341a213eb1278966b67;p=lyx.git diff --git a/src/insets/insetfoot.C b/src/insets/insetfoot.C index 37a294aef8..50f6af9a84 100644 --- a/src/insets/insetfoot.C +++ b/src/insets/insetfoot.C @@ -17,9 +17,11 @@ #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) @@ -31,13 +33,14 @@ InsetFoot::InsetFoot(Buffer * bf) font.setColor(LColor::footnote); setLabelFont(font); setAutoCollapse(false); + setInsetName("Foot"); } Inset * InsetFoot::Clone() const { InsetFoot * result = new InsetFoot(buffer); - result->init(buffer, par); + result->init(buffer, this); result->collapsed = collapsed; return result; @@ -50,51 +53,38 @@ char const * InsetFoot::EditMessage() const } -int InsetFoot::Latex(ostream & os, signed char fragile, bool fp) const +int InsetFoot::Latex(ostream & os, bool fragile, bool fp) const { - if (fragile) - os << "\\footnotetext{"; - else - os << "\\footnote{"; - - int i = InsetText::Latex(os, fragile, fp); - os << "}"; - - return i; + os << "\\footnote{%" << endl; + + int i = InsetText::Latex(os, fragile, fp); + os << "}%" << endl; + + return i + 2; } -void InsetFoot::Write(ostream & os) const +bool InsetFoot::InsertInset(BufferView * bv, Inset * inset) { - os << "Foot\n" - << "\ncollapsed "; - if (display()) - os << "false\n"; - else - os << "true\n"; - WriteParagraphData(os); -} - + if (!InsertInsetAllowed(inset)) + return false; -void InsetFoot::Read(LyXLex & lex) -{ - if (lex.IsOK()) { - lex.next(); - string token = lex.GetString(); - if (token == "collapsed") { - lex.next(); - collapsed = lex.GetBool(); - } - } - InsetText::Read(lex); + 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; }