X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_inset.C;h=1a9b26d3e5d3924af921f8105d1240eea70ff8fd;hb=f1ff990de782f1a4c3ae14902f5242bdb012b264;hp=cddb9f2437f62bd7c99dbfdc882b1e49db745db6;hpb=277e3050821209fa728d05c98b30476eead6e4fb;p=lyx.git diff --git a/src/mathed/math_inset.C b/src/mathed/math_inset.C index cddb9f2437..1a9b26d3e5 100644 --- a/src/mathed/math_inset.C +++ b/src/mathed/math_inset.C @@ -1,9 +1,9 @@ /* * File: math_inset.C * Purpose: Implementation of insets for mathed - * Author: Alejandro Aguilar Sierra + * Author: Alejandro Aguilar Sierra * Created: January 1996 - * Description: + * Description: * * Dependencies: Xlib, XForms * @@ -15,34 +15,26 @@ * the GNU General Public Licence version 2 or later. */ -#ifdef __GNUG__ -#pragma implementation -#endif - #include -#include "Lsstream.h" #include "math_inset.h" #include "math_scriptinset.h" #include "math_mathmlstream.h" +#include "math_cursor.h" #include "debug.h" +#include "frontends/LyXView.h" +#include "frontends/Dialogs.h" +#include "BufferView.h" +#include "formulabase.h" using std::ostream; -using std::vector; +using std::endl; -int MathInset::height() const +BufferView * MathInset::view() const { - return ascent() + descent(); -} - - -ostream & operator<<(ostream & os, MathInset const & inset) -{ - WriteStream wi(os, false); - inset.write(wi); - return os; + return mathcursor ? mathcursor->formula()->view() : 0; } @@ -52,42 +44,28 @@ MathInset::size_type MathInset::nargs() const } -MathXArray dummyCell; - -MathXArray & MathInset::xcell(idx_type) -{ - lyxerr << "I don't have a cell 1\n"; - return dummyCell; -} - - -MathXArray const & MathInset::xcell(idx_type) const -{ - lyxerr << "I don't have a cell 2\n"; - return dummyCell; -} - +MathArray dummyCell; MathArray & MathInset::cell(idx_type) { - lyxerr << "I don't have a cell 3\n"; - return dummyCell.data_; + lyxerr << "I don't have a cell 1" << endl; + return dummyCell; } MathArray const & MathInset::cell(idx_type) const { - lyxerr << "I don't have a cell 4\n"; - return dummyCell.data_; + lyxerr << "I don't have a cell 2" << endl; + return dummyCell; } MathInset::idx_type MathInset::index(row_type row, col_type col) const { if (row != 0) - lyxerr << "illegal row: " << row << "\n"; + lyxerr << "illegal row: " << row << endl; if (col != 0) - lyxerr << "illegal col: " << col << "\n"; + lyxerr << "illegal col: " << col << endl; return 0; } @@ -119,13 +97,13 @@ bool MathInset::idxLeft(idx_type &, pos_type &) const } -bool MathInset::idxUp(idx_type &) const +bool MathInset::idxUpDown(idx_type &, pos_type &, bool, int) const { return false; } -bool MathInset::idxDown(idx_type &) const +bool MathInset::idxUpDown2(idx_type &, pos_type &, bool, int) const { return false; } @@ -155,84 +133,87 @@ bool MathInset::idxEnd(idx_type &, pos_type &) const } -void MathInset::idxDelete(idx_type &, bool & popit, bool & deleteit) +void MathInset::getPos(idx_type, pos_type, int & x, int & y) const { - popit = false; - deleteit = false; + lyxerr << "MathInset::getPos() called directly!" << endl; + x = y = 0; } -void MathInset::normalize(NormalStream & os) const +void MathInset::dump() const { - os << "[unknown "; - WriteStream wi(os.os(), false); + lyxerr << "---------------------------------------------" << endl; + WriteStream wi(lyxerr, false, true); write(wi); - os << "] "; + lyxerr << "\n---------------------------------------------" << endl; } -void MathInset::dump() const +bool MathInset::idxBetween(idx_type idx, idx_type from, idx_type to) const { - lyxerr << "---------------------------------------------\n"; - WriteStream wi(lyxerr, false); - write(wi); - lyxerr << "\n---------------------------------------------\n"; + return from <= idx && idx <= to; } -void MathInset::validate(LaTeXFeatures &) const -{} - - -vector - MathInset::idxBetween(idx_type from, idx_type to) const +void MathInset::drawSelection(PainterInfo &, + idx_type, pos_type, idx_type, pos_type) const { - vector res; - for (idx_type i = from; i <= to; ++i) - res.push_back(i); - return res; + lyxerr << "MathInset::drawSelection() called directly!" << endl; } -void MathInset::metrics(MathMetricsInfo const &) const +void MathInset::metricsT(TextMetricsInfo const &, Dimension &) const { - lyxerr << "MathInset::metrics() called directly!\n"; +#ifdef WITH_WARNINGS + lyxerr << "MathInset::metricsT(Text) called directly!" << endl; +#endif } -void MathInset::draw(Painter &, int, int) const +void MathInset::drawT(TextPainter &, int, int) const { - lyxerr << "MathInset::draw() called directly!\n"; +#ifdef WITH_WARNINGS + lyxerr << "MathInset::drawT(Text) called directly!" << endl; +#endif } -void MathInset::metricsT(TextMetricsInfo const &) const + +void MathInset::write(WriteStream & os) const { - lyxerr << "MathInset::metricsT(Text) called directly!\n"; + os << '\\' << name().c_str(); + os.pendingSpace(true); } -void MathInset::drawT(TextPainter &, int, int) const +void MathInset::normalize(NormalStream & os) const { - lyxerr << "MathInset::drawT(Text) called directly!\n"; + os << '[' << name().c_str() << "] "; } - -void MathInset::write(WriteStream &) const +void MathInset::octave(OctaveStream & os) const { - lyxerr << "MathInset::write() called directly!\n"; + NormalStream ns(os.os()); + normalize(ns); } -void MathInset::octavize(OctaveStream & os) const +void MathInset::maple(MapleStream & os) const { NormalStream ns(os.os()); normalize(ns); } -void MathInset::maplize(MapleStream & os) const +void MathInset::maxima(MaximaStream & os) const +{ + MapleStream ns(os.os()); + maple(ns); +} + + +void MathInset::mathematica(MathematicaStream & os) const { NormalStream ns(os.os()); normalize(ns); @@ -244,3 +225,48 @@ void MathInset::mathmlize(MathMLStream & os) const NormalStream ns(os.os()); normalize(ns); } + + +int MathInset::ascii(std::ostream &, int) const +{ + return 0; +} + + +int MathInset::linuxdoc(std::ostream &) const +{ + return 0; +} + + +int MathInset::docbook(std::ostream &, bool) const +{ + return 0; +} + + +string const & MathInset::getType() const +{ + static string const t("none"); + return t; +} + + +string MathInset::name() const +{ + return "unknown"; +} + + +ostream & operator<<(ostream & os, MathAtom const & at) +{ + WriteStream wi(os, false, false); + at->write(wi); + return os; +} + + +string MathInset::fileInsetLabel() const +{ + return "Formula"; +}