3 * \file ParagraphParameters.h
4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Lars Gullik Bjønnes
8 * \author Angus Leeming
11 * Full author contact details are available in file CREDITS.
14 #ifndef PARAGRAPHPARAMETERS_H
15 #define PARAGRAPHPARAMETERS_H
18 #include "LyXLength.h"
21 #include "support/types.h"
22 #include "support/docstring.h"
38 class ParagraphParameters {
41 ParagraphParameters();
45 bool sameLayout(ParagraphParameters const &) const;
47 Spacing const & spacing() const;
49 void spacing(Spacing const &);
51 bool noindent() const;
55 LyXAlignment align() const;
57 void align(LyXAlignment);
59 depth_type depth() const;
61 void depth(depth_type);
63 bool startOfAppendix() const;
65 void startOfAppendix(bool);
67 bool appendix() const;
71 docstring const & labelString() const;
73 void labelString(docstring const &);
75 docstring const & labelWidthString() const;
77 void labelWidthString(docstring const &);
79 LyXLength const & leftIndent() const;
81 void leftIndent(LyXLength const &);
83 /// read the parameters from a lex
84 void read(LyXLex & lex);
86 /// write out the parameters to a stream
87 void write(std::ostream & os) const;
89 //friend bool operator==(ParameterStruct const & ps1,
90 //ParameterStruct const & ps2);
98 bool start_of_appendix_;
106 docstring labelstring_;
108 docstring labelwidthstring_;
110 LyXLength leftindent_;
115 /** Generate a string \param data from \param par's ParagraphParameters.
116 The function also generates some additional info needed by the
119 void params2string(Paragraph const & par, std::string & data);