Slicer  5.0
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 | Static 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
[legend]
Collaboration diagram for qSlicerIOManager:
Collaboration graph
[legend]

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 emitFileSaved (const QVariantMap &savedFileParameters)
 
Q_INVOKABLE void emitNewFileLoaded (const QVariantMap &loadedFileParameters)
 
Q_INVOKABLE bool examineFileInfoList (QFileInfoList &fileInfoList, QFileInfo &archetypeEntry, QString &readerDescription, qSlicerIO::IOProperties &ioProperties) const
 
Q_INVOKABLE bool exportNodes (const QList< qSlicerIO::IOProperties > &parameterMaps, bool hardenTransforms, vtkMRMLMessageCollection *userMessages=nullptr)
 
Q_INVOKABLE bool exportNodes (const QStringList &nodeIDs, const QStringList &fileNames, const qSlicerIO::IOProperties &commonParameterMap, bool hardenTransforms, vtkMRMLMessageCollection *userMessages=nullptr)
 
Q_INVOKABLE QString extractKnownExtension (const QString &fileName, vtkObject *object)
 
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, vtkMRMLScene *scene=nullptr)
 
Q_INVOKABLE bool saveScene (const QString &fileName, QImage screenShot, vtkMRMLMessageCollection *userMessages=nullptr)
 
Q_INVOKABLE QString stripKnownExtension (const QString &fileName, vtkObject *object)
 
 ~qSlicerCoreIOManager () override
 

Static Public Member Functions

static Q_INVOKABLE void showLoadNodesResultDialog (bool success, vtkMRMLMessageCollection *userMessages)
 
- Static Public Member Functions inherited from qSlicerCoreIOManager
static Q_INVOKABLE vtkMRMLStorageNodecreateAndAddDefaultStorageNode (vtkMRMLStorableNode *node)
 Create and add default storage node. More...
 
static Q_INVOKABLE QRegExp fileNameRegExp (const QString &extension=QString())
 
static Q_INVOKABLE QString forceFileNameValidCharacters (const QString &filename)
 Remove characters that are likely to cause problems in a filename. More...
 

Protected Slots

void execDelayedFileDialog ()
 
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
 

Friends

class qSlicerFileDialog
 

Additional Inherited Members

- Properties inherited from qSlicerCoreIOManager
QString defaultSceneFileType
 
- Signals inherited from qSlicerCoreIOManager
void fileSaved (const qSlicerIO::IOProperties &savedFileParameters)
 
void newFileLoaded (const qSlicerIO::IOProperties &loadedFileParameters)
 

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 ( )
override

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()

◆ 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
dragEnterEvent()

◆ execDelayedFileDialog

void qSlicerIOManager::execDelayedFileDialog ( )
protectedslot

◆ 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 
)
overridevirtual

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 
)
overridevirtual

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 ( )
inlineslot

Definition at line 173 of file qSlicerIOManager.h.

◆ openAddDataDialog [1/2]

bool qSlicerIOManager::openAddDataDialog ( )
inlineslot

Definition at line 135 of file qSlicerIOManager.h.

◆ openAddDataDialog [2/2]

bool qSlicerIOManager::openAddDataDialog ( QString  fileName)
inlineslot

Definition at line 127 of file qSlicerIOManager.h.

◆ openAddFiberBundleDialog

bool qSlicerIOManager::openAddFiberBundleDialog ( )
inlineslot

Definition at line 191 of file qSlicerIOManager.h.

◆ openAddFiducialDialog

bool qSlicerIOManager::openAddFiducialDialog ( )
inlineslot

Definition at line 179 of file qSlicerIOManager.h.

◆ openAddMarkupsDialog

bool qSlicerIOManager::openAddMarkupsDialog ( )
inlineslot

Definition at line 185 of file qSlicerIOManager.h.

◆ openAddModelDialog

bool qSlicerIOManager::openAddModelDialog ( )
inlineslot

Definition at line 155 of file qSlicerIOManager.h.

◆ openAddScalarOverlayDialog

bool qSlicerIOManager::openAddScalarOverlayDialog ( )
inlineslot

Definition at line 161 of file qSlicerIOManager.h.

◆ openAddSceneDialog

bool qSlicerIOManager::openAddSceneDialog ( )
slot

◆ openAddTransformDialog

bool qSlicerIOManager::openAddTransformDialog ( )
inlineslot

Definition at line 167 of file qSlicerIOManager.h.

◆ openAddVolumeDialog

bool qSlicerIOManager::openAddVolumeDialog ( )
inlineslot

Definition at line 141 of file qSlicerIOManager.h.

◆ openAddVolumesDialog

bool qSlicerIOManager::openAddVolumesDialog ( )
inlineslot

Definition at line 147 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 ( )
slot

◆ openSaveDataDialog

bool qSlicerIOManager::openSaveDataDialog ( )
inlineslot

Definition at line 197 of file qSlicerIOManager.h.

◆ openSceneViewsDialog

void qSlicerIOManager::openSceneViewsDialog ( )
slot

◆ openScreenshotDialog

void qSlicerIOManager::openScreenshotDialog ( )
slot

◆ readers() [1/2]

QList<qSlicerFileReader*> qSlicerCoreIOManager::readers
protected

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

◆ readers() [2/2]

const QList<qSlicerFileReader*>& qSlicerCoreIOManager::readers
protected

Returns the list of registered readers.

◆ 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)

◆ showLoadNodesResultDialog()

static Q_INVOKABLE void qSlicerIOManager::showLoadNodesResultDialog ( bool  success,
vtkMRMLMessageCollection userMessages 
)
static

Helper function to display result of loadNodes. If success is set false then an error popup is displayed. If success is set to true then a popup is only displayed if error or warning messages are logged. If a popup is displayed then all the user-displayable messages are displayed in a collapsed "Details" section. The dialog is not displayed if the application is launched with testing mode enabled.

◆ updateProgressDialog

void qSlicerIOManager::updateProgressDialog ( )
protectedslot

Friends And Related Function Documentation

◆ qSlicerFileDialog

friend class qSlicerFileDialog
friend

Definition at line 116 of file qSlicerIOManager.h.

Member Data Documentation

◆ d_ptr

QScopedPointer<qSlicerIOManagerPrivate> qSlicerIOManager::d_ptr
protected

Definition at line 119 of file qSlicerIOManager.h.


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