mirror of
https://github.com/CURTLab/LVGLBuilder.git
synced 2025-05-09 03:41:35 +08:00
74 lines
1.7 KiB
C++
74 lines
1.7 KiB
C++
#include "LVGLPropertyAssignTextArea.h"
|
|
|
|
#include <QComboBox>
|
|
#include "LVGLObject.h"
|
|
#include "LVGLCore.h"
|
|
|
|
LVGLPropertyAssignTextArea::LVGLPropertyAssignTextArea(LVGLProperty *parent)
|
|
: LVGLProperty(parent)
|
|
{
|
|
}
|
|
|
|
QString LVGLPropertyAssignTextArea::name() const
|
|
{
|
|
return "Assign text area";
|
|
}
|
|
|
|
bool LVGLPropertyAssignTextArea::hasEditor() const
|
|
{
|
|
return true;
|
|
}
|
|
|
|
QWidget *LVGLPropertyAssignTextArea::editor(QWidget *parent)
|
|
{
|
|
m_widget = new QComboBox(parent);
|
|
QStringList list = QStringList() << "None";
|
|
for (LVGLObject *o:lvgl.objectsByType("lv_ta"))
|
|
list << o->name();
|
|
m_widget->addItems(list);
|
|
return m_widget;
|
|
}
|
|
|
|
void LVGLPropertyAssignTextArea::updateEditor(LVGLObject *obj)
|
|
{
|
|
LVGLObject *ta = lvgl.object(lv_kb_get_ta(obj->obj()));
|
|
if (ta == nullptr)
|
|
m_widget->setCurrentIndex(0);
|
|
else
|
|
m_widget->setCurrentText(ta->name());
|
|
}
|
|
|
|
void LVGLPropertyAssignTextArea::updateWidget(LVGLObject *obj)
|
|
{
|
|
LVGLObject *ta = lvgl.object(m_widget->currentText());
|
|
if (ta)
|
|
lv_kb_set_ta(obj->obj(), ta->obj());
|
|
else
|
|
lv_kb_set_ta(obj->obj(), nullptr);
|
|
}
|
|
|
|
QVariant LVGLPropertyAssignTextArea::value(LVGLObject *obj) const
|
|
{
|
|
LVGLObject *ta = lvgl.object(lv_kb_get_ta(obj->obj()));
|
|
if (ta == nullptr)
|
|
return "None";
|
|
else
|
|
return ta->name();
|
|
}
|
|
|
|
void LVGLPropertyAssignTextArea::setValue(LVGLObject *obj, QVariant value)
|
|
{
|
|
LVGLObject *ta = lvgl.object(value.toString());
|
|
if (ta)
|
|
lv_kb_set_ta(obj->obj(), ta->obj());
|
|
else
|
|
lv_kb_set_ta(obj->obj(), nullptr);
|
|
}
|
|
|
|
QStringList LVGLPropertyAssignTextArea::function(LVGLObject *obj) const
|
|
{
|
|
LVGLObject *ta = lvgl.object(lv_kb_get_ta(obj->obj()));
|
|
if (ta == nullptr) return QStringList();
|
|
return QStringList() << QString("lv_kb_set_ta(%1, %2);").arg(obj->codeName()).arg(ta->codeName());
|
|
}
|