MCPcopy Create free account
hub / github.com/KDE/labplot / replaceModeData

Method replaceModeData

src/backend/core/column/ColumnPrivate.cpp:1340–1392  ·  view source on GitHub ↗

* \brief Replace all mode related members * * Replace column mode, data type, data pointer and filters directly */

Source from the content-addressed store, hash-verified

1338 * Replace column mode, data type, data pointer and filters directly
1339 */
1340void ColumnPrivate::replaceModeData(AbstractColumn::ColumnMode mode, void* data, AbstractSimpleFilter* in_filter, AbstractSimpleFilter* out_filter) {
1341 Q_EMIT q->modeAboutToChange(q);
1342 // disconnect formatChanged()
1343 switch (m_columnMode) {
1344 case AbstractColumn::ColumnMode::Double:
1345 disconnect(static_cast<Double2StringFilter*>(m_outputFilter), &Double2StringFilter::formatChanged, q, &Column::handleFormatChange);
1346 break;
1347 case AbstractColumn::ColumnMode::Integer:
1348 disconnect(static_cast<Integer2StringFilter*>(m_outputFilter), &Integer2StringFilter::formatChanged, q, &Column::handleFormatChange);
1349 break;
1350 case AbstractColumn::ColumnMode::BigInt:
1351 disconnect(static_cast<BigInt2StringFilter*>(m_outputFilter), &BigInt2StringFilter::formatChanged, q, &Column::handleFormatChange);
1352 break;
1353 case AbstractColumn::ColumnMode::Text:
1354 break;
1355 case AbstractColumn::ColumnMode::DateTime:
1356 case AbstractColumn::ColumnMode::Month:
1357 case AbstractColumn::ColumnMode::Day:
1358 disconnect(static_cast<DateTime2StringFilter*>(m_outputFilter), &DateTime2StringFilter::formatChanged, q, &Column::handleFormatChange);
1359 break;
1360 }
1361
1362 m_columnMode = mode;
1363 setLabelsMode(mode);
1364 m_data = data;
1365
1366 m_inputFilter = in_filter;
1367 m_outputFilter = out_filter;
1368 m_inputFilter->input(0, q->m_string_io);
1369 m_outputFilter->input(0, q);
1370
1371 // connect formatChanged()
1372 switch (m_columnMode) {
1373 case AbstractColumn::ColumnMode::Double:
1374 connect(static_cast<Double2StringFilter*>(m_outputFilter), &Double2StringFilter::formatChanged, q, &Column::handleFormatChange);
1375 break;
1376 case AbstractColumn::ColumnMode::Integer:
1377 connect(static_cast<Integer2StringFilter*>(m_outputFilter), &Integer2StringFilter::formatChanged, q, &Column::handleFormatChange);
1378 break;
1379 case AbstractColumn::ColumnMode::BigInt:
1380 connect(static_cast<BigInt2StringFilter*>(m_outputFilter), &BigInt2StringFilter::formatChanged, q, &Column::handleFormatChange);
1381 break;
1382 case AbstractColumn::ColumnMode::Text:
1383 break;
1384 case AbstractColumn::ColumnMode::DateTime:
1385 case AbstractColumn::ColumnMode::Month:
1386 case AbstractColumn::ColumnMode::Day:
1387 connect(static_cast<DateTime2StringFilter*>(m_outputFilter), &DateTime2StringFilter::formatChanged, q, &Column::handleFormatChange);
1388 break;
1389 }
1390
1391 Q_EMIT q->modeChanged(q);
1392}
1393
1394/**
1395 * \brief Replace data pointer

Callers 2

redoMethod · 0.80
undoMethod · 0.80

Calls 1

inputMethod · 0.80

Tested by

no test coverage detected