]> git.lyx.org Git - features.git/commitdiff
simplify BigopInset handling
authorAndré Pönitz <poenitz@gmx.net>
Thu, 26 Jul 2001 14:37:09 +0000 (14:37 +0000)
committerAndré Pönitz <poenitz@gmx.net>
Thu, 26 Jul 2001 14:37:09 +0000 (14:37 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2360 a592a061-630c-0410-9148-cb99ea01b6c8

src/mathed/math_bigopinset.C
src/mathed/math_bigopinset.h
src/mathed/math_cursor.C
src/mathed/math_hash.C
src/mathed/math_parser.C

index a6dbc948c605a686672f08b7edba3379c885a8f6..cdf09f42823aee342165b12f8d78fc95a6d0aa25 100644 (file)
@@ -1,13 +1,12 @@
 #include "math_bigopinset.h"
-#include "Painter.h"
-#include "mathed/support.h"
+#include "mathed/math_parser.h"
 #include "support/LOstream.h"
 
 
 using std::ostream;
 
-MathBigopInset::MathBigopInset(string const & name, int id)
-       : MathInset(0, name), sym_(id)
+MathBigopInset::MathBigopInset(const latexkeys * l)
+       : sym_(l)
 {}
 
 
@@ -19,34 +18,30 @@ MathInset * MathBigopInset::clone() const
 
 void MathBigopInset::write(ostream & os, bool /* fragile */) const
 {
-       //bool f = sym_ != LM_int && sym_ != LM_oint && size() == LM_ST_DISPLAY;
-       os << '\\' << name();
+       os << '\\' << sym_->name;
 }
 
 
 void MathBigopInset::writeNormal(ostream & os) const
 {
-       os << "[bigop " << name() << "] ";
+       os << "[bigop " << sym_->name << "] ";
 }
 
 
 void MathBigopInset::metrics(MathStyles st)
 {
-       //cerr << "\nBigopDraw: " << name_ << ": " << sym_ << "\n";
        size(st);
        
-       if (sym_ && (sym_ < 256 || sym_ == LM_oint)) {
+       if (sym_->id > 0 && sym_->id < 256) {
                ssym_ = string();
-               ssym_ += (sym_ == LM_oint) ? LM_int : sym_;
+               ssym_ += sym_->id;
                code_ = LM_TC_BSYM;
        } else {
-               ssym_ = name();
+               ssym_ = sym_->name;
                code_ = LM_TC_TEXTRM;
        }
 
        mathed_string_dim(code_, size(), ssym_, ascent_, descent_, width_);
-       if (sym_ == LM_oint)
-               width_ += 2;
 }
 
 
@@ -56,10 +51,4 @@ void MathBigopInset::draw(Painter & pain, int x, int y)
        yo(y);
 
        drawStr(pain, code_, size_, x, y, ssym_);
-
-       if (sym_ == LM_oint) {
-               int xx = x - 1;
-               int yy = y - (ascent_ - descent_) / 2;
-               pain.arc(xx, yy, width_, width_, 0, 360 * 64, LColor::mathline);
-       }
 }
index eaef44e808dae49752d28a4f40fd800b88dcc7d5..2c1a477b32a14f42e558f210812aebfd5cd36899 100644 (file)
@@ -4,11 +4,13 @@
 
 #include "math_inset.h"
 
+struct latexkeys;
+
 /// big operators
 class MathBigopInset : public MathInset {
 public:
        ///
-       MathBigopInset(string const &, int);
+       explicit MathBigopInset(latexkeys const *);
        ///
        MathInset * clone() const;
        ///
@@ -23,7 +25,7 @@ public:
        bool isScriptable() const { return true; }
 private:
        ///
-       int sym_;
+       latexkeys const * sym_;
        ///
        string ssym_;
        ///
index d8ec314f5ceeffcea2b384eb9b11eff59ab4a01d..bc1ddf707cbab430b895c2a3df669de4e1a5e4bc 100644 (file)
@@ -667,7 +667,7 @@ void MathCursor::interpret(string const & s)
                switch (l->token) {
                        case LM_TK_BIGSYM: 
                        case LM_TK_FUNCLIM:
-                               p = new MathBigopInset(s, l->id);
+                               p = new MathBigopInset(l);
                                break;
                                
                        case LM_TK_SYM: {
index 6c2c4c43653235c829676da250144bec55bb76c6..67139db71f2dc2026469b1a89ab29aa5da6c733e 100644 (file)
@@ -184,7 +184,7 @@ latexkeys const wordlist[] =
        {"nu",  LM_TK_SYM, LM_nu, LMB_NONE},
        {"nwarrow",  LM_TK_SYM, LM_nwarrow, LMB_NONE},
        {"odot",  LM_TK_SYM, LM_odot, LMB_OPERATOR},
-       {"oint",  LM_TK_BIGSYM, LM_oint, LMB_NONE},
+       //{"oint",  LM_TK_BIGSYM, LM_oint, LMB_NONE},
        {"omega",  LM_TK_SYM, LM_omega, LMB_NONE},
        {"ominus",  LM_TK_SYM, LM_ominus, LMB_OPERATOR},
        {"oplus",  LM_TK_SYM, LM_oplus, LMB_OPERATOR},
index a9839b8dd2c16533401c7d38680050c0795e956f..a07d5ad7e53e8c40260ff2fc3964c292b8e52f60 100644 (file)
@@ -633,7 +633,7 @@ void mathed_parse(MathArray & array, unsigned flags)
                case LM_TK_BIGSYM:  
                case LM_TK_FUNCLIM:
                        limits = 0;
-                       array.push_back(new MathBigopInset(yylval.l->name, yylval.l->id));
+                       array.push_back(new MathBigopInset(yylval.l));
                        break;
                
                case LM_TK_SYM: