X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FParagraphParameters.h;h=3a7569624926e59d0f8c879b75a08d3bccadc65a;hb=28be7d552f62cc02fa86d7f79201d089bfb2d7b5;hp=a2722660be87cf00edd846a9fa75e88fb8e312f8;hpb=f3bff9d5d850904ddef6397f5bd31838c7f8b33d;p=lyx.git diff --git a/src/ParagraphParameters.h b/src/ParagraphParameters.h index a2722660be..3a75696249 100644 --- a/src/ParagraphParameters.h +++ b/src/ParagraphParameters.h @@ -4,7 +4,7 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author Lars Gullik Bjønnes + * \author Lars Gullik Bjønnes * \author Angus Leeming * \author John Levon * @@ -14,18 +14,22 @@ #ifndef PARAGRAPHPARAMETERS_H #define PARAGRAPHPARAMETERS_H -#include "support/std_string.h" -#include "ShareContainer.h" -#include "layout.h" +#include "LayoutEnums.h" +#include "Length.h" +#include "Spacing.h" -#include "ParameterStruct.h" +#include "support/types.h" +#include "support/docstring.h" -#include -class VSpace; -class Spacing; -class LyXLex; +namespace lyx { + +class BufferView; +class Layout; +class Length; +class Lexer; class Paragraph; +class Spacing; /// @@ -38,14 +42,6 @@ public: /// bool sameLayout(ParagraphParameters const &) const; /// - VSpace const & spaceTop() const; - /// - void spaceTop(VSpace const &); - /// - VSpace const & spaceBottom() const; - /// - void spaceBottom(VSpace const &); - /// Spacing const & spacing() const; /// void spacing(Spacing const &); @@ -54,28 +50,10 @@ public: /// void noindent(bool); /// - bool lineTop() const; - /// - void lineTop(bool); - /// - bool lineBottom() const; - /// - void lineBottom(bool); - /// - bool pagebreakTop() const; - /// - void pagebreakTop(bool); - /// - bool pagebreakBottom() const; - /// - void pagebreakBottom(bool); - /// LyXAlignment align() const; /// void align(LyXAlignment); /// - typedef lyx::depth_type depth_type; - /// depth_type depth() const; /// void depth(depth_type); @@ -88,51 +66,65 @@ public: /// void appendix(bool); /// - string const & labelString() const; + docstring const & labelString() const; /// - void labelString(string const &); + void labelString(docstring const &); /// - string const & labelWidthString() const; + docstring const & labelWidthString() const; /// - void labelWidthString(string const &); + void labelWidthString(docstring const &); /// - LyXLength const & leftIndent() const; + Length const & leftIndent() const; /// - void leftIndent(LyXLength const &); + void leftIndent(Length const &); + /// read the parameters from a string + void read (std::string str, bool merge = true); + /// read the parameters from a lex - void read(LyXLex & lex); + void read(Lexer & lex, bool merge = true); + + /// + void apply(ParagraphParameters const & params, Layout const & layout); + + // It would be nice to have a working version of this method, so that + // getStatus() could return information about what was possible. + // bool canApply(ParagraphParameters const & params, Layout const & layout) + // { return true; } /// write out the parameters to a stream void write(std::ostream & os) const; private: /// - void set_from_struct(ParameterStruct const &); + Spacing spacing_; + /// + bool noindent_; + /// + bool start_of_appendix_; + /// + bool appendix_; /// - boost::shared_ptr param; + LyXAlignment align_; /// - static ShareContainer container; + depth_type depth_; + /// + docstring labelstring_; + /// + docstring labelwidthstring_; + /// + Length leftindent_; }; -inline -ParagraphParameters::depth_type ParagraphParameters::depth() const -{ - return param->depth; -} - /** Generate a string \param data from \param par's ParagraphParameters. The function also generates some additional info needed by the Paragraph dialog. */ -void params2string(Paragraph const & par, string & data); +void params2string(Paragraph const & par, std::string & data); -/** Given \param data, an encoding of the ParagraphParameters generated - in the Paragraph dialog, this function sets the current paragraph - appropriately. - */ -void setParagraphParams(BufferView & bv, string const & data); + +} // namespace lyx #endif