test_sdk/gui/config/gtl_gui_config_widget_devic...

50 lines
1.5 KiB
C++
Raw Permalink Normal View History

#include "gtl_gui_config_widget_device.h"
#include "ui_gtl_gui_config_widget_device.h"
#include "core/gtl_device.h"
#include "gui/config/gtl_gui_config_widget_player.h"
namespace gtl
{
namespace gui
{
namespace config
{
widget_device::widget_device(QWidget *parent) :
widget_node(parent),
ui(new Ui::config_widget_device)
{
ui->setupUi(this);
_indices.insert(std::map<QString, int>::value_type("player", ui->stackedWidget->addWidget(new widget_player(this))));
}
widget_device::~widget_device()
{
delete ui;
}
void widget_device::set_node(data_model_node *node)
{
if(QString(node->metaObject()->className()) != "gtl::device")
{
ui->stackedWidget->setCurrentIndex(0);
}
if(static_cast<gtl::device*>(node)->device_type() == "player")
{
static_cast<widget_player*>(ui->stackedWidget->widget(_indices["player"]))->set_player(static_cast<gtl::device*>(node));
ui->stackedWidget->setCurrentIndex(_indices["player"]);
}
else
{
ui->stackedWidget->setCurrentIndex(1);
ui->id->setText(static_cast<gtl::device*>(node)->id());
ui->rate->setValue(static_cast<gtl::device*>(node)->rate());
}
}
}
}
}