X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetBox.h;h=cf0f689ed135b5f3ad294ea3f08d7e589dd7c2d5;hb=90f7007a2e6c78ffd031e4636ff909ab1bc2ddec;hp=3f3b43b73f7d2f06b75a905993feab0bb36c1438;hpb=8c622e4ff04765c786cbe9ccc9824f4429aee4e7;p=lyx.git diff --git a/src/insets/InsetBox.h b/src/insets/InsetBox.h index 3f3b43b73f..cf0f689ed1 100644 --- a/src/insets/InsetBox.h +++ b/src/insets/InsetBox.h @@ -15,12 +15,12 @@ #include "InsetCollapsable.h" #include "Length.h" -#include "MailInset.h" namespace lyx { -class InsetBoxParams { +class InsetBoxParams +{ public: /// InsetBoxParams(std::string const &); @@ -28,16 +28,19 @@ public: void write(std::ostream & os) const; /// void read(Lexer & lex); + /// std::string type; - /// Use a parbox (true) or minipage (false) + /// Is there a parbox? bool use_parbox; + /// Is there a makebox? + bool use_makebox; /// Do we have an inner parbox or minipage to format paragraphs to /// columnwidth? bool inner_box; /// Length width; - /// "special" widths, see usrguide.dvi §3.5 + /// "special" widths, see usrguide.dvi §3.5 std::string special; /// char pos; @@ -52,98 +55,104 @@ public: }; -/** The fbox/fancybox inset -*/ -class InsetBox : public InsetCollapsable { +/////////////////////////////////////////////////////////////////////// +// +// The fbox/fancybox inset +// +/////////////////////////////////////////////////////////////////////// + + +class InsetBox : public InsetCollapsable +{ public: /// - InsetBox(BufferParams const &, std::string const &); + enum BoxType { + Frameless, + Boxed, + Framed, + ovalbox, + Ovalbox, + Shadowbox, + Shaded, + Doublebox + }; /// - ~InsetBox(); + InsetBox(Buffer *, std::string const &); + /// - virtual docstring const editMessage() const; + static std::string params2string(InsetBoxParams const &); /// - InsetBase::Code lyxCode() const { return InsetBase::BOX_CODE; } + static void string2params(std::string const &, InsetBoxParams &); /// - void write(Buffer const &, std::ostream &) const; + InsetBoxParams const & params() const { return params_; } + + /// \name Public functions inherited from Inset class + //@{ /// - void read(Buffer const & buf, Lexer & lex); + InsetCode lyxCode() const { return BOX_CODE; } /// - void setButtonLabel(); + docstring layoutName() const; /// - bool metrics(MetricsInfo &, Dimension &) const; - /// show the Box dialog - bool showInsetDialog(BufferView * bv) const; + void write(std::ostream &) const; /// - bool display() const { return false; } + void read(Lexer & lex); /// - bool forceDefaultParagraphs(idx_type) const; + void metrics(MetricsInfo &, Dimension &) const; /// - bool neverIndent(Buffer const &) const { return true; } + DisplayType display() const { return Inline; } /// - bool noFontChange() const { return true; } + ColorCode backgroundColor(PainterInfo const &) const; /// - int latex(Buffer const &, odocstream &, OutputParams const &) const; + bool allowParagraphCustomization(idx_type = 0) const { return !forcePlainLayout(); } /// - int plaintext(Buffer const &, odocstream &, OutputParams const &) const; + bool forcePlainLayout(idx_type = 0) const; /// - int docbook(Buffer const &, odocstream &, OutputParams const &) const; + bool neverIndent() const { return true; } /// - void validate(LaTeXFeatures &) const; + bool inheritFont() const { return false; } /// - InsetBoxParams const & params() const { return params_; } + void latex(otexstream &, OutputParams const &) const; /// - bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const; + int plaintext(odocstream &, OutputParams const &) const; /// - enum BoxType { - Frameless, - Boxed, - ovalbox, - Ovalbox, - Shadowbox, - Doublebox - }; -protected: - InsetBox(InsetBox const &); - virtual 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 doClone() const; - - /// used by the constructors - void init(); + int docbook(odocstream &, OutputParams const &) const; /// - InsetBoxParams params_; -}; - - -class InsetBoxMailer : public MailInset { -public: + docstring xhtml(XHTMLStream &, OutputParams const &) const; /// - InsetBoxMailer(InsetBox & inset); + void validate(LaTeXFeatures &) const; /// - virtual InsetBase & inset() const { return inset_; } + bool hasFixedWidth() const; /// - virtual std::string const & name() const { return name_; } + std::string contextMenuName() const; + //@} + + /// \name Public functions inherited from InsetCollapsable class + //@{ /// - virtual std::string const inset2string(Buffer const &) const; + void setButtonLabel(); + //@} + +protected: + /// \name Protected functions inherited from Inset class + //@{ /// - static std::string const params2string(InsetBoxParams const &); + bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const; /// - static void string2params(std::string const &, InsetBoxParams &); + void doDispatch(Cursor & cur, FuncRequest & cmd); + /// + Inset * clone() const { return new InsetBox(*this); } + //@} private: + /// used by the constructors + void init(); + /// - static std::string const name_; - /// - InsetBox & inset_; + friend class InsetBoxParams; + InsetBoxParams params_; }; - } // namespace lyx -#endif // INSET_BOX_H +#endif // INSETBOX_H