Slicer  4.13
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
List of all members | Public Types | Public Slots | Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes | Friends
qSlicerIOManager Class Reference

#include <Base/QTGUI/qSlicerIOManager.h>

Inheritance diagram for qSlicerIOManager:
Inheritance graph
Collaboration diagram for qSlicerIOManager:
Collaboration graph

Public Types

typedef qSlicerCoreIOManager Superclass

Public Slots

bool openAddColorTableDialog ()
bool openAddDataDialog ()
bool openAddDataDialog (QString fileName)
bool openAddFiberBundleDialog ()
bool openAddFiducialDialog ()
bool openAddMarkupsDialog ()
bool openAddModelDialog ()
bool openAddScalarOverlayDialog ()
bool openAddSceneDialog ()
bool openAddTransformDialog ()
bool openAddVolumeDialog ()
bool openAddVolumesDialog ()
bool openLoadSceneDialog ()
bool openSaveDataDialog ()
void openSceneViewsDialog ()
void openScreenshotDialog ()
- Public Slots inherited from qSlicerCoreIOManager
void setDefaultSceneFileType (QString)

Public Member Functions

void addHistory (const QString &path)
void dragEnterEvent (QDragEnterEvent *event)
void dropEvent (QDropEvent *event)
const QList< QUrl > & favorites () const
const QStringList & history () const
Q_INVOKABLE bool loadNodes (const qSlicerIO::IOFileType &fileType, const qSlicerIO::IOProperties &parameters, vtkCollection *loadedNodes=nullptr, vtkMRMLMessageCollection *userMessages=nullptr) override
bool loadNodes (const QList< qSlicerIO::IOProperties > &files, vtkCollection *loadedNodes=nullptr, vtkMRMLMessageCollection *userMessages=nullptr) override
Q_INVOKABLE bool openDialog (qSlicerIO::IOFileType fileType, qSlicerFileDialog::IOAction action, qSlicerIO::IOProperties ioProperties=qSlicerIO::IOProperties(), vtkCollection *loadedNodes=nullptr)
 qSlicerIOManager (QObject *parent=nullptr)
void registerDialog (qSlicerFileDialog *dialog)
void setFavorites (const QList< QUrl > &urls)
 ~qSlicerIOManager () override
- Public Member Functions inherited from qSlicerCoreIOManager
Q_INVOKABLE void addDefaultStorageNodes ()
Q_INVOKABLE QStringList allReadableFileExtensions () const
Q_INVOKABLE QStringList allWritableFileExtensions () const
Q_INVOKABLE QString completeSlicerWritableFileNameSuffix (vtkMRMLStorableNode *node) const
Q_INVOKABLE QString defaultSceneFileType () const
 Defines the file format that should be offered by default when the scene is saved. More...
Q_INVOKABLE void emitNewFileLoaded (const QVariantMap &loadedFileParameters)
Q_INVOKABLE bool examineFileInfoList (QFileInfoList &fileInfoList, QFileInfo &archetypeEntry, QString &readerDescription, qSlicerIO::IOProperties &ioProperties) const
Q_INVOKABLE QStringList fileDescriptions (const QString &file) const
QStringList fileDescriptionsByType (const qSlicerIO::IOFileType fileType) const
qSlicerIOOptionsfileOptions (const QString &fileDescription) const
 Return the file option associated with a file type. More...
Q_INVOKABLE qSlicerIO::IOFileType fileType (const QString &file) const
 Return the file type associated with a file. More...
Q_INVOKABLE qSlicerIO::IOFileType fileTypeFromDescription (const QString &fileDescription) const
Q_INVOKABLE QList< qSlicerIO::IOFileTypefileTypes (const QString &file) const
Q_INVOKABLE QStringList fileWriterDescriptions (const qSlicerIO::IOFileType &fileType) const
Q_INVOKABLE QStringList fileWriterExtensions (vtkObject *object) const
Q_INVOKABLE qSlicerIO::IOFileType fileWriterFileType (vtkObject *object, const QString &format=QString()) const
 Return the file type associated with an VTK object. More...
qSlicerIOOptionsfileWriterOptions (vtkObject *object, const QString &extension) const
Q_INVOKABLE bool loadFile (const QString &fileName, vtkMRMLMessageCollection *userMessages=nullptr)
vtkMRMLNodeloadNodesAndGetFirst (qSlicerIO::IOFileType fileType, const qSlicerIO::IOProperties &parameters, vtkMRMLMessageCollection *userMessages=nullptr)
Q_INVOKABLE bool loadScene (const QString &fileName, bool clear=true, vtkMRMLMessageCollection *userMessages=nullptr)
 qSlicerCoreIOManager (QObject *parent=nullptr)
