]> 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 75dd3ad5816a80593c1d1ecda4f33a5515bd2541..8aef1d25bdb2fb26e1323ffe8dca305ee40dbecd 100644 (file)
@@ -1,48 +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 <config.h>
 
-#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"
 
 
-InsetFootlike::InsetFootlike()
-       : InsetCollapsable()
+namespace lyx {
+
+InsetFootlike::InsetFootlike(BufferParams const & bp)
+       : InsetCollapsable(bp)
 {
        LyXFont font(LyXFont::ALL_SANE);
        font.decSize();
        font.decSize();
        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)
 {
-       os << getInsetName() << "\n";
+       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 << to_utf8(getInsetName()) << "\n";
        InsetCollapsable::write(buf, os);
 }
 
 
-bool InsetFootlike::insetAllowed(Inset::Code code) const
+bool InsetFootlike::insetAllowed(InsetBase::Code code) const
 {
-       if ((code == Inset::FOOT_CODE) || (code == Inset::MARGIN_CODE))
+       if (code == InsetBase::FOOT_CODE || code == InsetBase::MARGIN_CODE
+           || code == InsetBase::FLOAT_CODE)
                return false;
        return InsetCollapsable::insetAllowed(code);
 }
+
+
+} // namespace lyx