#ifndef PARAGRAPHPARAMETERS_H
#define PARAGRAPHPARAMETERS_H
-#include "layout.h"
-#include "ShareContainer.h"
+#include "LayoutEnums.h"
+#include "Length.h"
+#include "Spacing.h"
#include "support/types.h"
+#include "support/docstring.h"
#include <iosfwd>
#include <string>
+
+namespace lyx {
+
class BufferView;
-class LyXLength;
-class LyXLex;
+class Layout;
+class Length;
+class Lexer;
class Paragraph;
-class ParameterStruct;
class Spacing;
///
void align(LyXAlignment);
///
- typedef lyx::depth_type depth_type;
- ///
depth_type depth() const;
///
void depth(depth_type);
///
void appendix(bool);
///
- std::string const & labelString() const;
+ docstring const & labelString() const;
///
- void labelString(std::string const &);
+ void labelString(docstring const &);
///
- std::string const & labelWidthString() const;
+ docstring const & labelWidthString() const;
///
- void labelWidthString(std::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);
+
+ ///
+ bool canApply(ParagraphParameters const & params, Layout const & layout);
/// write out the parameters to a stream
void write(std::ostream & os) const;
+ //friend bool operator==(ParameterStruct const & ps1,
+ //ParameterStruct const & ps2);
+
private:
///
- void set_from_struct(ParameterStruct const &);
+ Spacing spacing_;
+ ///
+ bool noindent_;
+ ///
+ bool start_of_appendix_;
///
- boost::shared_ptr<ParameterStruct> param;
+ bool appendix_;
///
- static ShareContainer<ParameterStruct> container;
+ LyXAlignment align_;
+ ///
+ depth_type depth_;
+ ///
+ docstring labelstring_;
+ ///
+ docstring labelwidthstring_;
+ ///
+ Length leftindent_;
};
+
/** 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, std::string & data);
+
+} // namespace lyx
+
#endif