#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::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(node)->device_type() == "player") { static_cast(ui->stackedWidget->widget(_indices["player"]))->set_player(static_cast(node)); ui->stackedWidget->setCurrentIndex(_indices["player"]); } else { ui->stackedWidget->setCurrentIndex(1); ui->id->setText(static_cast(node)->id()); ui->rate->setValue(static_cast(node)->rate()); } } } } }