X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_hullinset.h;h=6c9237351a8faf37ed5d09b131482d4398791400;hb=cd03e2b7db8379a91f3d31eac2c5bc25b159c541;hp=fc2aa5ec754cf64b32e7c986381efcac6d1da49b;hpb=a78c4b15ff5fd5689740c4231b058fd746fade46;p=lyx.git diff --git a/src/mathed/math_hullinset.h b/src/mathed/math_hullinset.h index fc2aa5ec75..6c9237351a 100644 --- a/src/mathed/math_hullinset.h +++ b/src/mathed/math_hullinset.h @@ -1,19 +1,23 @@ // -*- C++ -*- +/** + * \file math_hullinset.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. + * + * \author André Pönitz + * + * Full author contact details are available in file CREDITS. + */ + #ifndef MATH_HULLINSET_H #define MATH_HULLINSET_H #include "math_gridinset.h" -#ifdef __GNUG__ -#pragma interface -#endif - -/** This provides an interface between "LyX insets" and "LyX math insets" - * \author André Pönitz - */ class LaTeXFeatures; +/// This provides an interface between "LyX insets" and "LyX math insets" class MathHullInset : public MathGridInset { public: /// @@ -21,17 +25,15 @@ public: /// explicit MathHullInset(string const & type); /// - MathHullInset(string const & type, MathGridInset const & grid); - /// - MathHullInset(string const & type, col_type cols); + virtual std::auto_ptr clone() const; /// - MathInset * clone() const; + mode_type currentMode() const; /// - void metrics(MathMetricsInfo & mi) const; + void metrics(MetricsInfo & mi, Dimension & dim) const; /// - void draw(MathPainterInfo &, int x, int y) const; + void draw(PainterInfo &, int x, int y) const; /// - void metricsT(TextMetricsInfo const & mi) const; + void metricsT(TextMetricsInfo const & mi, Dimension & dim) const; /// void drawT(TextPainter &, int x, int y) const; /// @@ -48,8 +50,10 @@ public: bool display() const; /// bool ams() const; + /// local dispatcher + dispatch_result dispatch(FuncRequest const & cmd, idx_type & idx, pos_type & pos); /// - std::vector const getLabelList() const; + void getLabelList(std::vector &) const; /// void validate(LaTeXFeatures & features) const; /// identifies MatrixInsets @@ -57,14 +61,14 @@ public: /// identifies HullInset MathHullInset * asHullInset() { return this; } - /// - void addRow(row_type); - /// - void delRow(row_type); - /// - void addFancyCol(col_type); - /// - void delFancyCol(col_type); + /// add a row + void addRow(row_type row); + /// delete a row + void delRow(row_type row); + /// add a column + void addCol(col_type col); + /// delete a column + void delCol(col_type col); /// get type string const & getType() const; @@ -80,6 +84,8 @@ public: /// bool idxLast(idx_type &, pos_type &) const; + /// + string fileInsetLabel() const; /// void write(WriteStream & os) const; /// @@ -89,6 +95,10 @@ public: /// void infoize(std::ostream & os) const; +protected: + /// + string eolString(row_type row, bool fragile) const; + private: /// void setType(string const & type); @@ -101,13 +111,17 @@ private: /// string nicelabel(row_type row) const; /// + void doExtern(FuncRequest const & func, idx_type & idx, pos_type & pos); + /// void glueall(); /// char const * standardFont() const; /// consistency check void check() const; + /// can this change its number of cols? + bool colChangeOK() const; - /// "simple", "display", "eqnarray",... + /// "none", "simple", "display", "eqnarray",... string type_; /// std::vector nonum_; @@ -115,25 +129,4 @@ private: std::vector label_; }; - -class MathParInset : public MathHullInset { -public: - /// - MathParInset(); - /// - MathParInset * asParInset() { return this; } - /// - void metrics(MathMetricsInfo & mi) const; - /// - void draw(MathPainterInfo &, int x, int y) const; - /// - void infoize(std::ostream & os) const; - /// - void write(WriteStream & os) const; -private: - /// - void rebreak(); -}; - - #endif