#define INSETBOX_H
#include "InsetCollapsable.h"
-#include "LyXLength.h"
+#include "Length.h"
#include "MailInset.h"
/// columnwidth?
bool inner_box;
///
- LyXLength width;
+ Length width;
/// "special" widths, see usrguide.dvi ยง3.5
std::string special;
///
///
char inner_pos;
///
- LyXLength height;
+ Length height;
///
std::string height_special;
};
class InsetBox : public InsetCollapsable {
public:
///
- InsetBox(BufferParams const &, std::string const &);
+ enum BoxType {
+ Frameless,
+ Boxed,
+ Framed,
+ ovalbox,
+ Ovalbox,
+ Shadowbox,
+ Shaded,
+ Doublebox
+ };
+ ///
+ InsetBox(Buffer const &, std::string const &);
///
~InsetBox();
+private:
+ ///
+ friend class InsetBoxParams;
+ friend class InsetBoxMailer;
///
- virtual docstring const editMessage() const;
+ docstring editMessage() const;
///
- InsetBase::Code lyxCode() const { return InsetBase::BOX_CODE; }
+ InsetCode lyxCode() const { return BOX_CODE; }
///
- void write(Buffer const &, std::ostream &) const;
+ docstring name() const;
///
- void read(Buffer const & buf, Lexer & lex);
+ void write(std::ostream &) const;
+ ///
+ void read(Lexer & lex);
///
void setButtonLabel();
///
- bool metrics(MetricsInfo &, Dimension &) const;
+ void metrics(MetricsInfo &, Dimension &) const;
/// show the Box dialog
bool showInsetDialog(BufferView * bv) const;
///
- bool display() const { return false; }
+ DisplayType display() const { return Inline; }
+ ///
+ virtual bool allowParagraphCustomization(idx_type = 0)
+ { return forceEmptyLayout(); }
///
- bool forceDefaultParagraphs(idx_type) const;
+ virtual bool forceEmptyLayout(idx_type = 0) const;
///
- bool neverIndent(Buffer const &) const { return true; }
+ bool neverIndent() const { return true; }
///
bool noFontChange() const { return true; }
///
- int latex(Buffer const &, odocstream &, OutputParams const &) const;
+ int latex(odocstream &, OutputParams const &) const;
///
- int plaintext(Buffer const &, odocstream &, OutputParams const &) const;
+ int plaintext(odocstream &, OutputParams const &) const;
///
- int docbook(Buffer const &, odocstream &, OutputParams const &) const;
+ int docbook(odocstream &, OutputParams const &) const;
///
void validate(LaTeXFeatures &) const;
///
InsetBoxParams const & params() const { return params_; }
///
- bool getStatus(LCursor &, FuncRequest const &, FuncStatus &) const;
+ bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const;
///
- enum BoxType {
- Frameless,
- Boxed,
- ovalbox,
- Ovalbox,
- Shadowbox,
- Doublebox
- };
-protected:
- InsetBox(InsetBox const &);
- virtual void doDispatch(LCursor & cur, FuncRequest & cmd);
+ void doDispatch(Cursor & cur, FuncRequest & cmd);
/// Is the width forced to some value?
- virtual bool hasFixedWidth() const;
-private:
- friend class InsetBoxParams;
-
- virtual std::auto_ptr<InsetBase> doClone() const;
-
+ bool hasFixedWidth() const;
+ ///
+ Inset * clone() const { return new InsetBox(*this); }
/// used by the constructors
void init();
+
///
InsetBoxParams params_;
};
///
InsetBoxMailer(InsetBox & inset);
///
- virtual InsetBase & inset() const { return inset_; }
+ virtual Inset & inset() const { return inset_; }
///
virtual std::string const & name() const { return name_; }
///