X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FParagraphParameters.h;h=07601e9e33faf415d75a3498f57a2239298315eb;hb=26ba2a65838731ce639a09539f617cb0f0be3b22;hp=47149726968a73e9aaf9a9059ae5efb3288321fc;hpb=1a32c26a5ee4af362e249418dc6d441b7ab5d695;p=lyx.git diff --git a/src/ParagraphParameters.h b/src/ParagraphParameters.h index 4714972696..07601e9e33 100644 --- a/src/ParagraphParameters.h +++ b/src/ParagraphParameters.h @@ -1,18 +1,33 @@ // -*- C++ -*- +/** + * \file ParagraphParameters.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. + * + * \author Lars Gullik Bjønnes + * \author Angus Leeming + * \author John Levon + * + * Full author contact details are available in file CREDITS. + */ #ifndef PARAGRAPHPARAMETERS_H #define PARAGRAPHPARAMETERS_H -#include "ShareContainer.h" -#include "LString.h" -#include "layout.h" +#include "LayoutEnums.h" +#include "Spacing.h" -class VSpace; -class Spacing; -struct ParameterStruct; +#include "support/types.h" +#include "support/strfwd.h" +#include "support/Length.h" + + +namespace lyx { + +class Layout; +class Lexer; +class Paragraph; -// Not yet... lyx 1.3.x or so -//#define NO_PEXTRA_REALLY 1 /// class ParagraphParameters { @@ -24,16 +39,6 @@ public: /// bool sameLayout(ParagraphParameters const &) const; /// - void makeSame(ParagraphParameters const & pp); - /// - VSpace const & spaceTop() const; - /// - void spaceTop(VSpace const &); - /// - VSpace const & spaceBottom() const; - /// - void spaceBottom(VSpace const &); - /// Spacing const & spacing() const; /// void spacing(Spacing const &); @@ -42,29 +47,13 @@ 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); /// - char depth() const; + depth_type depth() const; /// - void depth(char); + void depth(depth_type); /// bool startOfAppendix() const; /// @@ -74,45 +63,65 @@ public: /// void appendix(bool); /// - string const & labelString() const; - /// - void labelString(string const &); + docstring const & labelString() const; /// - string const & labelWidthString() const; + void labelString(docstring const &); /// - void labelWidthString(string const &); -#ifndef NO_PEXTRA_REALLY + docstring const & labelWidthString() const; /// - int pextraType() const; + void labelWidthString(docstring const &); /// - void pextraType(int); + Length const & leftIndent() const; /// - string const & pextraWidth() const; + void leftIndent(Length const &); + + /// read the parameters from a string + void read (std::string const & str, bool merge = true); + + /// read the parameters from a lex + void read(Lexer & lex, bool merge = true); + /// - void pextraWidth(string const &); + 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: /// - string const & pextraWidthp() const; + Spacing spacing_; /// - void pextraWidthp(string const &); + bool noindent_; /// - int pextraAlignment() const; + bool start_of_appendix_; /// - void pextraAlignment(int); + bool appendix_; /// - bool pextraHfill() const; + LyXAlignment align_; /// - void pextraHfill(bool); + depth_type depth_; /// - bool pextraStartMinipage() const; + docstring labelstring_; /// - void pextraStartMinipage(bool); -#endif -private: + docstring labelwidthstring_; /// - void set_from_struct(ParameterStruct const &); - /// - boost::shared_ptr param; - /// - static ShareContainer container; + 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