test_sdk/gui/gtl_gui_options_widget.cpp

52 lines
1.5 KiB
C++

#include "gtl_gui_options_widget.h"
#include "ui_gtl_gui_options_widget.h"
namespace gtl
{
namespace gui
{
options_widget::options_widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::options_widget)
{
ui->setupUi(this);
}
options_widget::~options_widget()
{
delete ui;
}
void options_widget::add_group(QString name, group_options_widget *widget)
{
ui->widgets->addWidget(widget);
ui->groups->addItem(name);
ui->groups->setCurrentRow(ui->groups->count() - 1);
}
void options_widget::save(QSettings *settings)
{
for(int i = 0; i < ui->widgets->count(); i++)
static_cast<gtl::gui::group_options_widget*>(ui->widgets->widget(i))->save(settings);
}
void options_widget::restore(QSettings *settings)
{
for(int i = 0; i < ui->widgets->count(); i++)
static_cast<gtl::gui::group_options_widget*>(ui->widgets->widget(i))->restore(settings);
}
void options_widget::apply()
{
for(int i = 0; i < ui->widgets->count(); i++)
static_cast<gtl::gui::group_options_widget*>(ui->widgets->widget(i))->apply();
}
void options_widget::discard()
{
for(int i = 0; i < ui->widgets->count(); i++)
static_cast<gtl::gui::group_options_widget*>(ui->widgets->widget(i))->discard();
}
}
}