]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetNewpage.h
- Simplify prefs, graphics and external display options which are now true or false.
[lyx.git] / src / insets / InsetNewpage.h
index 30c1d408a6bca6987410c827139a5343b62a9982..8ee2385411f321d746186292b5ec7eb87ff43a8c 100644 (file)
 
 #include "Inset.h"
 
-#include "support/docstring.h"
-#include "support/gettext.h"
-
 
 namespace lyx {
 
+class InsetNewpageParams
+{
+public:
+       /// The different kinds of spaces we support
+       enum Kind {
+               ///
+               NEWPAGE,
+               ///
+               PAGEBREAK,
+               ///
+               CLEARPAGE,
+               ///
+               CLEARDOUBLEPAGE
+       };
+       ///
+       InsetNewpageParams() : kind(NEWPAGE) {}
+       ///
+       void write(std::ostream & os) const;
+       ///
+       void read(Lexer & lex);
+       ///
+       Kind kind;
+};
+
+
 class InsetNewpage : public Inset
 {
 public:
        ///
-       InsetNewpage() {}
+       InsetNewpage();
+       ///
+       explicit InsetNewpage(InsetNewpageParams const & par);
+       ///
+       static void string2params(std::string const &, InsetNewpageParams &);
+       ///
+       static std::string params2string(InsetNewpageParams const &);
+private:
+       ///
+       InsetNewpageParams params() const { return params_; }
        ///
        InsetCode lyxCode() const { return NEWPAGE_CODE; }
        ///
@@ -38,71 +69,26 @@ public:
        ///
        int docbook(odocstream &, OutputParams const &) const;
        ///
-       void read(Lexer & lex); 
+       void read(Lexer & lex);
        ///
        void write(std::ostream & os) const;
-       /// We don't need \begin_inset and \end_inset
-       bool directWrite() const { return true; }
        ///
        DisplayType display() const { return AlignCenter; }
        ///
-       docstring insetLabel() const { return _("New Page"); }
+       docstring insetLabel() const;
        ///
-       std::string getCmdName() const { return "\\newpage"; }
+       ColorCode ColorName() const;
        ///
-       ColorCode ColorName() const { return Color_newpage; }
-private:
+       docstring contextMenu(BufferView const & bv, int x, int y) const;
        ///
        Inset * clone() const { return new InsetNewpage(*this); }
-};
-
-
-class InsetPagebreak : public InsetNewpage
-{
-public:
-       ///
-       InsetPagebreak() {}
-       ///
-       docstring insetLabel() const { return _("Page Break"); }
        ///
-       std::string getCmdName() const { return "\\pagebreak"; }
+       void doDispatch(Cursor & cur, FuncRequest & cmd);
        ///
-       ColorCode ColorName() const { return Color_pagebreak; }
-private:
-       ///
-       Inset * clone() const { return new InsetPagebreak(*this); }
-};
-
-
-class InsetClearPage : public InsetNewpage
-{
-public:
-       ///
-       InsetClearPage() {}
-       ///
-       docstring insetLabel() const { return _("Clear Page"); }
-       ///
-       std::string getCmdName() const { return "\\clearpage"; }
-
-private:
-       ///
-       Inset * clone() const { return new InsetClearPage(*this); }
-};
+       bool getStatus(Cursor & cur, FuncRequest const & cmd, FuncStatus &) const;
 
-
-class InsetClearDoublePage : public InsetNewpage
-{
-public:
-       ///
-       InsetClearDoublePage() {}
-       ///
-       docstring insetLabel() const { return _("Clear Double Page"); }
-       ///
-       std::string getCmdName() const { return "\\cleardoublepage"; }
-
-private:
        ///
-       Inset * clone() const { return new InsetClearDoublePage(*this); }
+       InsetNewpageParams params_;
 };
 
 } // namespace lyx