]> git.lyx.org Git - lyx.git/blobdiff - src/vspace.h
fix typo and and ukrainian
[lyx.git] / src / vspace.h
index c33233d602822547c646c59c41f11503157247be..11fe28079d14a3f7030448053c3c8a36727d2114 100644 (file)
@@ -1,13 +1,13 @@
 // -*- C++ -*-
 /* This file is part of
- * ======================================================
+ * ====================================================== 
  * 
  *           LyX, The Document Processor
  *      
- *         Copyright (C) 1995 1996 Matthias Ettrich
- *           and the LyX Team.
+ *           Copyright 1995 Matthias Ettrich
+ *           Copyright 1995-2000 The LyX Team.
  *
- *======================================================*/
+ * ====================================================== */
 
 #ifndef VSPACE_H
 #define VSPACE_H
 #pragma interface
 #endif
 
-#include <cstdio>
+#include "LString.h"
+
+class BufferParams;
+class BufferView;
 
 ///  LyXLength Class
 class LyXLength {
@@ -51,37 +54,31 @@ public:
                UNIT_NONE
        };
 
-       //@Man: constructors
-       //@{
        ///
        LyXLength() : val(0), uni(LyXLength::PT) {}
+       ///
        LyXLength(float v, LyXLength::UNIT u) : val(v), uni(u) {}
 
        /** "data" must be a decimal number, followed by a unit. */
+       explicit
         LyXLength(string const & data);
-       //@}
        
-       //@Man: selectors
-       //@{
-       ///
-       float value() const         { return val; };
        ///
-       LyXLength::UNIT unit() const { return uni; };
-       //@}
-
+       float value() const         { return val; }
        ///
-        bool operator==(LyXLength const &) const;
+       LyXLength::UNIT unit() const { return uni; }
 
        /// conversion
-       virtual string asString() const;
+       virtual string const asString() const;
        ///
-       virtual string asLatexString() const { return this->asString(); };
-
+       virtual string const asLatexString() const {
+               return this->asString();
+       }
 
        /** If "data" is valid, the length represented by it is
          stored into "result", if that is not 0. */
        friend bool isValidLength(string const & data, 
-                                 LyXLength * result=0);
+                                 LyXLength * result = 0);
 
 protected:
        ///
@@ -90,18 +87,29 @@ protected:
        LyXLength::UNIT uni;
 };
 
+///
+inline
+bool operator==(LyXLength const & l1, LyXLength const & l2)
+{
+       return l1.value() == l2.value()
+               && l1.unit() == l2.unit();
+}
+       
+///
 extern LyXLength::UNIT unitFromString (string const & data);
+///
 extern bool isValidLength(string const & data, LyXLength * result);
 
 /// LyXGlueLength class
 class LyXGlueLength : public LyXLength {
 public:
-       //@Man: constructors
-       //@{
        ///
-       LyXGlueLength(float v,      LyXLength::UNIT u, 
-                     float pv=0.0, LyXLength::UNIT pu=LyXLength::UNIT_NONE, 
-                     float mv=0.0, LyXLength::UNIT mu=LyXLength::UNIT_NONE) 
+       LyXGlueLength(float v,
+                     LyXLength::UNIT u, 
+                     float pv = 0.0,
+                     LyXLength::UNIT pu = LyXLength::UNIT_NONE, 
+                     float mv = 0.0,
+                     LyXLength::UNIT mu = LyXLength::UNIT_NONE) 
                : LyXLength (v, u), 
                  plus_val(pv), minus_val(mv), 
                  plus_uni(pu), minus_uni(mu) {}
@@ -112,73 +120,103 @@ public:
          1.2 cm  //  4mm +2pt  //  2cm -4mm +2mm  //  4+0.1-0.2cm
          The traditional Latex format is also accepted, like  
          4cm plus 10pt minus 10pt */
+       explicit
         LyXGlueLength(string const & data);
-       //@}
        
-       //@Man: selectors
-       //@{
        ///
-       float plusValue() const         { return plus_val; };
+       float plusValue() const         { return plus_val; }
        ///
-       LyXLength::UNIT plusUnit() const { return plus_uni; };
+       LyXLength::UNIT plusUnit() const { return plus_uni; }
        ///
-       float minusValue() const         { return minus_val; };
+       float minusValue() const         { return minus_val; }
        ///
-       LyXLength::UNIT minusUnit() const { return minus_uni; };
-       //@}
-
-       ///
-        bool operator==(LyXGlueLength const &) const;
+       LyXLength::UNIT minusUnit() const { return minus_uni; }
 
        /// conversion
-       virtual string asString() const;
+       virtual string const asString() const;
        ///
-       virtual string asLatexString() const;
+       virtual string const asLatexString() const;
 
 
        /** If "data" is valid, the length represented by it is
          stored into "result", if that is not 0. */
        friend bool isValidGlueLength(string const & data, 
-                                     LyXGlueLength* result=0);
+                                     LyXGlueLength* result = 0);
 
 protected:
        ///
