lyx_mirror/src/frontends/controllers/ControlMath.h
Georg Baum b6c3478eda Implement GUI for fixed size math delimiters (by Enrico Forestieri and me):
* src/lfuns.h
	(enum kb_action): New lfun LFUN_MATH_BIGDELIM

	* src/LyXAction.C
	(void LyXAction::init): New lfun LFUN_MATH_BIGDELIM

	* src/mathed/math_nestinset.C
	(void MathNestInset::doDispatch): remove debug message
	(void MathNestInset::doDispatch): remove LFUN_MATH_DELIM test for
	multiple cells (now in getStatus)
	(void MathNestInset::doDispatch): Handle LFUN_MATH_BIGDELIM
	(bool MathNestInset::getStatus): Disable LFUN_MATH_DELIM and
	LFUN_MATH_BIGDELIM when the selection spans multiple cells

	* src/frontends/qt3/ui/QDelimiterDialogBase.ui
	Added a combobox for selecting delimiter size.

	* src/frontends/qt3/QDelimiterDialog.[Ch]
	(fix_name, QDelimiterDialog, insertClicked, size_selected):
	Allow for fixed size delimiters.

	* src/frontends/gtk/GMathDelim.C: Add FIXME commnent for fixed size
	delimiters
	* src/frontends/qt4/QDelimiterDialog.C: ditto
	* src/frontends/xforms/FormMathsDelim.C: ditto

	* src/frontends/controllers/ControlMath.[Ch]:
	Added dispatchBigDelim() to deal with fixed size delimiters.

	* src/text3.C
	(void LyXText::dispatch): Handle LFUN_MATH_BIGDELIM
	(bool LyXText::getStatus): ditto

	* src/ToolbarBackend.C
	(string const ToolbarBackend::getIcon): Handle LFUN_MATH_BIGDELIM


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13806 a592a061-630c-0410-9148-cb99ea01b6c8
2006-05-07 10:51:19 +00:00

98 lines
2.7 KiB
C++

// -*- C++ -*-
/**
* \file ControlMath.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Angus Leeming
*
* Full author contact details are available in file CREDITS.
*
* ControlMath2 is a controller class for the Math Panel dialog.
*/
#ifndef CONTROLMATH_H
#define CONTROLMATH_H
#include "Dialog.h"
#include "lfuns.h" // for kb_action
namespace lyx {
namespace frontend {
class ControlMath : public Dialog::Controller {
public:
ControlMath(Dialog &);
/// Nothing to initialise in this case.
virtual bool initialiseParams(std::string const &) { return true; }
virtual void clearParams() {}
virtual void dispatchParams() {}
virtual bool isBufferDependent() const { return true; }
/// dispatch an LFUN
void dispatchFunc(kb_action action, std::string const & arg = std::string()) const;
/// Insert a math symbol into the doc.
void dispatchInsert(std::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(std::string const & str) const;
/// Insert a variable size delimiter
void dispatchDelim(std::string const & str) const;
/// Insert a big delimiter
void dispatchBigDelim(std::string const & str) const;
/// Switch between display and inline
void dispatchToggleDisplay() const;
/** A request to the kernel to launch a dialog.
* \param name the dialog identifier.
*/
void showDialog(std::string const & name) const;
};
extern char const * function_names[];
extern int const nr_function_names;
extern char const * latex_arrow[];
extern int const nr_latex_arrow;
extern char const * latex_bop[];
extern int const nr_latex_bop;
extern char const * latex_brel[];
extern int const nr_latex_brel;
extern char const * latex_dots[];
extern int const nr_latex_dots;
extern char const * latex_greek[];
extern int const nr_latex_greek;
extern char const * latex_deco[];
extern int const nr_latex_deco;
extern char const * latex_misc[];
extern int const nr_latex_misc;
extern char const * latex_varsz[];
extern int const nr_latex_varsz;
extern char const * latex_ams_misc[];
extern int const nr_latex_ams_misc;
extern char const * latex_ams_arrows[];
extern int const nr_latex_ams_arrows;
extern char const * latex_ams_rel[];
extern int const nr_latex_ams_rel;
extern char const * latex_ams_nrel[];
extern int const nr_latex_ams_nrel;
extern char const * latex_ams_ops[];
extern int const nr_latex_ams_ops;
/**
* Return the mangled XPM filename of the given
* math symbol.
*/
std::string const find_xpm(std::string const & name);
} // namespace frontend
} // namespace lyx
#endif // NOT CONTROLMATH