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

Method run

src/frontend/spreadsheet/SampleValuesDialog.cpp:116–168  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

114 }
115
116 void run() override {
117 auto mode = m_source->columnMode();
118 int size = m_rows.size();
119 switch (mode) {
120 case AbstractColumn::ColumnMode::Double: {
121 auto* dataSource = static_cast<QVector<double>*>(m_source->data());
122 QVector<double> dataTarget(size);
123 for (int i = 0; i < size; ++i)
124 dataTarget[i] = dataSource->at(m_rows.at(i));
125
126 m_target->setValues(dataTarget);
127 break;
128 }
129 case AbstractColumn::ColumnMode::Text: {
130 auto* dataSource = static_cast<QVector<QString>*>(m_source->data());
131 QVector<QString> dataTarget(size);
132 for (int i = 0; i < size; ++i)
133 dataTarget[i] = dataSource->at(m_rows.at(i));
134
135 m_target->setText(dataTarget);
136 break;
137 }
138 case AbstractColumn::ColumnMode::Month:
139 case AbstractColumn::ColumnMode::Day:
140 case AbstractColumn::ColumnMode::DateTime: {
141 auto* dataSource = static_cast<QVector<QDateTime>*>(m_source->data());
142 QVector<QDateTime> dataTarget(size);
143 for (int i = 0; i < size; ++i)
144 dataTarget[i] = dataSource->at(m_rows.at(i));
145
146 m_target->setDateTimes(dataTarget);
147 break;
148 }
149 case AbstractColumn::ColumnMode::Integer: {
150 auto* dataSource = static_cast<QVector<int>*>(m_source->data());
151 QVector<int> dataTarget(size);
152 for (int i = 0; i < size; ++i)
153 dataTarget[i] = dataSource->at(m_rows.at(i));
154
155 m_target->setIntegers(dataTarget);
156 break;
157 }
158 case AbstractColumn::ColumnMode::BigInt: {
159 auto* dataSource = static_cast<QVector<qint64>*>(m_source->data());
160 QVector<qint64> dataTarget(size);
161 for (int i = 0; i < size; ++i)
162 dataTarget[i] = dataSource->at(m_rows.at(i));
163
164 m_target->setBigInts(dataTarget);
165 break;
166 }
167 }
168 }
169
170private:
171 Column* m_source;

Callers

nothing calls this directly

Calls 8

setDateTimesMethod · 0.80
setIntegersMethod · 0.80
setBigIntsMethod · 0.80
columnModeMethod · 0.45
sizeMethod · 0.45
dataMethod · 0.45
setValuesMethod · 0.45
setTextMethod · 0.45

Tested by

no test coverage detected