X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetnote.h;h=5f4a34040ae6c30054c98bdfa3d571cf12b26e37;hb=10ba1b8918e7da14334bb5573ce2a707671c8b51;hp=5a4e9414060f267e65618245d0aeeb1604738198;hpb=0507b8600d40ac155d6576dafe1218db643a8970;p=lyx.git diff --git a/src/insets/insetnote.h b/src/insets/insetnote.h index 5a4e941406..5f4a34040a 100644 --- a/src/insets/insetnote.h +++ b/src/insets/insetnote.h @@ -6,55 +6,107 @@ * * \author Angus Leeming * - * Full author contact details are available in file CREDITS + * Full author contact details are available in file CREDITS. */ #ifndef INSETNOTE_H #define INSETNOTE_H -#ifdef __GNUG__ -#pragma interface -#endif - #include "insetcollapsable.h" -/** The PostIt note inset + +struct InsetNoteParams { + enum Type { + Note, + Comment, + Greyedout + }; + /// \c type defaults to Note + InsetNoteParams(); + /// + void write(std::ostream & os) const; + /// + void read(LyXLex & lex); + /// + Type type; +}; + + +/** The PostIt note inset, and other annotations */ class InsetNote : public InsetCollapsable { public: /// - InsetNote(BufferParams const &); + InsetNote(BufferParams const &, std::string const &); + /// + ~InsetNote(); + /// + std::string const editMessage() const; + /// + InsetOld::Code lyxCode() const { return InsetOld::NOTE_CODE; } /// - InsetNote(InsetNote const &, bool same_id = false); + void write(Buffer const &, std::ostream &) const; /// - Inset * clone(Buffer const &, bool same_id = false) const; - /// constructor with initial contents - InsetNote(Buffer const *, string const & contents, bool collapsed); + void read(Buffer const & buf, LyXLex & lex); /// - string const editMessage() const; + void setButtonLabel(); + /// show the note dialog + bool showInsetDialog(BufferView * bv) const; /// - Inset::Code lyxCode() const { return Inset::NOTE_CODE; } + int latex(Buffer const &, std::ostream &, + OutputParams const &) const; /// - void write(Buffer const *, std::ostream &) const; + int linuxdoc(Buffer const &, std::ostream &, + OutputParams const &) const; /// - int latex(Buffer const *, std::ostream &, bool, bool) const - { return 0; } + int docbook(Buffer const &, std::ostream &, + OutputParams const &) const; /// - int linuxdoc(Buffer const *, std::ostream &) const - { return 0; } + int plaintext(Buffer const &, std::ostream &, + OutputParams const &) const; /// - int docbook(Buffer const *, std::ostream &, bool) const - { return 0; } + void validate(LaTeXFeatures &) const; /// - int ascii(Buffer const *, std::ostream &, int) const - { return 0; } + InsetNoteParams const & params() const { return params_; } +protected: + InsetNote(InsetNote const &); /// - void validate(LaTeXFeatures &) const {} + virtual void doDispatch(LCursor & cur, FuncRequest & cmd); private: + friend class InsetNoteParams; + + virtual std::auto_ptr doClone() const; + /// used by the constructors void init(); + /// + InsetNoteParams params_; +}; + + +#include "mailinset.h" + +class InsetNoteMailer : public MailInset { +public: + /// + InsetNoteMailer(InsetNote & inset); + /// + virtual InsetBase & 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 &); + /// + static void string2params(std::string const &, InsetNoteParams &); +private: + /// + static std::string const name_; + /// + InsetNote & inset_; }; #endif