X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetBox.h;h=d5610b746a0344a18d1cf551d5c72e91a3988e8f;hb=96dea61f22c04529e726cab36acf0240d41fa778;hp=2567a5ca5651f3f6e21675c775c9ed94f5cd6c17;hpb=0ae4b20a2887c57ddcf439d5780e80844e81f9c0;p=lyx.git diff --git a/src/insets/InsetBox.h b/src/insets/InsetBox.h index 2567a5ca56..d5610b746a 100644 --- a/src/insets/InsetBox.h +++ b/src/insets/InsetBox.h @@ -6,6 +6,7 @@ * * \author Angus Leeming * \author Martin Vermeer + * \author Uwe Stöhr * * Full author contact details are available in file CREDITS. */ @@ -13,7 +14,7 @@ #ifndef INSETBOX_H #define INSETBOX_H -#include "InsetCollapsable.h" +#include "InsetCollapsible.h" #include "Length.h" @@ -31,14 +32,16 @@ public: /// 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; @@ -50,6 +53,16 @@ public: Length height; /// std::string height_special; + /// + Length thickness; + /// + Length separation; + /// + Length shadowsize; + /// + std::string framecolor; + /// + std::string backgroundcolor; }; @@ -61,7 +74,7 @@ public: /////////////////////////////////////////////////////////////////////// -class InsetBox : public InsetCollapsable +class InsetBox : public InsetCollapsible { public: /// @@ -76,66 +89,83 @@ public: Doublebox }; /// - InsetBox(Buffer const &, std::string const &); - /// - ~InsetBox(); + InsetBox(Buffer *, std::string const &); + /// static std::string params2string(InsetBoxParams const &); /// static void string2params(std::string const &, InsetBoxParams &); -private: /// - friend class InsetBoxParams; - /// - docstring editMessage() const; + InsetBoxParams const & params() const { return params_; } + + /// \name Public functions inherited from Inset class + //@{ /// InsetCode lyxCode() const { return BOX_CODE; } /// - docstring name() const; + docstring layoutName() const; /// void write(std::ostream &) const; /// void read(Lexer & lex); /// - void setButtonLabel(); - /// void metrics(MetricsInfo &, Dimension &) const; - /// show the Box dialog - bool showInsetDialog(BufferView * bv) const; /// DisplayType display() const { return Inline; } /// - bool allowParagraphCustomization(idx_type = 0) { return forceEmptyLayout(); } + ColorCode backgroundColor(PainterInfo const &) const; + /// + LyXAlignment contentAlignment() const; /// - bool forceEmptyLayout(idx_type = 0) const; + bool allowParagraphCustomization(idx_type = 0) const { return !forcePlainLayout(); } + /// + bool allowMultiPar() const; + /// + bool forcePlainLayout(idx_type = 0) const; /// bool neverIndent() const { return true; } /// - bool noFontChange() const { return true; } + bool inheritFont() const { return false; } /// - int latex(odocstream &, OutputParams const &) const; + void latex(otexstream &, OutputParams const &) const; /// - int plaintext(odocstream &, OutputParams const &) const; + int plaintext(odocstringstream & ods, OutputParams const & op, + size_t max_length = INT_MAX) const; /// int docbook(odocstream &, OutputParams const &) const; /// + docstring xhtml(XHTMLStream &, OutputParams const &) const; + /// void validate(LaTeXFeatures &) const; /// - InsetBoxParams const & params() const { return params_; } + bool hasFixedWidth() const; + /// + std::string contextMenuName() const; + //@} + + /// \name Public functions inherited from InsetCollapsible class + //@{ + /// + void setButtonLabel(); + //@} + +protected: + /// \name Protected functions inherited from Inset class + //@{ /// bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const; /// void doDispatch(Cursor & cur, FuncRequest & cmd); - /// Is the width forced to some value? - bool hasFixedWidth() const; /// Inset * clone() const { return new InsetBox(*this); } + //@} + +private: /// used by the constructors void init(); - /// - docstring contextMenu(BufferView const & bv, int x, int y) const; /// + friend class InsetBoxParams; InsetBoxParams params_; };