X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsettheorem.C;h=4273ffecf65e073fa74eccfabdf872efcd66b21f;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=637e4933c7ba011ef69175275d33bf3bf7f39330;hpb=77639efa94ce5c071cf47bfd3ba0026f157a1e6a;p=lyx.git diff --git a/src/insets/insettheorem.C b/src/insets/insettheorem.C index 637e4933c7..4273ffecf6 100644 --- a/src/insets/insettheorem.C +++ b/src/insets/insettheorem.C @@ -1,30 +1,32 @@ -/* This file is part of - * ====================================================== - * - * LyX, The Document Processor - * - * Copyright 1998 The LyX Team. +/** + * \file insettheorem.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 "insettheorem.h" +#include "insets/insettext.h" + +#include "debug.h" #include "gettext.h" #include "lyxfont.h" -#include "BufferView.h" #include "lyxtext.h" -#include "support/LOstream.h" -#include "debug.h" -#include "insets/insettext.h" +#include "metricsinfo.h" + +#include "support/std_ostream.h" + + +namespace lyx { -using std::ostream; using std::endl; +using std::ostream; + /* The intention is to be able to create arbitrary theorem like environments @@ -40,54 +42,66 @@ InsetTheorem::InsetTheorem() LyXFont font(LyXFont::ALL_SANE); font.decSize(); font.decSize(); - font.setColor(LColor::footnote); + font.setColor(LColor::collapsable); setLabelFont(font); +#if 0 setAutoCollapse(false); +#endif setInsetName("Theorem"); } -void InsetTheorem::Write(Buffer const * buf, ostream & os) const +void InsetTheorem::write(Buffer const * buf, ostream & os) const { os << getInsetName() << "\n"; - InsetCollapsable::Write(buf, os); + InsetCollapsable::write(buf, os); } -Inset * InsetTheorem::Clone(Buffer const &) const +auto_ptr InsetTheorem::doClone() const { - InsetTheorem * result = new InsetTheorem; - - result->collapsed = collapsed; +#ifdef WITH_WARNINGS +#warning Is this inset used? If YES this is WRONG!!! (Jug) +#endif + auto_ptr result(new InsetTheorem); + result->setCollapsed(!isOpen()); + return result; } +bool InsetTheorem::metrics(MetricsInfo & mi, Dimension & dim) const +{ + InsetCollapsable::metrics(mi, dim); + center_indent_ = (mi.base.textwidth - dim.wid) / 2; + dim.wid = mi.base.textwidth; + bool const changed = dim_ != dim; + dim_ = dim; + return changed; +} + + +void InsetTOC::draw(PainterInfo & pi, int x, int y) const +{ + InsetCollapsable::draw(pi, x + center_indent_, y); +} + -string const InsetTheorem::EditMessage() const +string const InsetTheorem::editMessage() const { return _("Opened Theorem Inset"); } -int InsetTheorem::Latex(Buffer const * buf, - ostream & os, bool fragile, bool fp) const +int InsetTheorem::latex(Buffer const * buf, odocstream & os, + OutputParams const & runparams) const { os << "\\begin{theorem}%\n"; - - int i = inset.Latex(buf, os, fragile, fp); + + int i = inset.latex(buf, os, runparams); os << "\\end{theorem}%\n"; - + return i + 2; } -bool InsetTheorem::InsertInsetAllowed(Inset * inset) const -{ - lyxerr << "InsetTheorem::InsertInsetAllowed" << endl; - - if ((inset->LyxCode() == Inset::FOOT_CODE) || - (inset->LyxCode() == Inset::MARGIN_CODE)) { - return false; - } - return true; -} +} // namespace lyx