void registerIO (qSlicerIO *io)
Q_INVOKABLE bool saveNodes (qSlicerIO::IOFileType fileType, const qSlicerIO::IOProperties &parameters, vtkMRMLMessageCollection *userMessages=nullptr)
Q_INVOKABLE bool saveScene (const QString &fileName, QImage screenShot, vtkMRMLMessageCollection *userMessages=nullptr)
 ~qSlicerCoreIOManager () override

Protected Slots

void updateProgressDialog ()

Protected Member Functions

const QList< qSlicerFileReader *> & readers () const
 Returns the list of registered readers. More...
QList< qSlicerFileReader *> readers (const qSlicerIO::IOFileType &fileType) const
 Returns the list of registered readers or writers associated with fileType. More...
- Protected Member Functions inherited from qSlicerCoreIOManager
qSlicerFileReaderreader (const QString &ioDescription) const
const QList< qSlicerFileReader * > & readers () const
 Returns the list of registered readers. More...
QList< qSlicerFileReader * > readers (const qSlicerIO::IOFileType &fileType) const
 Returns the list of registered readers or writers associated with fileType. More...
const QList< qSlicerFileWriter * > & writers () const
 Returns the list of registered writers. More...
QList< qSlicerFileWriter * > writers (const qSlicerIO::IOFileType &fileType) const
 Returns the list of registered writers for a given fileType. More...

Protected Attributes

QScopedPointer< qSlicerIOManagerPrivate > d_ptr
- Protected Attributes inherited from qSlicerCoreIOManager
QScopedPointer< qSlicerCoreIOManagerPrivate > d_ptr


class qSlicerFileDialog

Additional Inherited Members

- Properties inherited from qSlicerCoreIOManager
QString defaultSceneFileType
- Signals inherited from qSlicerCoreIOManager
void newFileLoaded (const qSlicerIO::IOProperties &loadedFileParameters)
- Static Public Member Functions inherited from qSlicerCoreIOManager
static Q_INVOKABLE vtkMRMLStorageNodecreateAndAddDefaultStorageNode (vtkMRMLStorableNode *node)
 Create and add default storage node. More...

Detailed Description

Definition at line 26 of file qSlicerIOManager.h.

Member Typedef Documentation

◆ Superclass

Definition at line 31 of file qSlicerIOManager.h.

Constructor & Destructor Documentation

◆ qSlicerIOManager()

qSlicerIOManager::qSlicerIOManager ( QObject *  parent = nullptr)

◆ ~qSlicerIOManager()

qSlicerIOManager::~qSlicerIOManager ( )

Member Function Documentation

◆ addHistory()

void qSlicerIOManager::addHistory ( const QString &  path)

◆ dragEnterEvent()

void qSlicerIOManager::dragEnterEvent ( QDragEnterEvent *  event)

dragEnterEvents can be forwarded to the IOManager, if a registered dialog supports it, the event is accepted, otherwise ignored.

See also

◆ dropEvent()

void qSlicerIOManager::dropEvent ( QDropEvent *  event)

Search, in the list of registered readers, the first dialog that handles the drop event. If the event is accepted by the dialog ( usually the is also used to populate the dialog), the manager opens the dialog, otherwise the next dialog is tested. The order in which dialogs are being tested is the opposite of the dialogs are registered.

See also

◆ favorites()

const QList<QUrl>& qSlicerIOManager::favorites ( ) const

◆ history()

const QStringList& qSlicerIOManager::history ( ) const

◆ loadNodes() [1/2]

