* 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,
};
-/** 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(Buffer const &, std::string const &);
///
~InsetNote();
+ ///
+ static std::string params2string(InsetNoteParams const &);
+ ///
+ static void string2params(std::string const &, InsetNoteParams &);
+ ///
+ InsetNoteParams const & params() const { return params_; }
+private:
///
docstring editMessage() const;
///
///
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(std::ostream &) const;
///
///
int docbook(odocstream &, OutputParams const &) const;
///
- void validate(LaTeXFeatures &) const;
+ docstring xhtml(odocstream &, OutputParams const &) const;
///
- InsetNoteParams const & params() const { return params_; }
+ void validate(LaTeXFeatures &) const;
///
bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const;
- // Update the counters of this inset and of its contents
- void updateLabels(ParIterator const &);
///
- void addToToc(ParConstIterator const &) const;
-protected:
- InsetNote(InsetNote const &);
+ void addToToc(DocIterator const &);
///
- virtual void doDispatch(Cursor & cur, FuncRequest & cmd);
-private:
- friend class InsetNoteParams;
+ void doDispatch(Cursor & cur, FuncRequest & cmd);
///
- Inset * clone() const;
+ 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_;
};
+/**
+ * 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