Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
qSlicerFileReader.h
Go to the documentation of this file.
1/*==============================================================================
2
3 Program: 3D Slicer
4
5 Copyright (c) Kitware Inc.
6
7 See COPYRIGHT.txt
8 or http://www.slicer.org/copyright/copyright.txt for details.
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16 This file was originally developed by Julien Finet, Kitware Inc.
17 and was partially funded by NIH grant 3P41RR013218-12S1
18
19==============================================================================*/
20
21#ifndef __qSlicerFileReader_h
22#define __qSlicerFileReader_h
23
24// Qt includes
25#include <QFileInfo>
26
27// QtCore includes
28#include "qSlicerIO.h"
29#include "qSlicerBaseQTCoreExport.h"
30
31class qSlicerFileReaderOptions;
32class qSlicerFileReaderPrivate;
33
34class Q_SLICER_BASE_QTCORE_EXPORT qSlicerFileReader
35 : public qSlicerIO
36{
37 Q_OBJECT
38public:
40 explicit qSlicerFileReader(QObject* parent = nullptr);
42
46 Q_INVOKABLE virtual QStringList extensions()const;
47
54 Q_INVOKABLE virtual bool canLoadFile(const QString& file)const;
55
64 Q_INVOKABLE virtual double canLoadFileConfidence(const QString& file)const;
65
73 Q_INVOKABLE QStringList supportedNameFilters(const QString& fileName, int* longestExtensionMatchPtr = nullptr)const;
74
76 Q_INVOKABLE virtual bool load(const IOProperties& properties);
77
81 Q_INVOKABLE virtual QStringList loadedNodes()const;
82
86 Q_INVOKABLE virtual bool examineFileInfoList(QFileInfoList &fileInfoList, QFileInfo &archetypeFileInfo, qSlicerIO::IOProperties &ioProperties)const;
87
88protected:
91 virtual void setLoadedNodes(const QStringList& nodes);
92
93protected:
94 QScopedPointer<qSlicerFileReaderPrivate> d_ptr;
95
96private:
97 Q_DECLARE_PRIVATE(qSlicerFileReader);
98 Q_DISABLE_COPY(qSlicerFileReader);
99};
100
101#endif
virtual void setLoadedNodes(const QStringList &nodes)
QScopedPointer< qSlicerFileReaderPrivate > d_ptr
~qSlicerFileReader() override
virtual Q_INVOKABLE double canLoadFileConfidence(const QString &file) const
virtual Q_INVOKABLE bool canLoadFile(const QString &file) const
virtual Q_INVOKABLE bool load(const IOProperties &properties)
Properties available: fileMode, multipleFiles, fileType.
virtual Q_INVOKABLE bool examineFileInfoList(QFileInfoList &fileInfoList, QFileInfo &archetypeFileInfo, qSlicerIO::IOProperties &ioProperties) const
virtual Q_INVOKABLE QStringList extensions() const
qSlicerFileReader(QObject *parent=nullptr)
virtual Q_INVOKABLE QStringList loadedNodes() const
Q_INVOKABLE QStringList supportedNameFilters(const QString &fileName, int *longestExtensionMatchPtr=nullptr) const
QVariantMap IOProperties
Definition qSlicerIO.h:53
qSlicerIO(QObject *parent=nullptr)