MathCell* MathParser::ParseSupTag(wxXmlNode* node) { ExptCell *expt = new ExptCell; #if wxCHECK_VERSION(2,9,0) if (node->GetAttributes() != NULL) #else if (node->GetProperties() != NULL) #endif expt->IsMatrix(true); wxXmlNode* child = node->GetChildren(); if (child) { expt->SetBase(ParseTag(child, false)); child = child->GetNext(); if (child) { MathCell* power = ParseTag(child, false); power->SetExponentFlag(); expt->SetPower(power); expt->SetType(m_ParserStyle); expt->SetStyle(TS_VARIABLE); return expt; } } delete expt; return NULL; }
MathCell* ExptCell::Copy(bool all) { ExptCell* tmp = new ExptCell; CopyData(this, tmp); tmp->SetBase(m_baseCell->Copy(true)); tmp->SetPower(m_powCell->Copy(true)); if (all && m_next != NULL) tmp->AppendCell(m_next->Copy(all)); return tmp; }
MathCell* ExptCell::Copy() { ExptCell* tmp = new ExptCell; CopyData(this, tmp); tmp->SetBase(m_baseCell->CopyList()); tmp->SetPower(m_powCell->CopyList()); tmp->m_isBroken = m_isBroken; tmp->m_open->DontEscapeOpeningParenthesis(); return tmp; }
Cell *ExptCell::Copy() { ExptCell *tmp = new ExptCell(m_group, m_configuration, m_cellPointers); CopyData(this, tmp); tmp->SetBase(m_baseCell->CopyList()); tmp->SetPower(m_powCell->CopyList()); tmp->m_isBrokenIntoLines = m_isBrokenIntoLines; tmp->m_open->DontEscapeOpeningParenthesis(); return tmp; }