* 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();
};
-/** 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 &);
+ ///
+ static void string2params(std::string const &, InsetNoteParams &);
+ ///
+ InsetNoteParams const & params() const { return params_; }
+private:
///
InsetCode lyxCode() const { return NOTE_CODE; }
///
docstring name() const;
- /// framed and shaded notes are displayed
- virtual DisplayType display() const;
///
- void write(Buffer const &, std::ostream &) const;
+ DisplayType display() const;
///
- void read(Buffer const & buf, Lexer & lex);
+ 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(std::ostream &) const;
+ ///
+ void read(Lexer & lex);
///
void setButtonLabel();
/// show the note dialog
bool showInsetDialog(BufferView * bv) const;
///
- int latex(Buffer const &, odocstream &, OutputParams const &) const;
- ///
- int plaintext(Buffer const &, odocstream &, OutputParams const &) const;
+ bool isMacroScope() const;
///
- int docbook(Buffer const &, odocstream &, OutputParams const &) const;
+ int latex(odocstream &, OutputParams const &) const;
///
- void validate(LaTeXFeatures &) const;
+ int plaintext(odocstream &, OutputParams const &) const;
///
- InsetNoteParams const & params() const { return params_; }
+ int docbook(odocstream &, OutputParams const &) const;
///
- bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const;
- // Update the counters of this inset and of its contents
- virtual void updateLabels(Buffer const &, ParIterator const &);
-protected:
- InsetNote(InsetNote const &);
+ docstring xhtml(XHTMLStream &, OutputParams const &) const;
///
- virtual void doDispatch(Cursor & cur, FuncRequest & cmd);
-private:
- friend class InsetNoteParams;
-
- virtual Inset * clone() const;
-
- /// used by the constructors
- void init();
- ///
- InsetNoteParams params_;
-};
-
-
-class InsetNoteMailer : public MailInset {
-public:
+ void validate(LaTeXFeatures &) const;
///
- InsetNoteMailer(InsetNote & inset);
+ bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const;
///
- virtual Inset & inset() const { return inset_; }
+ void addToToc(DocIterator const &);
///
- virtual std::string const & name() const { return name_; }
+ void doDispatch(Cursor & cur, FuncRequest & cmd);
///
- virtual std::string const inset2string(Buffer const &) const;
+ Inset * clone() const { return new InsetNote(*this); }
+ /// used by the constructors
+ void init();
///
- 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_;
};
+/**
+ * Mutate all NoteInsets of "source" type to the "target" type in the document.
+ * Returns true when some inset was changed.
+ */
+bool mutateNotes(lyx::Cursor & cur, std::string const & source, std::string const &target);
} // namespace lyx
-#endif
+#endif // INSET_NOTE_H