void InputFileExtension::readOutputFile(const QString filename) { QApplication::setOverrideCursor(Qt::WaitCursor); OBConversion conv; OBFormat *inFormat = conv.FormatFromExt( filename.toAscii() ); if ( !inFormat || !conv.SetInFormat( inFormat ) ) { QApplication::restoreOverrideCursor(); QMessageBox::warning(m_widget, tr("Avogadro"), tr("Cannot read file format of file %1.").arg(filename)); return; } // TODO: Switch to MoleculeFile ifstream ifs; ifs.open(QFile::encodeName(filename)); if (!ifs) { // shouldn't happen, already checked file above QApplication::restoreOverrideCursor(); QMessageBox::warning(m_widget, tr("Avogadro"), tr("Cannot read file %1.").arg( filename ) ); return; } OBMol *obmol = new OBMol; if (conv.Read(obmol, &ifs)) { Molecule *mol = new Molecule; mol->setOBMol(obmol); mol->setFileName(filename); emit moleculeChanged(mol, Extension::DeleteOld); m_molecule = mol; } QApplication::restoreOverrideCursor(); }
void CustomElements::setMolecule(QtGui::Molecule *mol) { if (m_molecule != mol) { if (m_molecule) m_molecule->disconnect(this); m_molecule = mol; if (m_molecule) connect(m_molecule, SIGNAL(changed(uint)), SLOT(moleculeChanged(uint))); updateReassignAction(); } }
void PlotXrd::setMolecule(QtGui::Molecule* mol) { if (m_molecule == mol) return; if (m_molecule) m_molecule->disconnect(this); m_molecule = mol; if (m_molecule) connect(m_molecule, SIGNAL(changed(uint)), SLOT(moleculeChanged(uint))); updateActions(); }
void Crystal::setMolecule(QtGui::Molecule *mol) { if (m_molecule == mol) return; if (m_molecule) m_molecule->disconnect(this); m_molecule = mol; if (m_unitCellDialog) m_unitCellDialog->setMolecule(m_molecule); if (m_molecule) connect(m_molecule, SIGNAL(changed(uint)), SLOT(moleculeChanged(uint))); updateActions(); }
void FileImportExtension::import() { QString fileName = m_fileImportDialog->fileName->text(); QApplication::setOverrideCursor(Qt::WaitCursor); /* OBConversion conv; OBFormat *inFormat = conv.FormatFromExt(( fileName.toAscii() ).data() ); if ( !inFormat || !conv.SetInFormat( inFormat ) ) { QApplication::restoreOverrideCursor(); QMessageBox::warning(m_fileImportDialog, tr("Avogadro"), tr("Cannot read file format of file %1.").arg(fileName)); return; } ifstream ifs; ifs.open((fileName.toAscii()).data()); if (!ifs) { // shouldn't happen, already checked file above QApplication::restoreOverrideCursor(); QMessageBox::warning(m_fileImportDialog, tr("Avogadro"), tr("Cannot read file %1.").arg( fileName ) ); return; } OBMol *obmol = new OBMol; */ // Turn off bond perception Molecule *mol = MoleculeFile::readMolecule(fileName, "", "b"); if (mol) { Molecule *oldMol = m_molecule; qDebug() << "Attempting to read parm file..."; readParmFile(mol); qDebug() << "Parm file read..."; emit moleculeChanged(mol, Extension::DeleteOld | Extension::NewWindow); oldMol->deleteLater(); } else qDebug() << "Reading molecule file failed..."; QApplication::restoreOverrideCursor(); }