#include "InsetCollapsable.h"
#include "Length.h"
-#include "MailInset.h"
namespace lyx {
-class InsetBoxParams {
+class InsetBoxParams
+{
public:
///
InsetBoxParams(std::string const &);
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;
};
-/** 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(Buffer *, std::string const &);
+
///
- ~InsetBox();
+ static std::string params2string(InsetBoxParams const &);
///
- docstring editMessage() const;
+ static void string2params(std::string const &, InsetBoxParams &);
+ ///
+ 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; }
- //FIXME Is this the one we want? or is it:
- //allowParagraphCustomization(idx_type)?
///
- virtual bool forceEmptyLayout() const;
+ ColorCode backgroundColor(PainterInfo const &) const;
///
- bool neverIndent() const { return true; }
+ bool allowParagraphCustomization(idx_type = 0) const { return !forcePlainLayout(); }
///
- bool noFontChange() const { return true; }
+ bool forcePlainLayout(idx_type = 0) const;
+ ///
+ bool neverIndent() const { return true; }
///
- bool isMacroScope() const;
+ 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;
///
- void validate(LaTeXFeatures &) const;
+ docstring xhtml(XHTMLStream &, OutputParams const &) const;
///
- InsetBoxParams const & params() const { return params_; }
+ void validate(LaTeXFeatures &) const;
///
- bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const;
+ bool hasFixedWidth() const;
///
- enum BoxType {
- Frameless,
- Boxed,
- Framed,
- ovalbox,
- Ovalbox,
- Shadowbox,
- Shaded,
- 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;
+ std::string contextMenuName() const;
+ //@}
- virtual Inset * clone() const;
-
- /// used by the constructors
- void init();
+ /// \name Public functions inherited from InsetCollapsable class
+ //@{
///
- InsetBoxParams params_;
-};
-
+ void setButtonLabel();
+ //@}
-class InsetBoxMailer : public MailInset {
-public:
- ///
- InsetBoxMailer(InsetBox & inset);
- ///
- virtual Inset & inset() const { return inset_; }
- ///
- virtual std::string const & name() const { return name_; }
+protected:
+ /// \name Protected functions inherited from Inset class
+ //@{
///
- virtual std::string const inset2string(Buffer const &) const;
+ bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const;
///
- static std::string const params2string(InsetBoxParams const &);
+ void doDispatch(Cursor & cur, FuncRequest & cmd);
///
- static void string2params(std::string const &, InsetBoxParams &);
+ 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