[traff_assessment_tool] Refactor TrafficModel constructor

Signed-off-by: mvglasow <michael -at- vonglasow.com>
This commit is contained in:
mvglasow
2025-10-20 23:55:29 +03:00
parent 1b74062447
commit 800cc0641b
3 changed files with 6 additions and 14 deletions

View File

@@ -317,11 +317,7 @@ void MainWindow::CreateTrafficPanel()
{
if (!m_trafficModel)
{
// TODO simplify the call, almost everything depends on m_framework
m_trafficModel = new TrafficModel(m_framework, m_framework.GetDataSource(),
std::make_unique<TrafficDrawerDelegate>(m_framework),
std::make_unique<PointsControllerDelegate>(m_framework),
*this);
m_trafficModel = new TrafficModel(m_framework, *this);
connect(m_mapWidget, &MapWidget::TrafficMarkupClick,
m_trafficModel, &TrafficModel::OnClick);

View File

@@ -298,16 +298,14 @@ QVariant GetDescription(TraffMessage const & message)
}
// TrafficModel -------------------------------------------------------------------------------------
TrafficModel::TrafficModel(Framework & framework, DataSource const & dataSource,
std::unique_ptr<TrafficDrawerDelegateBase> drawerDelegate, // TODO do we need that?
std::unique_ptr<PointsControllerDelegateBase> pointsDelegate, // TODO do we need that?
TrafficModel::TrafficModel(Framework & framework,
MainWindow & mainWindow,
QObject * parent)
: QAbstractTableModel(parent)
, m_framework(framework)
, m_dataSource(dataSource)
, m_drawerDelegate(std::move(drawerDelegate))
, m_pointsDelegate(std::move(pointsDelegate))
, m_dataSource(framework.GetDataSource())
, m_drawerDelegate(std::make_unique<TrafficDrawerDelegate>(framework))
, m_pointsDelegate(std::make_unique<PointsControllerDelegate>(framework))
, m_mainWindow(mainWindow)
{
framework.GetTrafficManager().SetTrafficUpdateCallbackFn([this, &framework](bool final) {

View File

@@ -70,9 +70,7 @@ class TrafficModel : public QAbstractTableModel
public:
// TODO(mgsergio): Check we are on the right mwm. I.e. right mwm version and everything.
TrafficModel(Framework & framework, DataSource const & dataSource,
std::unique_ptr<TrafficDrawerDelegateBase> drawerDelegate,
std::unique_ptr<PointsControllerDelegateBase> pointsDelegate,
TrafficModel(Framework & framework,
MainWindow & mainWindow,
QObject * parent = Q_NULLPTR);