X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetfootlike.C;h=8aef1d25bdb2fb26e1323ffe8dca305ee40dbecd;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=e6e448052d670a31668fc4c7e2b7109a991f6210;hpb=946895278050e4a464c9591e99232a72f5f4dec9;p=lyx.git diff --git a/src/insets/insetfootlike.C b/src/insets/insetfootlike.C index e6e448052d..8aef1d25bd 100644 --- a/src/insets/insetfootlike.C +++ b/src/insets/insetfootlike.C @@ -1,53 +1,84 @@ -/* This file is part of - * ====================================================== - * - * LyX, The Document Processor - * - * Copyright 1998 The LyX Team. +/** + * \file insetfootlike.C + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * ====================================================== + * \author Lars Gullik Bjønnes + * + * Full author contact details are available in file CREDITS. */ #include -#ifdef __GNUG__ -#pragma implementation -#endif - #include "insetfootlike.h" -#include "lyxfont.h" + +#include "buffer.h" #include "BufferView.h" -#include "lyxtext.h" -#include "support/LOstream.h" +#include "bufferparams.h" +#include "LColor.h" +#include "metricsinfo.h" +#include "paragraph.h" + + +namespace lyx { + +InsetFootlike::InsetFootlike(BufferParams const & bp) + : InsetCollapsable(bp) +{ + LyXFont font(LyXFont::ALL_SANE); + font.decSize(); + font.decSize(); + font.setColor(LColor::collapsable); + setLabelFont(font); +} -using std::ostream; -using std::endl; -InsetFootlike::InsetFootlike() - : InsetCollapsable() +InsetFootlike::InsetFootlike(InsetFootlike const & in) + : InsetCollapsable(in) { LyXFont font(LyXFont::ALL_SANE); font.decSize(); font.decSize(); - font.setColor(LColor::footnote); + font.setColor(LColor::collapsable); setLabelFont(font); - setAutoCollapse(false); } -void InsetFootlike::Write(Buffer const * buf, ostream & os) const +bool InsetFootlike::metrics(MetricsInfo & mi, Dimension & dim) const +{ + LyXFont tmpfont = mi.base.font; + mi.base.font = mi.base.bv->buffer()->params().getFont(); + InsetCollapsable::metrics(mi, dim); + mi.base.font = tmpfont; + bool const changed = dim_ != dim; + dim_ = dim; + return changed; +} + + +void InsetFootlike::draw(PainterInfo & pi, int x, int y) const { - os << getInsetName() << "\n"; - InsetCollapsable::Write(buf, os); + LyXFont tmpfont = pi.base.font; + pi.base.font = pi.base.bv->buffer()->params().getFont(); + InsetCollapsable::draw(pi, x, y); + pi.base.font = tmpfont; } -#if 0 -LyXFont InsetFootlike::GetDrawFont(BufferView * bv, - LyXParagraph * p, int pos) const +void InsetFootlike::write(Buffer const & buf, std::ostream & os) const { - LyXFont fn = getLyXText(bv)->GetFont(bv->buffer(), p, pos); - fn.decSize().decSize(); - return fn; + os << to_utf8(getInsetName()) << "\n"; + InsetCollapsable::write(buf, os); } -#endif + + +bool InsetFootlike::insetAllowed(InsetBase::Code code) const +{ + if (code == InsetBase::FOOT_CODE || code == InsetBase::MARGIN_CODE + || code == InsetBase::FLOAT_CODE) + return false; + return InsetCollapsable::insetAllowed(code); +} + + +} // namespace lyx