]> git.lyx.org Git - lyx.git/blobdiff - src/ParagraphParameters.h
Update fr.po
[lyx.git] / src / ParagraphParameters.h
index aef9e38e7be2d9c45fb4a7c9603eedcc93f4ce52..07601e9e33faf415d75a3498f57a2239298315eb 100644 (file)
@@ -4,7 +4,7 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
  * \author Angus Leeming
  * \author John Levon
  *
 #ifndef PARAGRAPHPARAMETERS_H
 #define PARAGRAPHPARAMETERS_H
 
-#include "LString.h"
-#include "ShareContainer.h"
-#include "layout.h"
+#include "LayoutEnums.h"
+#include "Spacing.h"
 
-#include "ParameterStruct.h"
+#include "support/types.h"
+#include "support/strfwd.h"
+#include "support/Length.h"
 
-#include <iosfwd>
 
-class VSpace;
-class Spacing;
-class LyXLex;
+namespace lyx {
+
+class Layout;
+class Lexer;
 class Paragraph;
 
 
@@ -38,14 +39,6 @@ public:
        ///
        bool sameLayout(ParagraphParameters const &) const;
        ///
-       VSpace const & spaceTop() const;
-       ///
-       void spaceTop(VSpace const &);
-       ///
-       VSpace const & spaceBottom() const;
-       ///
-       void spaceBottom(VSpace const &);
-       ///
        Spacing const & spacing() const;
        ///
        void spacing(Spacing const &);
@@ -54,28 +47,10 @@ 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);
        ///
-       typedef ParameterStruct::depth_type depth_type;
-       ///
        depth_type depth() const;
        ///
        void depth(depth_type);
@@ -88,51 +63,65 @@ public:
        ///
        void appendix(bool);
        ///
-       string const & labelString() const;
+       docstring const & labelString() const;
        ///
-       void labelString(string const &);
+       void labelString(docstring const &);
        ///
-       string const & labelWidthString() const;
+       docstring const & labelWidthString() const;
        ///
-       void labelWidthString(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 const & 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);
+
+       // 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:
        ///
-       void set_from_struct(ParameterStruct const &);
+       Spacing spacing_;
+       ///
+       bool noindent_;
+       ///
+       bool start_of_appendix_;
+       ///
+       bool appendix_;
        ///
-       boost::shared_ptr<ParameterStruct> param;
+       LyXAlignment align_;
        ///
-       static ShareContainer<ParameterStruct> container;
+       depth_type depth_;
+       ///
+       docstring labelstring_;
+       ///
+       docstring labelwidthstring_;
+       ///
+       Length leftindent_;
 };
 
 
-inline
-ParagraphParameters::depth_type ParagraphParameters::depth() const
-{
-       return param->depth;
-}
-
 
 /** 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, string & data);
+void params2string(Paragraph const & par, std::string & data);
 
-/** Given \param data, an encoding of the ParagraphParameters generated
-    in the Paragraph dialog, this function sets the current paragraph
-    appropriately.
- */
-void setParagraphParams(BufferView & bv, string const & data);
+
+} // namespace lyx
 
 #endif