void MaterialWindow::saveMaterial()
{
    if (mMaterialAsset == NULL)
        return;

    for (S32 n = 0; n < nodeList.size(); ++n)
    {
        Node* node = &nodeList[n];
        saveNode(mMaterialAsset->getTemplate(), node);
    }

    for (S32 n = 0; n < connectionList.size(); ++n)
    {
        Connection* connection = &connectionList[n];
        saveConnection(connection);
    }

    mMaterialAsset->saveMaterial();
    mMaterialAsset->reloadMaterial();
}
void SimulationInputOutputHelper::saveToFile(const QString& path, const SimulationInstance& simulationInstance)
{
    QFile file(path);
    if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
    {
        return;
    }

    QTextStream out(&file);

    saveFirstLine(out, simulationInstance);

    for (const Station& station : simulationInstance.stations)
    {
        saveStation(out, station);
    }

    for (const Connection& connection : simulationInstance.connections)
    {
        saveConnection(out, connection);
    }
}
void QgsOracleConnect::on_buttonBox_accepted()
{
  saveConnection();
}