You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.5 KiB
C++
57 lines
1.5 KiB
C++
2 weeks ago
|
#include "CUIRadioComponent.h"
|
||
|
#include "CUIConfig.h"
|
||
|
#include "QVBoxLayout"
|
||
|
|
||
|
#include <QGroupBox>
|
||
|
#include <QWidget>
|
||
|
#include <QRadioButton>
|
||
|
#include <QLabel>
|
||
|
|
||
|
CUIRadioComponent::CUIRadioComponent(CUIConfig *conf, QVector<CUI *> &subCUI, QWidget *parent) : CUIComponentBaseContainerWidget(parent)
|
||
|
{
|
||
|
this->conf = conf;
|
||
|
iniUI(subCUI);
|
||
|
}
|
||
|
|
||
|
|
||
|
void CUIRadioComponent::iniUI(QVector<CUI *> &subCUI)
|
||
|
{
|
||
|
QString widget_type = this->conf->getPropertyValue("widget");
|
||
|
|
||
|
QHBoxLayout* mainLayout = new QHBoxLayout;
|
||
|
m_layout = this->getLayout(conf);
|
||
|
|
||
|
if(widget_type == "GroupBox"){
|
||
|
iniUI_GroupBox();
|
||
|
mainLayout->addWidget(m_GroupBox);
|
||
|
}else if(widget_type == "Component"){
|
||
|
iniUI_Component();
|
||
|
mainLayout->addWidget(m_label);
|
||
|
mainLayout->addWidget(m_Component);
|
||
|
}
|
||
|
|
||
|
this->setLayout(mainLayout);
|
||
|
}
|
||
|
|
||
|
void CUIRadioComponent::iniUI_GroupBox()
|
||
|
{
|
||
|
m_GroupBox = new QGroupBox;
|
||
|
m_GroupBox->setTitle(conf->getPropertyValue("name"));
|
||
|
m_GroupBox->setLayout(m_layout);
|
||
|
for(auto conf:this->conf->getSub()){
|
||
|
QRadioButton* radio = new QRadioButton(conf->getPropertyValue("name"));
|
||
|
m_layout->addWidget(radio);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void CUIRadioComponent::iniUI_Component()
|
||
|
{
|
||
|
m_label = new QLabel(conf->getPropertyValue("name"));
|
||
|
m_Component = new QWidget;
|
||
|
m_Component->setLayout(m_layout);
|
||
|
for(auto conf:this->conf->getSub()){
|
||
|
QRadioButton* radio = new QRadioButton(conf->getPropertyValue("name"));
|
||
|
m_layout->addWidget(radio);
|
||
|
}
|
||
|
}
|