*
* \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
-
#include "insetcollapsable.h"
+#include "mailinset.h"
+
+
+namespace lyx {
+
+class InsetNoteParams {
+public:
+ enum Type {
+ Note,
+ Comment,
+ Greyedout,
+ Framed,
+ Shaded
+ };
+ /// \c type defaults to Note
+ InsetNoteParams();
+ ///
+ void write(std::ostream & os) const;
+ ///
+ void read(LyXLex & lex);
+ ///
+ Type type;
+};
-/** The PostIt note inset
+
+/** The PostIt note inset, and other annotations
*/
class InsetNote : public InsetCollapsable {
public:
///
- InsetNote(BufferParams const &);
+ InsetNote(BufferParams const &, std::string const &);
///
- InsetNote(InsetNote const &);
+ ~InsetNote();
+ ///
+ virtual docstring const editMessage() const;
+ ///
+ InsetBase::Code lyxCode() const { return InsetBase::NOTE_CODE; }
///
- InsetBase * clone() const;
+ void write(Buffer const &, std::ostream &) const;
///
- string const editMessage() const;
+ void read(Buffer const & buf, LyXLex & lex);
///
- Inset::Code lyxCode() const { return Inset::NOTE_CODE; }
+ void setButtonLabel();
+ /// show the note dialog
+ bool showInsetDialog(BufferView * bv) const;
///
- void write(Buffer const *, std::ostream &) const;
+ int latex(Buffer const &, odocstream &, OutputParams const &) const;
///
- int latex(Buffer const *, std::ostream &,
- LatexRunParams const &) const
- { return 0; }
+ int docbook(Buffer const &, odocstream &, OutputParams const &) const;
///
- int linuxdoc(Buffer const *, std::ostream &) const
- { return 0; }
+ int plaintext(Buffer const &, odocstream &, 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_; }
///
- void validate(LaTeXFeatures &) const {}
+ bool getStatus(LCursor &, FuncRequest const &, FuncStatus &) const;
+protected:
+ InsetNote(InsetNote const &);
+ ///
+ virtual void doDispatch(LCursor & cur, FuncRequest & cmd);
private:
+ friend class InsetNoteParams;
+
+ virtual std::auto_ptr<InsetBase> doClone() const;
+
/// used by the constructors
void init();
+ ///
+ InsetNoteParams params_;
+};
+
+
+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_;
};
+
+} // namespace lyx
+
#endif