File indexing completed on 2024-12-22 04:17:16

0001 /***************************************************************************
0002                 netcdf_source.h  -  netCDF data source reader
0003                              -------------------
0004     begin                : 28/01/2005
0005     copyright            : (C) 2004 Nicolas Brisset <nicodev@users.sourceforge.net>
0006     email                : kst@kde.org
0007     modified             : 03/16/05 by K. Scott
0008  ***************************************************************************/
0009 
0010 /***************************************************************************
0011  *                                                                         *
0012  *   This program is free software; you can redistribute it and/or modify  *
0013  *   it under the terms of the GNU General Public License as published by  *
0014  *   the Free Software Foundation; either version 2 of the License, or     *
0015  *   (at your option) any later version.                                   *
0016  *                                                                         *
0017  ***************************************************************************/
0018 
0019 #ifndef NETCDFPLUGIN_H
0020 #define NETCDFPLUGIN_H
0021 
0022 #include "dataplugin.h"
0023 
0024 
0025 
0026 class NetCdfPlugin : public QObject, public Kst::DataSourcePluginInterface
0027 {
0028     Q_OBJECT
0029     Q_INTERFACES(Kst::DataSourcePluginInterface)
0030     Q_PLUGIN_METADATA(IID "com.kst.DataSourcePluginInterface/2.0")
0031 
0032   public:
0033     virtual ~NetCdfPlugin() {}
0034 
0035     virtual QString pluginName() const;
0036     virtual QString pluginDescription() const;
0037 
0038     virtual bool hasConfigWidget() const { return false; }
0039 
0040     virtual Kst::DataSource *create(Kst::ObjectStore *store,
0041                                   QSettings *cfg,
0042                                   const QString &filename,
0043                                   const QString &type,
0044                                   const QDomElement &element) const;
0045 
0046     virtual QStringList matrixList(QSettings *cfg,
0047                                   const QString& filename,
0048                                   const QString& type,
0049                                   QString *typeSuggestion,
0050                                   bool *complete) const;
0051 
0052     virtual QStringList fieldList(QSettings *cfg,
0053                                   const QString& filename,
0054                                   const QString& type,
0055                                   QString *typeSuggestion,
0056                                   bool *complete) const;
0057 
0058     virtual QStringList scalarList(QSettings *cfg,
0059                                   const QString& filename,
0060                                   const QString& type,
0061                                   QString *typeSuggestion,
0062                                   bool *complete) const;
0063 
0064     virtual QStringList stringList(QSettings *cfg,
0065                                   const QString& filename,
0066                                   const QString& type,
0067                                   QString *typeSuggestion,
0068                                   bool *complete) const;
0069 
0070     virtual int understands(QSettings *cfg, const QString& filename) const;
0071 
0072     virtual bool supportsTime(QSettings *cfg, const QString& filename) const;
0073 
0074     virtual QStringList provides() const;
0075 
0076     virtual Kst::DataSourceConfigWidget *configWidget(QSettings *cfg, const QString& filename) const;
0077 };
0078 
0079 
0080 
0081 #endif
0082