-       float           plus_val, minus_val;
+       float plus_val;
+       ///
+       float minus_val;
        ///
-       LyXLength::UNIT plus_uni, minus_uni;
+       LyXLength::UNIT plus_uni;
+       ///
+       LyXLength::UNIT minus_uni;
 };
 
+///
+inline
+bool operator==(LyXGlueLength const & l1, LyXGlueLength const & l2)
+{
+       return l1.value() == l2.value()
+               && l1.unit() == l2.unit()
+               && l1.plusValue() == l2.plusValue()
+               && l1.plusUnit() == l2.plusUnit()
+               && l1.minusValue() == l2.minusValue()
+               && l1.minusUnit() == l2.minusUnit();
+}
+
+
+///
 extern bool isValidGlueLength(string const & data, LyXGlueLength * result);
 
 ///  VSpace class
 class VSpace {
 public:
        ///
-       enum vspace_kind { NONE, DEFSKIP, 
-                          SMALLSKIP, MEDSKIP, BIGSKIP, 
-                          VFILL, LENGTH };
-       // constructors
+       enum vspace_kind {
+               ///
+               NONE,
+               ///
+               DEFSKIP,
+               ///
+               SMALLSKIP,
+               ///
+               MEDSKIP,
+               ///
+               BIGSKIP,
+               ///
+               VFILL,
+               ///
+               LENGTH
+       };
+       /// constructors
        VSpace() : 
                kin (NONE), 
                len(0.0, LyXLength::PT),
                 kp (false) {}
-
+       ///
+       explicit
        VSpace(vspace_kind k) : 
                kin (k), 
                len (0.0, LyXLength::PT),
                kp (false) {}
-
+       ///
+       explicit
        VSpace(LyXGlueLength l) :
                kin (LENGTH),
                len (l),
                kp (false) {}
 
+       ///
+       explicit
        VSpace(float v, LyXLength::UNIT u) : 
                kin (LENGTH), 
                len (v, u),
                kp (false) {}
 
        /// this constructor is for reading from a .lyx file
+       explicit
        VSpace(string const & data);
        
        // access functions
@@ -195,20 +233,20 @@ public:
 
        // conversion
        ///
-       string asLyXCommand() const;  // how it goes into the LyX file
+       string const asLyXCommand() const;  // how it goes into the LyX file
+       ///
+       string const asLatexCommand(BufferParams const & params) const;
        ///
-       string asLatexCommand() const;
+       int inPixels(BufferView * bv) const;
        ///
-       int inPixels() const;
+       int inPixels(int default_height, int default_skip) const;
 private:
        ///
-       vspace_kind  kin;
+       vspace_kind kin;
        ///
-       LyXGlueLength    len;
+       LyXGlueLength len;
        ///
        bool kp;
 };
 
 #endif
-
-