]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_atom.C
architectural changes to tex2lyx
[lyx.git] / src / mathed / math_atom.C
index 8e423064bac79325f49e4ae6008fee08cd7db078..4ae004f521691bb809b26d4f3795fbbd9838b8f0 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  File:        math_atom.C
- *  Purpose:     Wrapper for MathInset * 
+ *  Purpose:     Wrapper for MathInset *
  *  Author:      André Pönitz
  *  Created:     July 2001
  *
 
 #include <config.h>
 
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
 #include "math_atom.h"
 #include "math_inset.h"
+#include "insets/insetbase.h"
 
 #include <utility>
 
@@ -29,21 +26,24 @@ MathAtom::MathAtom()
 {}
 
 
-MathAtom::MathAtom(MathInset * p)
-       : nucleus_(p)
+MathAtom::MathAtom(InsetBase * p)
+       : nucleus_(static_cast<MathInset *>(p))
 {}
 
 
-MathAtom::MathAtom(MathAtom const & p)
-       : nucleus_(p.nucleus_ ? p.nucleus_->clone() : 0)
-{}
+MathAtom::MathAtom(MathAtom const & at)
+       : nucleus_(0)
+{
+       if (at.nucleus_)
+               nucleus_ = static_cast<MathInset*>(at.nucleus_->clone().release());
+}
 
 
-void MathAtom::operator=(MathAtom const & p)
+void MathAtom::operator=(MathAtom const & at)
 {
-       if (&p == this)
+       if (&at == this)
                return;
-       MathAtom tmp(p);
+       MathAtom tmp(at);
        std::swap(tmp.nucleus_, nucleus_);
 }
 
@@ -52,12 +52,3 @@ MathAtom::~MathAtom()
 {
        delete nucleus_;
 }
-
-
-void MathAtom::reset(MathInset * p)
-{
-       if (p == nucleus_)
-               return;
-       delete nucleus_;
-       nucleus_ = p;
-}