Adds q2 repos to migrate
This commit is contained in:
1 parent
ad1f62c4ee
commit
17f1c61c9e
991 files changed
+178451
No files matched your search
@@ -0,0 +1,105 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#include "LogViewEnumEdit.hpp"
|
||||
#include "LogViewXdrStruct.hpp"
|
||||
#include "LogViewXdrValue.hpp"
|
||||
#include "LogViewField.hpp"
|
||||
#include "LogViewTelegram.hpp"
|
||||
|
||||
|
||||
namespace N_LogView
|
||||
{
|
||||
|
||||
|
||||
|
||||
LogViewEnumEdit::LogViewEnumEdit(LogViewField* a_field, QWidget* a_parent, const bool a_readonly, const int a_index)
|
||||
: QComboBox(a_parent)
|
||||
, LogViewWidget(a_field, this, a_parent, a_readonly)
|
||||
{
|
||||
QString value = a_field->value(a_index);
|
||||
|
||||
|
||||
setToolTip(a_field->toolTipText());
|
||||
|
||||
|
||||
bool bCurrentIndexSet = false;
|
||||
int i = 0;
|
||||
while (LogViewXdrValue* child = (static_cast<const LogViewXdrStruct*>(a_field->xdrElement()))->getChildAsValue(i++))
|
||||
{
|
||||
QString enumText = LogViewField::makeClean(child->getName());
|
||||
if (!a_readonly || enumText == value)
|
||||
{
|
||||
addItem(QStringLiteral("%1 (%2)").arg(enumText).arg(child->getValue()), QVariant::fromValue(child->getValue()));
|
||||
if (a_readonly)
|
||||
bCurrentIndexSet = true;
|
||||
}
|
||||
|
||||
if (enumText == value)
|
||||
{
|
||||
setCurrentIndex(a_readonly ? 0 : i - 1);
|
||||
bCurrentIndexSet = true;
|
||||
if (!a_readonly || (0 != a_index))
|
||||
updateToolTip(itemData(currentIndex()).toString());
|
||||
}
|
||||
}
|
||||
|
||||
if (!bCurrentIndexSet)
|
||||
{
|
||||
addItem(value);
|
||||
setCurrentIndex(findText(value));
|
||||
}
|
||||
|
||||
|
||||
connect(this, QOverload<int>::of(&LogViewEnumEdit::currentIndexChanged),
|
||||
this, &LogViewEnumEdit::checkAndOvertakeContent);
|
||||
}
|
||||
|
||||
|
||||
|
||||
uint16_t LogViewEnumEdit::getSize() const
|
||||
{
|
||||
|
||||
const LogViewXdrStruct* xdrStruct = static_cast<const LogViewXdrStruct*>(m_Field->xdrElement());
|
||||
return xdrStruct->getEnumSize();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void LogViewEnumEdit::checkAndOvertakeContent()
|
||||
{
|
||||
updateToolTip(itemData(currentIndex()).toString());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
bool LogViewEnumEdit::saveContent(LogViewTelegram* a_telegram)
|
||||
{
|
||||
bool ok;
|
||||
int value = itemData(currentIndex()).toInt(&ok);
|
||||
if (ok)
|
||||
{
|
||||
if (a_telegram->isJsonTelegram())
|
||||
a_telegram->setJsonValue(m_Field->jsonPath(), value);
|
||||
else
|
||||
a_telegram->setUIntX(getSize(), value);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user