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

Method initValuesSpreadsheet

src/frontend/spreadsheet/AddSubtractValueDialog.cpp:293–360  ·  view source on GitHub ↗

! * When a spreadsheet is being modified, show the first valid value * in the first selected column as the value to add/subtract. */

Source from the content-addressed store, hash-verified

291 * in the first selected column as the value to add/subtract.
292 */
293void AddSubtractValueDialog::initValuesSpreadsheet() {
294 const auto* column = m_columns.first();
295
296 switch (column->columnMode()) {
297 case AbstractColumn::ColumnMode::Integer: {
298 m_numeric = true;
299 const auto str = QLocale().toString(column->integerAt(0));
300 ui.leValue->setValidator(new QIntValidator(ui.leValue));
301 ui.leValue->setText(str);
302 ui.leValueStart->setValidator(new QIntValidator(ui.leValueStart));
303 ui.leValueStart->setText(str);
304 ui.leValueEnd->setValidator(new QIntValidator(ui.leValueEnd));
305 ui.leValueEnd->setText(str);
306 break;
307 }
308 case AbstractColumn::ColumnMode::BigInt: {
309 m_numeric = true;
310 const auto str = QLocale().toString(column->bigIntAt(0));
311 // TODO: QLongLongValidator
312 ui.leValue->setValidator(new QIntValidator(ui.leValue));
313 ui.leValue->setText(str);
314 ui.leValueStart->setValidator(new QIntValidator(ui.leValueStart));
315 ui.leValueStart->setText(str);
316 ui.leValueEnd->setValidator(new QIntValidator(ui.leValueEnd));
317 ui.leValueEnd->setText(str);
318 break;
319 }
320 case AbstractColumn::ColumnMode::Double: {
321 m_numeric = true;
322 ui.leValue->setValidator(new QDoubleValidator(ui.leValue));
323 ui.leValueStart->setValidator(new QDoubleValidator(ui.leValueStart));
324 ui.leValueEnd->setValidator(new QDoubleValidator(ui.leValueEnd));
325
326 for (int row = 0; row < column->rowCount(); ++row) {
327 const double value = column->valueAt(row);
328 if (std::isfinite(value)) {
329 const auto str = QLocale().toString(column->valueAt(row), 'g', 16);
330 ui.leValue->setText(str);
331 ui.leValueStart->setText(str);
332 ui.leValueEnd->setText(str);
333 break;
334 }
335 }
336 break;
337 }
338 case AbstractColumn::ColumnMode::Month:
339 case AbstractColumn::ColumnMode::Day:
340 case AbstractColumn::ColumnMode::DateTime: {
341 m_numeric = false;
342 auto* filter = static_cast<DateTime2StringFilter*>(column->outputFilter());
343 ui.dteTimeValueStart->setDisplayFormat(filter->format());
344 ui.dteTimeValueEnd->setDisplayFormat(filter->format());
345
346 for (int row = 0; row < column->rowCount(); ++row) {
347 const QDateTime& value = column->dateTimeAt(row);
348 if (value.isValid()) {
349 ui.dteTimeValueStart->setDateTime(value);
350 ui.dteTimeValueEnd->setDateTime(value);

Callers

nothing calls this directly

Calls 12

setDateTimeMethod · 0.80
columnModeMethod · 0.45
toStringMethod · 0.45
integerAtMethod · 0.45
setTextMethod · 0.45
bigIntAtMethod · 0.45
rowCountMethod · 0.45
valueAtMethod · 0.45
outputFilterMethod · 0.45
formatMethod · 0.45
dateTimeAtMethod · 0.45
isValidMethod · 0.45

Tested by

no test coverage detected