| 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 | |
| 170 | private: |
| 171 | Column* m_source; |
nothing calls this directly
no test coverage detected