2 /* This file is part of
3 * ======================================================
5 * LyX, The Document Processor
7 * Copyright 2001 The LyX Team.
9 * ======================================================
12 #ifndef InsetMinipage_H
13 #define InsetMinipage_H
19 #include "insetcollapsable.h"
21 #include <sigc++/signal_system.h>
23 /** The minipage inset
26 class InsetMinipage : public InsetCollapsable {
46 void write(Buffer const * buf, std::ostream & os) const;
48 void read(Buffer const * buf, LyXLex & lex);
50 virtual Inset * clone(Buffer const &) const;
52 int ascent(BufferView *, LyXFont const &) const;
54 int descent(BufferView *, LyXFont const &) const;
56 Inset::Code lyxCode() const { return Inset::MINIPAGE_CODE; }
58 int latex(Buffer const *, std::ostream &, bool fragile, bool fp) const;
60 string const editMessage() const;
62 bool insertInsetAllowed(Inset * inset) const;
68 InnerPosition innerPos() const;
70 void innerPos(InnerPosition);
72 string const & height() const;
74 void height(string const &);
76 string const & width() const;
78 void width(string const &);
80 SigC::Signal0<void> hideDialog;
82 void insetButtonRelease(BufferView * bv, int x, int y, int button);
84 int getMaxWidth(BufferView *, UpdatableInset const *) const;
86 bool needFullRow() const { return false; }
88 bool showInsetDialog(BufferView *) const;
93 InnerPosition inner_pos_;