Warning, file /frameworks/kquickcharts/src/datasource/ArraySource.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 * This file is part of KQuickCharts 0003 * SPDX-FileCopyrightText: 2019 Arjen Hiemstra <ahiemstra@heimr.nl> 0004 * 0005 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0006 */ 0007 0008 #include "ArraySource.h" 0009 0010 ArraySource::ArraySource(QObject *parent) 0011 : ChartDataSource(parent) 0012 { 0013 } 0014 0015 int ArraySource::itemCount() const 0016 { 0017 return m_array.count(); 0018 } 0019 0020 QVariant ArraySource::item(int index) const 0021 { 0022 if (!m_wrap && (index < 0 || index > m_array.count() - 1)) { 0023 return {}; 0024 } 0025 0026 return m_array.at(index % m_array.count()); 0027 } 0028 0029 QVariant ArraySource::minimum() const 0030 { 0031 auto itr = std::min_element(m_array.cbegin(), m_array.cend(), variantCompare); 0032 if (itr != m_array.cend()) { 0033 return *itr; 0034 } 0035 return QVariant{}; 0036 } 0037 0038 QVariant ArraySource::maximum() const 0039 { 0040 auto itr = std::max_element(m_array.cbegin(), m_array.cend(), variantCompare); 0041 if (itr != m_array.cend()) { 0042 return *itr; 0043 } 0044 return QVariant{}; 0045 } 0046 0047 QVariantList ArraySource::array() const 0048 { 0049 return m_array; 0050 } 0051 0052 bool ArraySource::wrap() const 0053 { 0054 return m_wrap; 0055 } 0056 0057 void ArraySource::setArray(const QVariantList &array) 0058 { 0059 if (m_array == array) { 0060 return; 0061 } 0062 0063 m_array = array; 0064 Q_EMIT dataChanged(); 0065 } 0066 0067 void ArraySource::setWrap(bool wrap) 0068 { 0069 if (m_wrap == wrap) { 0070 return; 0071 } 0072 0073 m_wrap = wrap; 0074 Q_EMIT dataChanged(); 0075 } 0076 0077 #include "moc_ArraySource.cpp"