X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetNote.h;h=70faf4c03df691be7fe3c2b8d8682684eaaba266;hb=1f1951e210de0e10ccb244cb9f93b29dfade6b1c;hp=d234966071db6b5225373581843cceefeb847bc2;hpb=c3a8b3a566e9e90f9ade72acbc723232d721d0b1;p=lyx.git diff --git a/src/insets/InsetNote.h b/src/insets/InsetNote.h index d234966071..70faf4c03d 100644 --- a/src/insets/InsetNote.h +++ b/src/insets/InsetNote.h @@ -9,16 +9,16 @@ * 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, @@ -36,88 +36,89 @@ public: }; -/** 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 const &, 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: + /// + docstring editMessage() const; /// InsetCode lyxCode() const { return NOTE_CODE; } /// docstring name() const; /// - virtual DisplayType display() const; + DisplayType display() const; + /// + bool noFontChange() const { return params_.type != InsetNoteParams::Note; } + /*! + * Is the content of this inset part of the output document? + * + * Note that Note insets are not considered part of the + * document, even in their 'greyed out' incarnation. + */ + bool producesOutput() const { return false; } /// - void write(Buffer const &, std::ostream &) const; + void write(std::ostream &) const; /// - void read(Buffer const & buf, Lexer & lex); + void read(Lexer & lex); /// void setButtonLabel(); /// 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; + int latex(odocstream &, OutputParams const &) const; /// - int plaintext(Buffer const &, odocstream &, OutputParams const &) const; + int plaintext(odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, odocstream &, OutputParams const &) const; + int docbook(odocstream &, OutputParams const &) const; /// void validate(LaTeXFeatures &) const; /// - InsetNoteParams const & params() const { return params_; } - /// 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(Buffer const &, ParConstIterator const &) const; -protected: - InsetNote(InsetNote const &); + void addToToc(DocIterator const &); /// - virtual void doDispatch(Cursor & cur, FuncRequest & cmd); -private: - friend class InsetNoteParams; - - virtual Inset * clone() const; - + void doDispatch(Cursor & cur, FuncRequest & cmd); + /// + 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; - /// - static std::string const params2string(InsetNoteParams const &); + docstring contextMenu(BufferView const & bv, int x, int y) const; /// - static void string2params(std::string const &, InsetNoteParams &); + friend class InsetNoteParams; -private: - /// - static std::string const name_; /// - InsetNote & inset_; + InsetNoteParams params_; }; +class BufferView; + +/** + * Mutate all NoteInsets of "source" type to the "target" type in the document. + * Returns true when some inset was changed. + */ +bool mutateNotes(lyx::BufferView * view, std::string const & source, std::string const &target); } // namespace lyx -#endif +#endif // INSET_NOTE_H