// -*- C++ -*-
-/* This file is part of
- * ======================================================
+/**
+ * \file insetnote.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
- * LyX, The Document Processor
+ * \author Angus Leeming
*
- * Copyright 2001 The LyX Team.
- *
- *======================================================
+ * 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 {
+ ///
+ void write(std::ostream & os) const;
+ ///
+ void read(LyXLex & lex);
+ ///
+ string type;
+};
+
+
+/** The PostIt note inset, and other annotations
*/
class InsetNote : public InsetCollapsable {
public:
///
- InsetNote(BufferParams const &);
+
+
+ InsetNote(BufferParams const &, string const &);
+ /// Copy constructor
+ InsetNote(InsetNote const &);
///
- InsetNote(InsetNote const &, bool same_id = false);
+ ~InsetNote();
///
- Inset * clone(Buffer const &, bool same_id = false) const;
- /// constructor with initial contents
- InsetNote(Buffer const *, string const & contents, bool collapsed);
+ virtual std::auto_ptr<InsetBase> clone() const;
///
string const editMessage() const;
///
- Inset::Code lyxCode() const { return Inset::IGNORE_CODE; }
+ InsetOld::Code lyxCode() const { return InsetOld::NOTE_CODE; }
///
void write(Buffer const *, std::ostream &) const;
///
- int latex(Buffer const *, std::ostream &, bool, bool) const
- { return 0; }
+ void read(Buffer const * buf, LyXLex & lex);
+ ///
+ void setButtonLabel();
+ ///
+ dispatch_result InsetNote::localDispatch(FuncRequest const &);
+ /// show the note dialog
+ bool showInsetDialog(BufferView * bv) const;
///
- int linuxdoc(Buffer const *, std::ostream &) const
- { return 0; }
+ int latex(Buffer const *, std::ostream &,
+ LatexRunParams const &) const;
///
- int docbook(Buffer const *, std::ostream &, bool) const
- { return 0; }
+ int linuxdoc(Buffer const *, std::ostream &) const;
///
- int ascii(Buffer const *, std::ostream &, int) const
- { return 0; }
+ int docbook(Buffer const *, std::ostream &, bool) const;
///
- void validate(LaTeXFeatures &) const {}
+ int ascii(Buffer const *, std::ostream &, int) const;
+ ///
+ void validate(LaTeXFeatures &) const;
+ ///
+ InsetNoteParams const & params() const { return params_; }
+
private:
+ friend class InsetNoteParams;
+
/// used by the constructors
void init();
+ ///
+ InsetNoteParams params_;
+};
+
+#include "mailinset.h"
+
+class InsetNoteMailer : public MailInset {
+public:
+ ///
+ InsetNoteMailer(string const & name, InsetNote & inset);
+ ///
+ virtual InsetBase & inset() const { return inset_; }
+ ///
+ virtual string const & name() const { return name_; }
+ ///
+ virtual string const inset2string(Buffer const &) const;
+ ///
+ static string const params2string(string const &, InsetNoteParams const &);
+ ///
+ static void string2params(string const &, InsetNoteParams &);
+private:
+ ///
+ string const name_;
+ ///
+ InsetNote & inset_;
};
+
+
#endif