X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_atom.C;h=a8e2815a0f146acfd65d18ebd5f2e069f4dfafcb;hb=c649284611c4198c9d70be8a16d153cdf1ec0700;hp=8c1c6ed85cd10b42d61c31b8112ea187134f8902;hpb=9295f8236e01a5e425d808eb0d2bdd0460d1f423;p=lyx.git diff --git a/src/mathed/math_atom.C b/src/mathed/math_atom.C index 8c1c6ed85c..a8e2815a0f 100644 --- a/src/mathed/math_atom.C +++ b/src/mathed/math_atom.C @@ -1,27 +1,27 @@ /* - * File: math_inset.C - * Purpose: Implementation of insets for mathed - * Author: Alejandro Aguilar Sierra - * Created: January 1996 - * Description: + * File: math_atom.C + * Purpose: Wrapper for MathInset * + * Author: André Pönitz + * Created: July 2001 * - * Dependencies: Xlib, XForms + * Copyright: 2001 The LyX team * - * Copyright: 1996, 1997 Alejandro Aguilar Sierra - * - * Version: 0.8beta. + * Version: 1.2.0 * * You are free to use and modify this code under the terms of * the GNU General Public Licence version 2 or later. */ +#include + #ifdef __GNUG__ #pragma implementation #endif #include "math_atom.h" #include "math_inset.h" -#include "support/LAssert.h" + +#include MathAtom::MathAtom() @@ -34,60 +34,36 @@ MathAtom::MathAtom(MathInset * p) {} -MathAtom::MathAtom(MathAtom const & p) -{ - copy(p); -} +MathAtom::MathAtom(MathAtom const & at) + : nucleus_(at.nucleus_ ? at.nucleus_->clone() : 0) +{} -void MathAtom::operator=(MathAtom const & p) +void MathAtom::operator=(MathAtom const & at) { - if (this != &p) { - done(); - copy(p); - } + if (&at == this) + return; + MathAtom tmp(at); + std::swap(tmp.nucleus_, nucleus_); } -MathAtom::~MathAtom() +void MathAtom::operator=(MathInset * p) { - done(); + reset(p); } -void MathAtom::done() +MathAtom::~MathAtom() { delete nucleus_; } -void MathAtom::copy(MathAtom const & p) +void MathAtom::reset(MathInset * p) { - //cerr << "calling MathAtom::copy\n"; - nucleus_ = p.nucleus_; - if (nucleus_) - nucleus_ = nucleus_->clone(); -} - - -MathInset * MathAtom::nucleus() const -{ - lyx::Assert(nucleus_); - return nucleus_; -} - - -MathInset * MathAtom::operator->() const -{ - return nucleus(); -} - -/* -void MathAtom::userSetSize(MathStyles sz) -{ - if (sz >= 0) { - size_ = sz; - flag = flag & ~LMPF_FIXED_SIZE; - } + if (p == nucleus_) + return; + delete nucleus_; + nucleus_ = p; } -*/