+ add new class ParameterSerializer to load and save parameter files
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user