]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetfootlike.C
* src/LyXAction.C: mark goto-clear-bookmark as working without buffer
[lyx.git] / src / insets / insetfootlike.C
index 5829adc652d294bc61a425630dc579eff4078d76..8aef1d25bdb2fb26e1323ffe8dca305ee40dbecd 100644 (file)
 #include <config.h>
 
 #include "insetfootlike.h"
-#include "metricsinfo.h"
-#include "lyxfont.h"
-#include "buffer.h"
-#include "lyxtext.h"
-#include "support/LOstream.h"
 
+#include "buffer.h"
+#include "BufferView.h"
+#include "bufferparams.h"
+#include "LColor.h"
+#include "metricsinfo.h"
+#include "paragraph.h"
 
-using std::ostream;
 
+namespace lyx {
 
 InsetFootlike::InsetFootlike(BufferParams const & bp)
        : InsetCollapsable(bp)
@@ -43,26 +44,41 @@ InsetFootlike::InsetFootlike(InsetFootlike const & in)
 }
 
 
-void InsetFootlike::metrics(MetricsInfo & mi, Dimension & dim) 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
 {
-               InsetCollapsable::metrics(mi, dim);
-               if (isOpen()) 
-                       dim.wid = mi.base.textwidth;
-               dim_ = dim;
+       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, ostream & os) const
+void InsetFootlike::write(Buffer const & buf, std::ostream & os) const
 {
-       os << getInsetName() << "\n";
+       os << to_utf8(getInsetName()) << "\n";
        InsetCollapsable::write(buf, os);
 }
 
 
-bool InsetFootlike::insetAllowed(InsetOld::Code code) const
+bool InsetFootlike::insetAllowed(InsetBase::Code code) const
 {
-       if (code == InsetOld::FOOT_CODE || code == InsetOld::MARGIN_CODE
-           || code == InsetOld::FLOAT_CODE)
+       if (code == InsetBase::FOOT_CODE || code == InsetBase::MARGIN_CODE
+           || code == InsetBase::FLOAT_CODE)
                return false;
        return InsetCollapsable::insetAllowed(code);
 }
+
+
+} // namespace lyx