]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/MathMacroArgument.cpp
Remove hardcoded values
[lyx.git] / src / mathed / MathMacroArgument.cpp
index 01f9a1c9b5a805bf4723722c1470fc5c387d5539..76b43f3629f255a0fffc3f5a0ee4186ed8e95bc8 100644 (file)
@@ -4,7 +4,7 @@
  * Licence details can be found in the file COPYING.
  *
  * \author Alejandro Aguilar Sierra
- * \author André Pönitz
+ * \author André Pönitz
  *
  * Full author contact details are available in file CREDITS.
  */
 #include "MathMacroArgument.h"
 #include "MathStream.h"
 #include "MathSupport.h"
-#include "debug.h"
 
+#include "support/debug.h"
 
-namespace lyx {
-
-using std::endl;
-using std::size_t;
 
+namespace lyx {
 
-MathMacroArgument::MathMacroArgument(size_t n)
+MathMacroArgument::MathMacroArgument(int n)
        : number_(n)
 {
        if (n < 1 || n > 9) {
-               lyxerr << "MathMacroArgument::MathMacroArgument: wrong Argument id: "
-                       << n << endl;
+               LYXERR0("MathMacroArgument::MathMacroArgument: wrong Argument id: " << n);
        }
+
        // The profiler tells us not to use
        // str_ = '#' + convert<docstring>(n);
        // so we do the conversion of n to ASCII manually.
@@ -46,26 +43,32 @@ Inset * MathMacroArgument::clone() const
 }
 
 
+void MathMacroArgument::setNumber(int n)
+{
+       if (n < 1 || n > 9) {
+               LYXERR0("MathMacroArgument::setNumber: wrong Argument id: " << n);
+       }
+
+       number_ = n;
+       str_[1] = '0' + n;
+}
+
+
 void MathMacroArgument::write(WriteStream & os) const
 {
        os << str_;
 }
 
 
-bool MathMacroArgument::metrics(MetricsInfo & mi, Dimension & dim) const
+void MathMacroArgument::metrics(MetricsInfo & mi, Dimension & dim) const
 {
-       mathed_string_dim(mi.base.font, str_, dim);
-       if (dim_ == dim)
-               return false;
-       dim_ = dim;
-       return true;
+       metricsStrRedBlack(mi, dim, str_);
 }
 
 
 void MathMacroArgument::draw(PainterInfo & pi, int x, int y) const
 {
        drawStrRed(pi, x, y, str_);
-       setPosCache(pi, x, y);
 }