#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:
///
enum BoxType {
Doublebox
};
///
- InsetBox(Buffer const &, std::string const &);
+ InsetBox(Buffer *, std::string const &);
+ ///
+ static std::string params2string(InsetBoxParams const &);
///
- ~InsetBox();
+ static void string2params(std::string const &, InsetBoxParams &);
+ ///
+ InsetBoxParams const & params() const { return params_; }
private:
///
friend class InsetBoxParams;
- friend class InsetBoxMailer;
- ///
- docstring editMessage() const;
///
InsetCode lyxCode() const { return BOX_CODE; }
///
- docstring name() const;
+ docstring layoutName() const;
///
void write(std::ostream &) const;
///
void setButtonLabel();
///
void metrics(MetricsInfo &, Dimension &) const;
- /// show the Box dialog
- bool showInsetDialog(BufferView * bv) const;
///
DisplayType display() const { return Inline; }
///
- virtual bool allowParagraphCustomization(idx_type = 0)
- { return forceEmptyLayout(); }
+ bool allowParagraphCustomization(idx_type = 0) const { return !forcePlainLayout(); }
///
- virtual bool forceEmptyLayout(idx_type = 0) const;
+ bool forcePlainLayout(idx_type = 0) 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; }
///
- bool noFontChange() const { return true; }
- ///
- int latex(odocstream &, OutputParams const &) const;
+ void latex(otexstream &, OutputParams const &) const;
///
int plaintext(odocstream &, OutputParams const &) 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;
///
Inset * clone() const { return new InsetBox(*this); }
/// used by the constructors
void init();
-
///
- InsetBoxParams params_;
-};
+ docstring contextMenuName() const;
-
-class InsetBoxMailer : public MailInset {
-public:
- ///
- InsetBoxMailer(InsetBox & inset);
- ///
- virtual Inset & inset() const { return inset_; }
- ///
- virtual std::string const & name() const { return name_; }
- ///
- virtual std::string const inset2string(Buffer const &) const;
- ///
- static std::string const params2string(InsetBoxParams const &);
///
- static void string2params(std::string const &, InsetBoxParams &);
-
-private:
- ///
- static std::string const name_;
- ///
- InsetBox & inset_;
+ InsetBoxParams params_;
};
-
} // namespace lyx
-#endif // INSET_BOX_H
+#endif // INSETBOX_H