X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsettheorem.C;h=4273ffecf65e073fa74eccfabdf872efcd66b21f;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=ad02764ea8277da4b5fc928ec2fdc922f5e62320;hpb=2a5ab60ce880dea3719832844ee857275b837019;p=lyx.git diff --git a/src/insets/insettheorem.C b/src/insets/insettheorem.C index ad02764ea8..4273ffecf6 100644 --- a/src/insets/insettheorem.C +++ b/src/insets/insettheorem.C @@ -5,23 +5,28 @@ * * \author Lars Gullik Bjønnes * - * Full author contact details are available in file CREDITS + * Full author contact details are available in file CREDITS. */ #include - #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 @@ -53,17 +58,33 @@ void InsetTheorem::write(Buffer const * buf, ostream & os) const } -InsetBase * InsetTheorem::clone() const +auto_ptr InsetTheorem::doClone() const { #ifdef WITH_WARNINGS #warning Is this inset used? If YES this is WRONG!!! (Jug) #endif - InsetTheorem * result = new InsetTheorem; + auto_ptr result(new InsetTheorem); + result->setCollapsed(!isOpen()); - result->collapsed_ = collapsed_; 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 { @@ -71,8 +92,8 @@ string const InsetTheorem::editMessage() const } -int InsetTheorem::latex(Buffer const * buf, ostream & os, - LatexRunParams const & runparams) const +int InsetTheorem::latex(Buffer const * buf, odocstream & os, + OutputParams const & runparams) const { os << "\\begin{theorem}%\n"; @@ -81,3 +102,6 @@ int InsetTheorem::latex(Buffer const * buf, ostream & os, return i + 2; } + + +} // namespace lyx