Q_INVOKABLE bool qSlicerIOManager::loadNodes ( const qSlicerIO::IOFileType fileType,
const qSlicerIO::IOProperties parameters,
vtkCollection *  loadedNodes = nullptr,
vtkMRMLMessageCollection userMessages = nullptr 

Displays a progress dialog if it takes too long to load There is no way to know in advance how long the loading will take, so the progress dialog listens to the scene and increment the progress anytime a node is added.

Reimplemented from qSlicerCoreIOManager.

◆ loadNodes() [2/2]

bool qSlicerIOManager::loadNodes ( const QList< qSlicerIO::IOProperties > &  files,
vtkCollection *  loadedNodes = nullptr,
vtkMRMLMessageCollection userMessages = nullptr 

If you have a list of nodes to load, it's best to use this function in order to have a unique progress dialog instead of multiple ones. It internally calls loadNodes() for each file.

Reimplemented from qSlicerCoreIOManager.

◆ openAddColorTableDialog

bool qSlicerIOManager::openAddColorTableDialog ( )

Definition at line 165 of file qSlicerIOManager.h.

◆ openAddDataDialog [1/2]

bool qSlicerIOManager::openAddDataDialog ( )

Definition at line 127 of file qSlicerIOManager.h.

◆ openAddDataDialog [2/2]

bool qSlicerIOManager::openAddDataDialog ( QString  fileName)

Definition at line 119 of file qSlicerIOManager.h.

◆ openAddFiberBundleDialog

bool qSlicerIOManager::openAddFiberBundleDialog ( )

Definition at line 183 of file qSlicerIOManager.h.

◆ openAddFiducialDialog

bool qSlicerIOManager::openAddFiducialDialog ( )

Definition at line 171 of file qSlicerIOManager.h.

◆ openAddMarkupsDialog

bool qSlicerIOManager::openAddMarkupsDialog ( )

Definition at line 177 of file qSlicerIOManager.h.

◆ openAddModelDialog

bool qSlicerIOManager::openAddModelDialog ( )

Definition at line 147 of file qSlicerIOManager.h.

◆ openAddScalarOverlayDialog

bool qSlicerIOManager::openAddScalarOverlayDialog ( )

Definition at line 153 of file qSlicerIOManager.h.

◆ openAddSceneDialog

bool qSlicerIOManager::openAddSceneDialog ( )

◆ openAddTransformDialog

bool qSlicerIOManager::openAddTransformDialog ( )

Definition at line 159 of file qSlicerIOManager.h.

◆ openAddVolumeDialog

bool qSlicerIOManager::openAddVolumeDialog ( )

Definition at line 133 of file qSlicerIOManager.h.

◆ openAddVolumesDialog

bool qSlicerIOManager::openAddVolumesDialog ( )

Definition at line 139 of file qSlicerIOManager.h.

◆ openDialog()

Q_INVOKABLE bool qSlicerIOManager::openDialog ( qSlicerIO::IOFileType  fileType,
qSlicerFileDialog::IOAction  action,
qSlicerIO::IOProperties  ioProperties = qSlicerIO::IOProperties(),
vtkCollection *  loadedNodes = nullptr 

Search for the most appropriate dialog based on the action and fileType, and open it. Once the user select the file(s), the action (read or write) is done. Note that to write a node, the "nodeID" property must be passed. If no dialog is registered for a given fileType (e.g. QString("SceneFile")), a default dialog (qSlicerStandardFileDialog) is used. If reading files (action == qSlicerFileDialog::Read) and if loadedNodes is not null, the loadedNodes collection is being populated with the loaded nodes. Returns true on success, false otherwise.

◆ openLoadSceneDialog

bool qSlicerIOManager::openLoadSceneDialog ( )

◆ openSaveDataDialog

bool qSlicerIOManager::openSaveDataDialog ( )

Definition at line 189 of file qSlicerIOManager.h.

◆ openSceneViewsDialog

void qSlicerIOManager::openSceneViewsDialog ( )

◆ openScreenshotDialog

void qSlicerIOManager::openScreenshotDialog ( )

◆ readers() [1/2]

const QList<qSlicerFileReader*>& qSlicerCoreIOManager::readers

Returns the list of registered readers.

◆ readers() [2/2]

QList<qSlicerFileReader*> qSlicerCoreIOManager::readers

Returns the list of registered readers or writers associated with fileType.

◆ registerDialog()

void qSlicerIOManager::registerDialog ( qSlicerFileDialog dialog)

Takes ownership. Any previously set dialog corresponding to the same fileType (only 1 dialog per filetype) is overridden.

◆ setFavorites()

void qSlicerIOManager::setFavorites ( const QList< QUrl > &  urls)

◆ updateProgressDialog

void qSlicerIOManager::updateProgressDialog ( )

Friends And Related Function Documentation

◆ qSlicerFileDialog

friend class qSlicerFileDialog

Definition at line 108 of file qSlicerIOManager.h.

Member Data Documentation

◆ d_ptr

QScopedPointer<qSlicerIOManagerPrivate> qSlicerIOManager::d_ptr

Definition at line 111 of file qSlicerIOManager.h.

The documentation for this class was generated from the following file: