]> git.lyx.org Git - features.git/blobdiff - src/insets/InsetSeparator.h
XHTML/DocBook: merge code duplicates for vertical alignment.
[features.git] / src / insets / InsetSeparator.h
index 66a0c5515aa3636db4908f07316f72b6fec0d0c5..0c12d95686f12d4563690de8c751d7168b426095 100644 (file)
@@ -43,46 +43,62 @@ public:
        ///
        InsetSeparator();
        ///
-       explicit InsetSeparator(InsetSeparatorParams const & par);
+       explicit InsetSeparator(InsetSeparatorParams const & params);
        ///
        static void string2params(std::string const &, InsetSeparatorParams &);
        ///
        static std::string params2string(InsetSeparatorParams const &);
+       /// To be used in combination with inset-forall
+       /// Here's a command that removes every latexpar separator:
+       ///   inset-forall Separator:latexpar char-delete-forward
+       docstring layoutName() const override
+       {
+               switch (params_.kind) {
+               case InsetSeparatorParams::PLAIN:
+                       return from_ascii("Separator:plain");
+               case InsetSeparatorParams::PARBREAK:
+                       return from_ascii("Separator:parbreak");
+               case InsetSeparatorParams::LATEXPAR:
+                       return from_ascii("Separator:latexpar");
+               }
+               // remove warning
+               return docstring();
+       }
+       ///
+       int rowFlags() const override { return BreakAfter | Flush; }
 private:
        ///
-       InsetSeparatorParams params() const { return params_; }
+       InsetCode lyxCode() const override { return SEPARATOR_CODE; }
        ///
-       InsetCode lyxCode() const { return SEPARATOR_CODE; }
+       void metrics(MetricsInfo &, Dimension &) const override;
        ///
-       void metrics(MetricsInfo &, Dimension &) const;
+       void draw(PainterInfo & pi, int x, int y) const override;
        ///
-       void draw(PainterInfo & pi, int x, int y) const;
-       ///
-       void latex(otexstream &, OutputParams const &) const;
+       void latex(otexstream &, OutputParams const &) const override;
        ///
        int plaintext(odocstringstream & ods, OutputParams const & op,
-                     size_t max_length = INT_MAX) const;
+                     size_t max_length = INT_MAX) const override;
        ///
-       int docbook(odocstream &, OutputParams const &) const;
+       void docbook(XMLStream &, OutputParams const &) const override;
        ///
-       docstring xhtml(XHTMLStream &, OutputParams const &) const;
+       docstring xhtml(XMLStream &, OutputParams const &) const override;
        ///
-       void read(Lexer & lex);
+       void read(Lexer & lex) override;
        ///
-       void write(std::ostream & os) const;
+       void write(std::ostream & os) const override;
        /// is this equivalent to a space (which is BTW different from
        /// a line separator)?
-       bool isSpace() const { return true; }
+       bool isSpace() const override { return true; }
        ///
        ColorCode ColorName() const;
        ///
-       std::string contextMenuName() const;
+       std::string contextMenuName() const override;
        ///
-       Inset * clone() const { return new InsetSeparator(*this); }
+       Inset * clone() const override { return new InsetSeparator(*this); }
        ///
-       void doDispatch(Cursor & cur, FuncRequest & cmd);
+       void doDispatch(Cursor & cur, FuncRequest & cmd) override;
        ///
-       bool getStatus(Cursor & cur, FuncRequest const & cmd, FuncStatus &) const;
+       bool getStatus(Cursor & cur, FuncRequest const & cmd, FuncStatus &) const override;
 
        ///
        InsetSeparatorParams params_;