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 {
44 InsetMinipage(InsetMinipage const &, bool same_id = false);
48 void write(Buffer const * buf, std::ostream & os) const;
50 void read(Buffer const * buf, LyXLex & lex);
52 Inset * clone(Buffer const &, bool same_id = false) const;
54 int ascent(BufferView *, LyXFont const &) const;
56 int descent(BufferView *, LyXFont const &) const;
58 Inset::Code lyxCode() const { return Inset::MINIPAGE_CODE; }
60 int latex(Buffer const *, std::ostream &, bool fragile, bool fp) const;
62 string const editMessage() const;
64 bool insetAllowed(Inset::Code) const;
70 InnerPosition innerPos() const;
72 void innerPos(InnerPosition);
74 string const & height() const;
76 void height(string const &);
78 string const & width() const;
80 void width(string const &);
82 SigC::Signal0<void> hideDialog;
84 void insetButtonRelease(BufferView * bv, int x, int y, int button);
86 int getMaxWidth(BufferView *, UpdatableInset const *) const;
88 bool needFullRow() const { return false; }
90 bool showInsetDialog(BufferView *) const;
96 InnerPosition inner_pos_;