@@ -40,6 +40,10 @@ NodeFinderSVGConverter::NodeFinderSVGConverter(NodeFinderMgr *parent) :
40
40
tracksModel = new NodeFinderStationTracksModel (&m_plan, &m_xmlPlan, nodeMgr, this );
41
41
turnoutModel = new NodeFinderTurnoutModel (&m_plan, &m_xmlPlan, nodeMgr, this );
42
42
43
+ // Connect models to keep views updated
44
+ connect (labelsModel, &NodeFinderLabelModel::labelsChanged, turnoutModel, &NodeFinderTurnoutModel::refreshData);
45
+ connect (tracksModel, &NodeFinderStationTracksModel::tracksChanged, turnoutModel, &NodeFinderTurnoutModel::refreshData);
46
+
43
47
m_info.setCallback ([this ](QDomElement &e) { storeElement (e); });
44
48
}
45
49
@@ -297,8 +301,10 @@ IObjectModel *NodeFinderSVGConverter::getModel(EditingModes mode) const
297
301
return nullptr ;
298
302
}
299
303
300
- QAbstractItemDelegate *NodeFinderSVGConverter::getDelegateFor (int col, EditingModes mode, QObject *parent) const
304
+ QAbstractItemDelegate *NodeFinderSVGConverter::getDelegateFor (int col, EditingModes mode, QObject *parent, bool &outShowCol ) const
301
305
{
306
+ outShowCol = true ;
307
+
302
308
switch (mode)
303
309
{
304
310
case EditingModes::LabelEditing:
@@ -311,6 +317,12 @@ QAbstractItemDelegate *NodeFinderSVGConverter::getDelegateFor(int col, EditingMo
311
317
}
312
318
break ;
313
319
}
320
+ case EditingModes::StationTrackEditing:
321
+ {
322
+ if (col == NodeFinderStationTracksModel::SpecialMixedColumn)
323
+ outShowCol = false ; // Hide column to the user
324
+ break ;
325
+ }
314
326
case EditingModes::TrackPathEditing:
315
327
{
316
328
if (col == NodeFinderTurnoutModel::StationTrackSideCol)
@@ -322,6 +334,7 @@ QAbstractItemDelegate *NodeFinderSVGConverter::getDelegateFor(int col, EditingMo
322
334
if (col == NodeFinderTurnoutModel::StationTrackCol)
323
335
{
324
336
CompletionDelegate *delegate = new CompletionDelegate (tracksModel, parent);
337
+ delegate->setColumn (NodeFinderStationTracksModel::SpecialMixedColumn);
325
338
return delegate;
326
339
}
327
340
break ;
0 commit comments