]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/MathMacro.h
A little cleanup of the layout files.
[lyx.git] / src / mathed / MathMacro.h
index dae4d8099c08edb028efcc2fd177278d8b60c210..5edac1df786bfd7df3cc63bc82068532135e1ef7 100644 (file)
@@ -5,7 +5,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.
  */
@@ -118,20 +118,22 @@ public:
                if (n <= int(nargs()))
                        optionals_ = n;
        }
-       
+       /// Return the maximal number of arguments the macro is greedy for.
+       size_t appetite() const { return appetite_; }
+
 protected:
        friend class MathData;
        friend class ArgumentProxy;
        friend class Cursor;
 
        /// update the display mode (should only be called after detaching arguments)
-       void setDisplayMode(DisplayMode mode);
+       void setDisplayMode(DisplayMode mode, int appetite = -1);
        /// compute the next display mode
        DisplayMode computeDisplayMode() const;
        /// update macro definition
        void updateMacro(MacroContext const & mc);
        /// check if macro definition changed, argument changed etc. and adapt
-       void updateRepresentation(Cursor const * bvCur);
+       void updateRepresentation();
        /// empty macro, put arguments into args, possibly strip arity-attachedArgsNum_ empty ones.
        /// Includes the optional arguments.
        void detachArguments(std::vector<MathData> & args, bool strip);
@@ -142,7 +144,7 @@ protected:
        MacroData const * macro() { return macro_; }
        ///
        bool editMetrics(BufferView const * bv) const;
-       
+
 private:
        ///
        virtual Inset * clone() const;
@@ -175,6 +177,8 @@ private:
        std::string requires_;
        /// update macro representation
        bool needsUpdate_;
+       /// maximal number of arguments the macro is greedy for
+       size_t appetite_;
 
 public:
        ///