Files
qt5-legatus-legacy/Lts/Viewer/SituationMap/SideBar/side_bar_model.cpp
T
2026-08-13 18:33:10 +02:00

124 lines
2.7 KiB
C++
Executable File

/**
* @RDE_HEADER@
* SideBarModel
* $Id$
* $HeadURL$
* $Author$
* Created by Norbert Thoden, SLSE, 2015-01-19
*/
// Own
#include "side_bar_model.h"
#include <Common/situation_map_logging.h>
namespace SituationMap
{
SideBarModel::SideBarModel(QObject *parent)
: BaseClass(0, 1, parent)
, m_logger(getLogger("SideBarModel"))
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
// fillDummyData();
connect(this, &SideBarModel::itemChanged, this, &SideBarModel::onItemChanged);
// connect(this, &SideBarModel::dataChanged, this, &SideBarModel::onDataChanged);
TRACE_LOG(m_logger) << LOGFUNCTION << " END";
}
SideBarModel::~SideBarModel()
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
TRACE_LOG(m_logger) << LOGFUNCTION << " END";
}
void SideBarModel::fillDummyData()
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
// remove old entries:
removeRows(0, rowCount());
// setHeader
setHeaderData(0, Qt::Horizontal, QStringLiteral("HeaderH"));
// fill data:
QStandardItem *rootItem = invisibleRootItem();
// be prepared for a tree:
{
QList<QStandardItem *> itemRow;
QStandardItem *item = new QStandardItem(QLatin1String("Entry01"));
item->setCheckable(true);
itemRow.append(item);
rootItem->appendRow(itemRow);
}
{
QList<QStandardItem *> itemRow;
QStandardItem *item = new QStandardItem(QLatin1String("Entry02"));
item->setCheckable(true);
itemRow.append(item);
rootItem->appendRow(itemRow);
}
TRACE_LOG(m_logger) << LOGFUNCTION << " END";
}
//void SideBarModel::addItem(QStandardItem *item, QStandardItem *parentItem)
//{
// TRACE_LOG(m_logger) << LOGFUNCTION << " START";
// QList<QStandardItem*> itemRow;
// itemRow.append(item);
// if (parentItem)
// parentItem->appendRow(itemRow);
// else
// invisibleRootItem()->appendRow(itemRow);
// TRACE_LOG(m_logger) << LOGFUNCTION << " END";
//}
void SideBarModel::addItem(SideBarItem *item, SideBarItem *parentItem)
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
QList<QStandardItem *> itemRow;
itemRow.append(item);
if (parentItem)
parentItem->appendRow(itemRow);
else
invisibleRootItem()->appendRow(itemRow);
TRACE_LOG(m_logger) << LOGFUNCTION << " END";
}
void SideBarModel::onItemChanged(QStandardItem *item)
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
QString itemText(QLatin1String("-"));
if (item)
itemText = item->text();
DEBUG_LOG(m_logger) << LOGFUNCTION << " itemChanged, itemText='" << itemText << "'";
SideBarItem *sideBarItem = dynamic_cast<SideBarItem *>(item);
if (sideBarItem)
sideBarItem->doEmitChanged();
TRACE_LOG(m_logger) << LOGFUNCTION << " END";
}
} // namespace SituationMap