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"
35 class ParagraphParameters {
38 ParagraphParameters();
42 bool sameLayout(ParagraphParameters const &) const;
44 Spacing const & spacing() const;
46 void spacing(Spacing const &);
48 bool noindent() const;
52 LyXAlignment align() const;
54 void align(LyXAlignment);
56 typedef lyx::depth_type depth_type;
58 depth_type depth() const;
60 void depth(depth_type);
62 bool startOfAppendix() const;
64 void startOfAppendix(bool);
66 bool appendix() const;
70 lyx::docstring const & labelString() const;
72 void labelString(lyx::docstring const &);
74 lyx::docstring const & labelWidthString() const;
76 void labelWidthString(lyx::docstring const &);
78 LyXLength const & leftIndent() const;
80 void leftIndent(LyXLength const &);
82 /// read the parameters from a lex
83 void read(LyXLex & lex);
85 /// write out the parameters to a stream
86 void write(std::ostream & os) const;
88 //friend bool operator==(ParameterStruct const & ps1,
89 //ParameterStruct const & ps2);
97 bool start_of_appendix_;
105 lyx::docstring labelstring_;
107 lyx::docstring labelwidthstring_;
109 LyXLength leftindent_;
114 /** Generate a string \param data from \param par's ParagraphParameters.
115 The function also generates some additional info needed by the
118 void params2string(Paragraph const & par, std::string & data);