X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fformulabase.h;h=a91eed0b38d80c09e101176f92d2e6920096ca2d;hb=e093e5e80c334995a77445c8e66a9f3c9594dda1;hp=b746bb698cd41d8e2efcb4b04f28b2ebfe07ffea;hpb=b1d75ead87793dedc8348159474d05e50daef1ee;p=lyx.git diff --git a/src/mathed/formulabase.h b/src/mathed/formulabase.h index b746bb698c..a91eed0b38 100644 --- a/src/mathed/formulabase.h +++ b/src/mathed/formulabase.h @@ -4,7 +4,7 @@ * Purpose: Common parts of the math LyX insets * Author: André Pönitz * Created: May 2001 - * Description: Allows the edition of math paragraphs inside Lyx. + * Description: Allows the edition of math paragraphs inside Lyx. * * Copyright: 2001, The LyX Project * @@ -12,25 +12,27 @@ * the GNU General Public Licence version 2 or later. */ -#ifndef INSET_FORMULABASE_H +#ifndef INSET_FORMULABASE_H #define INSET_FORMULABASE_H #ifdef __GNUG__ #pragma interface #endif -#include #include "insets/inset.h" +#include "frontends/mouse_state.h" #include "lyxfont.h" // only for getType(): #include "math_defs.h" +#include + class Buffer; class BufferView; class MathAtom; -/// +/// An abstract base class for all math related LyX insets class InsetFormulaBase : public UpdatableInset { public: /// @@ -64,7 +66,7 @@ public: /// what appears in the minibuffer when opening virtual string const editMessage() const; /// - virtual void edit(BufferView *, int x, int y, unsigned int button); + virtual void edit(BufferView *, int x, int y, mouse_button::state button); /// virtual void edit(BufferView *, bool front = true); /// @@ -78,19 +80,17 @@ public: /// virtual void toggleInsetSelection(BufferView * bv); /// - virtual void insetButtonPress(BufferView *, int x, int y, int button); + virtual void insetButtonPress(BufferView *, int x, int y, mouse_button::state button); /// - virtual bool insetButtonRelease(BufferView *, int x, int y, int button); + virtual bool insetButtonRelease(BufferView *, int x, int y, mouse_button::state button); /// - virtual void insetKeyPress(XKeyEvent * ev); - /// - virtual void insetMotionNotify(BufferView *, int x, int y, int state); + virtual void insetMotionNotify(BufferView *, int x, int y, mouse_button::state state); /// virtual void insetUnlock(BufferView *); - + /// To allow transparent use of math editing functions virtual RESULT localDispatch(BufferView *, kb_action, string const &); - + /// virtual std::vector const getLabelList() const; /// @@ -104,12 +104,18 @@ public: /// virtual bool searchForward(BufferView *, string const &, - bool = true, bool = false); + bool = true, bool = false); /// virtual bool searchBackward(BufferView *, string const &, - bool = true, bool = false); + bool = true, bool = false); /// virtual bool isTextInset() const { return true; } + /// + virtual void mutateToText(); + /// + virtual void revealCodes(BufferView *) const; + /// + virtual Inset::EDITABLE editable() const { return HIGHLY_EDITABLE; } private: @@ -119,7 +125,7 @@ private: void handleAccent(BufferView * bv, string const & arg, string const & name); /// - mutable BufferView * view_; + mutable BufferView * view_; /// mutable LyXFont font_; @@ -128,6 +134,8 @@ protected: void metrics(BufferView * bv, LyXFont const & font) const; /// void metrics(BufferView * bv = 0) const; + /// + void handleFont(BufferView * bv, string const & arg, string const & font); /// mutable int xo_;