X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetNote.h;h=c80d61b27df1e6e7edccf455b440690b176dbf7b;hb=6f88e11da323c7159f80cf79d9f4486d3615e355;hp=45e2347a27c7de1a37b55ee489053820a66321d2;hpb=c8d00ed1272cd489041bed2115081008b6a26489;p=lyx.git diff --git a/src/insets/InsetNote.h b/src/insets/InsetNote.h index 45e2347a27..c80d61b27d 100644 --- a/src/insets/InsetNote.h +++ b/src/insets/InsetNote.h @@ -9,107 +9,110 @@ * 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" namespace lyx { -class InsetNoteParams { +class InsetNoteParams +{ public: enum Type { Note, Comment, - Greyedout, - Framed, - Shaded + Greyedout }; /// \c type defaults to Note InsetNoteParams(); /// void write(std::ostream & os) const; /// - void read(LyXLex & lex); + void read(Lexer & lex); /// Type type; }; -/** The PostIt note inset, and other annotations +///////////////////////////////////////////////////////////////////////// +// +// InsetNote +// +///////////////////////////////////////////////////////////////////////// -*/ -class InsetNote : public InsetCollapsable { +/// The PostIt note inset, and other annotations +class InsetNote : public InsetCollapsable +{ public: /// - InsetNote(BufferParams const &, std::string const &); + InsetNote(Buffer *, std::string const &); /// ~InsetNote(); /// - virtual docstring const editMessage() const; + static std::string params2string(InsetNoteParams const &); /// - InsetBase::Code lyxCode() const { return InsetBase::NOTE_CODE; } + static void string2params(std::string const &, InsetNoteParams &); /// - void write(Buffer const &, std::ostream &) const; + InsetNoteParams const & params() const { return params_; } +private: /// - void read(Buffer const & buf, LyXLex & lex); + InsetCode lyxCode() const { return NOTE_CODE; } /// - void setButtonLabel(); - /// show the note dialog - bool showInsetDialog(BufferView * bv) const; + docstring layoutName() const; /// - int latex(Buffer const &, odocstream &, OutputParams const &) const; + DisplayType display() const; + /** 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 params_.type == InsetNoteParams::Note; } + /// Is the content of this inset part of the output document? + bool producesOutput() const + { return params_.type == InsetNoteParams::Greyedout; } /// - int plaintext(Buffer const &, odocstream &, OutputParams const &) const; + bool allowSpellCheck() const; /// - int docbook(Buffer const &, odocstream &, OutputParams const &) const; + FontInfo getFont() const; /// - void validate(LaTeXFeatures &) const; + void write(std::ostream &) const; /// - InsetNoteParams const & params() const { return params_; } + void read(Lexer & lex); + /// show the note dialog + bool showInsetDialog(BufferView * bv) const; /// - bool getStatus(LCursor &, FuncRequest const &, FuncStatus &) const; -protected: - InsetNote(InsetNote const &); + bool isMacroScope() const; /// - virtual void doDispatch(LCursor & cur, FuncRequest & cmd); -private: - friend class InsetNoteParams; - - virtual std::auto_ptr doClone() const; - - /// used by the constructors - void init(); + void latex(otexstream &, OutputParams const &) const; /// - InsetNoteParams params_; -}; - - -class InsetNoteMailer : public MailInset { -public: + int plaintext(odocstringstream & ods, OutputParams const & op, + size_t max_length = INT_MAX) const; /// - InsetNoteMailer(InsetNote & inset); + int docbook(odocstream &, OutputParams const &) const; /// - virtual InsetBase & inset() const { return inset_; } + docstring xhtml(XHTMLStream &, OutputParams const &) const; /// - virtual std::string const & name() const { return name_; } + void validate(LaTeXFeatures &) const; /// - virtual std::string const inset2string(Buffer const &) const; + bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const; /// - static std::string const params2string(InsetNoteParams const &); + void addToToc(DocIterator const & di, bool output_active, + UpdateType utype) const; /// - static void string2params(std::string const &, InsetNoteParams &); - -private: + void doDispatch(Cursor & cur, FuncRequest & cmd); /// - static std::string const name_; + Inset * clone() const { return new InsetNote(*this); } + /// used by the constructors + void init(); /// - InsetNote & inset_; -}; + std::string contextMenuName() const; + /// + friend class InsetNoteParams; + /// + InsetNoteParams params_; +}; } // namespace lyx -#endif +#endif // INSET_NOTE_H