+ add new class ParameterSerializer to load and save parameter files

This commit is contained in:
wmayer
2016-04-29 17:43:07 +02:00
parent af72ae09c1
commit 00eaab0522
5 changed files with 151 additions and 26 deletions

View File

@@ -237,6 +237,16 @@ void DlgParameterImp::onGroupSelected( QTreeWidgetItem * item )
}
}
/** Switches the type of parameters with name @a config. */
void DlgParameterImp::activateParameterSet(const char* config)
{
int index = ui->parameterSet->findData(QByteArray(config));
if (index != -1) {
ui->parameterSet->setCurrentIndex(index);
onChangeParameterSet(index);
}
}
/** Switches the type of parameters either to user or system parameters. */
void DlgParameterImp::onChangeParameterSet(int index)
{
@@ -244,12 +254,7 @@ void DlgParameterImp::onChangeParameterSet(int index)
if (!rcParMngr)
return;
if (rcParMngr == App::GetApplication().GetParameterSet("System parameter"))
ui->buttonSaveToDisk->setEnabled(true);
else if (rcParMngr == App::GetApplication().GetParameterSet("User parameter"))
ui->buttonSaveToDisk->setEnabled(true);
else
ui->buttonSaveToDisk->setEnabled(false);
ui->buttonSaveToDisk->setEnabled(rcParMngr->HasSerializer());
// remove all labels
paramGroup->clear();
@@ -302,11 +307,10 @@ void DlgParameterImp::on_buttonSaveToDisk_clicked()
{
int index = ui->parameterSet->currentIndex();
ParameterManager* parmgr = App::GetApplication().GetParameterSet(ui->parameterSet->itemData(index).toByteArray());
if (!parmgr) return;
if (parmgr == App::GetApplication().GetParameterSet("System parameter"))
parmgr->SaveDocument(App::Application::Config()["SystemParameter"].c_str());
else if (parmgr == App::GetApplication().GetParameterSet("User parameter"))
parmgr->SaveDocument(App::Application::Config()["UserParameter"].c_str());
if (!parmgr)
return;
parmgr->SaveDocument();
}
namespace Gui {