* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author Alejandro Aguilar Sierra
- * \author John Levon
+ * \author Angus Leeming
*
* Full author contact details are available in file CREDITS
+ *
+ * ControlMath2 is a controller class for the Math Panel dialog.
*/
-#ifndef CONTROL_MATH_H
-#define CONTROL_MATH_H
+#ifndef CONTROLMATH_H
+#define CONTROLMATH_H
+
+
+#include "Dialog.h"
+#include "lfuns.h" // for kb_action
+
+
+class ControlMath : public Dialog::Controller {
+public:
+ ControlMath(Dialog &);
+
+ /// Nothing to initialise in this case.
+ virtual bool initialiseParams(string const &) { return true; }
+ virtual void clearParams() {}
+ virtual void dispatchParams() {}
+ virtual bool isBufferDependent() const { return true; }
+
+ /// dispatch an LFUN
+ void dispatchFunc(kb_action action, string const & arg = string()) const;
+ /// Insert a math symbol into the doc.
+ void dispatchInsert(string const & name) const;
+ /// Insert a subscript.
+ void dispatchSubscript() const;
+ /// Insert a superscript.
+ void dispatchSuperscript() const;
+ /// Insert a cube root
+ void dispatchCubeRoot() const;
+ /// Insert a matrix
+ void dispatchMatrix(string const & str) const;
+ /// Insert a delimiter
+ void dispatchDelim(string const & str) const;
+ /// Wwitch between display and inline
+ void dispatchToggleDisplay() const;
+ /** A request to the kernel to launch a dialog.
+ * \param name the dialog identifier.
+ */
+ void showDialog(string const & name) const;
+};
+
extern char const * function_names[];
extern int const nr_function_names;
extern char const * latex_ams_ops[];
extern int const nr_latex_ams_ops;
-#endif /* CONTROL_MATH_H */
+/**
+ * Return the mangled XPM filename of the given
+ * math symbol.
+ */
+string const find_xpm(string const & name);
+
+#endif // NOT CONTROLMATH