File indexing completed on 2025-11-02 03:43:15
0001 /* 0002 File : DatasetMetadataManagerWidget.h 0003 Project : LabPlot 0004 Description : widget for managing a metadata file of a dataset 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2019 Ferencz Kovacs <kferike98@gmail.com> 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #ifndef DATASETMETADATAMANAGERWIDGET_H 0011 #define DATASETMETADATAMANAGERWIDGET_H 0012 0013 #include "ui_datasetmetadatamanagerwidget.h" 0014 0015 class DatasetModel; 0016 0017 class DatasetMetadataManagerWidget : public QWidget { 0018 Q_OBJECT 0019 0020 public: 0021 explicit DatasetMetadataManagerWidget(QWidget*, const QMap<QString, QMap<QString, QMap<QString, QVector<QString>>>>&); 0022 virtual ~DatasetMetadataManagerWidget() override; 0023 bool checkDataValidity(); 0024 void updateDocument(const QString& fileName); 0025 QString getMetadataFilePath() const; 0026 0027 void setCollection(const QString&); 0028 void setCategory(const QString&); 0029 void setSubcategory(const QString&); 0030 void setShortName(const QString&); 0031 void setFullName(const QString&); 0032 void setDescription(const QString&); 0033 void setURL(const QString&); 0034 0035 private: 0036 Ui::DatasetMetadataManagerWidget ui; 0037 DatasetModel* m_datasetModel; 0038 QStringList m_columnDescriptions; 0039 QString m_metadataFilePath; 0040 QString m_baseColor; 0041 QString m_textColor; 0042 0043 void initCategories(const QMap<QString, QMap<QString, QVector<QString>>>&); 0044 void initSubcategories(const QMap<QString, QMap<QString, QVector<QString>>>&); 0045 void initDatasets(const QMap<QString, QMap<QString, QVector<QString>>>&); 0046 bool checkFileName(); 0047 bool urlExists(); 0048 bool checkDatasetName(); 0049 bool checkDescription(); 0050 bool checkCategories(QComboBox*); 0051 void loadSettings(); 0052 void enableDatasetSettings(bool); 0053 QJsonObject createDatasetObject(); 0054 0055 private Q_SLOTS: 0056 void updateCategories(const QString&); 0057 void updateSubcategories(const QString&); 0058 void addColumnDescription(); 0059 void removeColumnDescription(); 0060 0061 Q_SIGNALS: 0062 void checkOk(); 0063 }; 0064 0065 #endif // DATASETMETADATAMANAGERWIDGET_H