* Full author contact details are available in file CREDITS.
*/
-#ifndef INSETNOTE_H
-#define INSETNOTE_H
+#ifndef INSET_NOTE_H
+#define INSET_NOTE_H
-#include "InsetCollapsable.h"
-#include "MailInset.h"
+#include "InsetCollapsible.h"
namespace lyx {
-class InsetNoteParams {
+class InsetNoteParams
+{
public:
enum Type {
Note,
};
-/** The PostIt note inset, and other annotations
+/////////////////////////////////////////////////////////////////////////
+//
+// InsetNote
+//
+/////////////////////////////////////////////////////////////////////////
-*/
-class InsetNote : public InsetCollapsable {
+/// The PostIt note inset, and other annotations
+class InsetNote : public InsetCollapsible
+{
public:
///
- InsetNote(BufferParams const &, std::string const &);
+ InsetNote(Buffer *, std::string const &);
///
~InsetNote();
///
- virtual docstring const editMessage() const;
+ static std::string params2string(InsetNoteParams const &);
+ ///
+ static void string2params(std::string const &, InsetNoteParams &);
+ ///
+ InsetNoteParams const & params() const { return params_; }
+private:
///
InsetCode lyxCode() const { return NOTE_CODE; }
///
- docstring name() const;
+ docstring layoutName() const;
+ /** returns false if, when outputting LaTeX, font changes should
+ be closed before generating this inset. This is needed for
+ insets that may contain several paragraphs */
+ bool inheritFont() const { return params_.type == InsetNoteParams::Note; }
+ /// Is the content of this inset part of the output document?
+ bool producesOutput() const
+ { return params_.type == InsetNoteParams::Greyedout; }
///
- virtual DisplayType display() const;
+ bool allowSpellCheck() const;
///
- void write(Buffer const &, std::ostream &) const;
+ FontInfo getFont() const;
///
- void read(Buffer const & buf, Lexer & lex);
+ void write(std::ostream &) const;
///
- void setButtonLabel();
+ void read(Lexer & lex);
/// show the note dialog
bool showInsetDialog(BufferView * bv) const;
///
- bool isMacroScope(Buffer const & buf) const;
+ bool isMacroScope() const;
///
- int latex(Buffer const &, odocstream &, OutputParams const &) const;
+ void latex(otexstream &, OutputParams const &) const;
///
- int plaintext(Buffer const &, odocstream &, OutputParams const &) const;
+ int plaintext(odocstringstream & ods, OutputParams const & op,
+ size_t max_length = INT_MAX) const;
///
- int docbook(Buffer const &, odocstream &, OutputParams const &) const;
+ void docbook(XMLStream &, OutputParams const &) const;
///
- void validate(LaTeXFeatures &) const;
+ docstring xhtml(XMLStream &, OutputParams const &) const;
///
- InsetNoteParams const & params() const { return params_; }
+ void validate(LaTeXFeatures &) const;
///
bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const;
- // Update the counters of this inset and of its contents
- virtual void updateLabels(Buffer const &, ParIterator const &);
///
- void addToToc(TocList &, Buffer const &, ParConstIterator const &) const;
-protected:
- InsetNote(InsetNote const &);
+ void doDispatch(Cursor & cur, FuncRequest & cmd);
///
- virtual void doDispatch(Cursor & cur, FuncRequest & cmd);
-private:
- friend class InsetNoteParams;
-
- virtual Inset * clone() const;
-
+ Inset * clone() const { return new InsetNote(*this); }
/// used by the constructors
void init();
///
- InsetNoteParams params_;
-};
-
-
-class InsetNoteMailer : public MailInset {
-public:
- ///
- InsetNoteMailer(InsetNote & inset);
- ///
- virtual Inset & inset() const { return inset_; }
- ///
- virtual std::string const & name() const { return name_; }
- ///
- virtual std::string const inset2string(Buffer const &) const;
+ std::string contextMenuName() const;
///
- static std::string const params2string(InsetNoteParams const &);
- ///
- static void string2params(std::string const &, InsetNoteParams &);
+ friend class InsetNoteParams;
-private:
///
- static std::string const name_;
- ///
- InsetNote & inset_;
+ InsetNoteParams params_;
};
-
} // namespace lyx
-#endif
+#endif // INSET_NOTE_H