X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetfootlike.C;h=8aef1d25bdb2fb26e1323ffe8dca305ee40dbecd;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=f5024b17895aceb9f07ee65c0f7605f3e6bd16a0;hpb=83acbbd5237373926c629855379e1df9a04209b2;p=lyx.git diff --git a/src/insets/insetfootlike.C b/src/insets/insetfootlike.C index f5024b1789..8aef1d25bd 100644 --- a/src/insets/insetfootlike.C +++ b/src/insets/insetfootlike.C @@ -1,40 +1,84 @@ -/* This file is part of - * ====================================================== - * - * LyX, The Document Processor - * - * Copyright 2000-2001 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 "lyxtext.h" -#include "support/LOstream.h" +#include "BufferView.h" +#include "bufferparams.h" +#include "LColor.h" +#include "metricsinfo.h" +#include "paragraph.h" + +namespace lyx { -InsetFootlike::InsetFootlike() - : InsetCollapsable() +InsetFootlike::InsetFootlike(BufferParams const & bp) + : InsetCollapsable(bp) { 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, std::ostream & os) const +InsetFootlike::InsetFootlike(InsetFootlike const & in) + : InsetCollapsable(in) +{ + LyXFont font(LyXFont::ALL_SANE); + font.decSize(); + font.decSize(); + font.setColor(LColor::collapsable); + setLabelFont(font); +} + + +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 +{ + LyXFont tmpfont = pi.base.font; + pi.base.font = pi.base.bv->buffer()->params().getFont(); + InsetCollapsable::draw(pi, x, y); + pi.base.font = tmpfont; +} + + +void InsetFootlike::write(Buffer const & buf, std::ostream & os) const { - os << getInsetName() << "\n"; - InsetCollapsable::Write(buf, os); + os << to_utf8(getInsetName()) << "\n"; + InsetCollapsable::write(buf, os); } + + +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