*
* \author Angus Leeming
* \author Martin Vermeer
+ * \author Uwe Stöhr
*
* Full author contact details are available in file CREDITS.
*/
#ifndef INSETBOX_H
#define INSETBOX_H
-#include "InsetCollapsable.h"
-#include "Length.h"
+#include "InsetCollapsible.h"
+
+#include "support/Length.h"
namespace lyx {
{
public:
///
- InsetBoxParams(std::string const &);
+ explicit InsetBoxParams(std::string const &);
///
void write(std::ostream & os) const;
///
Length height;
///
std::string height_special;
+ ///
+ Length thickness;
+ ///
+ Length separation;
+ ///
+ Length shadowsize;
+ ///
+ std::string framecolor;
+ ///
+ std::string backgroundcolor;
};
///////////////////////////////////////////////////////////////////////
-class InsetBox : public InsetCollapsable
+class InsetBox : public InsetCollapsible
{
public:
///
};
///
InsetBox(Buffer *, std::string const &);
+
///
static std::string params2string(InsetBoxParams const &);
///
static void string2params(std::string const &, InsetBoxParams &);
///
InsetBoxParams const & params() const { return params_; }
-private:
- ///
- friend class InsetBoxParams;
+
+ /// \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;
///
- DisplayType display() const { return Inline; }
+ ColorCode backgroundColor(PainterInfo const &) const;
+ ///
+ LyXAlignment contentAlignment() const;
///
bool allowParagraphCustomization(idx_type = 0) const { return !forcePlainLayout(); }
///
+ bool allowMultiPar() const;
+ ///
bool forcePlainLayout(idx_type = 0) const;
///
+ bool needsCProtection(bool const maintext = false,
+ bool const fragile = false) const;
+ ///
bool neverIndent() const { return true; }
- /** returns false if, when outputing LaTeX, font changes should
- be closed before generating this inset. This is needed for
- insets that may contain several paragraphs */
+ ///
bool inheritFont() const { return false; }
///
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;
+ void docbook(XMLStream &, OutputParams const &) const;
///
- docstring xhtml(XHTMLStream &, OutputParams const &) const;
+ docstring xhtml(XMLStream &, OutputParams const &) const;
///
void validate(LaTeXFeatures &) const;
///
+ 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 contextMenuName() const;
///
+ friend class InsetBoxParams;
InsetBoxParams params_;
};