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"
34 class ParagraphParameters {
37 ParagraphParameters();
41 bool sameLayout(ParagraphParameters const &) const;
43 Spacing const & spacing() const;
45 void spacing(Spacing const &);
47 bool noindent() const;
51 LyXAlignment align() const;
53 void align(LyXAlignment);
55 typedef lyx::depth_type depth_type;
57 depth_type depth() const;
59 void depth(depth_type);
61 bool startOfAppendix() const;
63 void startOfAppendix(bool);
65 bool appendix() const;
69 std::string const & labelString() const;
71 void labelString(std::string const &);
73 std::string const & labelWidthString() const;
75 void labelWidthString(std::string const &);
77 LyXLength const & leftIndent() const;
79 void leftIndent(LyXLength const &);
81 /// read the parameters from a lex
82 void read(LyXLex & lex);
84 /// write out the parameters to a stream
85 void write(std::ostream & os) const;
87 //friend bool operator==(ParameterStruct const & ps1,
88 //ParameterStruct const & ps2);
96 bool start_of_appendix_;
104 std::string labelstring_;
106 std::string labelwidthstring_;
108 LyXLength leftindent_;
113 /** Generate a string \param data from \param par's ParagraphParameters.
114 The function also generates some additional info needed by the
117 void params2string(Paragraph const & par, std::string & data);