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();
  }
}
Beispiel #3
0
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();
}
Beispiel #4
0
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();
  }