File indexing completed on 2025-10-12 03:31:09
0001 /* 0002 File : JsonOptionsWidget.h 0003 Project : LabPlot 0004 Description : Widget providing options for the import of json data. 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2018 Andrey Cygankov <craftplace.ms@gmail.com> 0007 SPDX-FileCopyrightText: 2018-2023 Alexander Semke <alexander.semke@web.de> 0008 SPDX-License-Identifier: GPL-2.0-or-later 0009 */ 0010 0011 #ifndef JSONOPTIONSWIDGET_H 0012 #define JSONOPTIONSWIDGET_H 0013 0014 #include "ui_jsonoptionswidget.h" 0015 0016 class JsonFilter; 0017 class QAbstractItemModel; 0018 class QJsonModel; 0019 0020 class JsonOptionsWidget : public QWidget { 0021 Q_OBJECT 0022 0023 public: 0024 explicit JsonOptionsWidget(QWidget*); 0025 0026 void applyFilterSettings(JsonFilter*, const QModelIndex&) const; 0027 void clearModel(); 0028 void loadSettings() const; 0029 void saveSettings(); 0030 void loadDocument(const QString& filename); 0031 QAbstractItemModel* model(); 0032 0033 private: 0034 void setTooltips(); 0035 QVector<int> getIndexRows(const QModelIndex&) const; 0036 0037 QString m_filename; 0038 Ui::JsonOptionsWidget ui; 0039 QPointer<QJsonModel> m_model; 0040 0041 Q_SIGNALS: 0042 void error(const QString&); 0043 }; 0044 0045 #endif