Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
QmitkMimeTypes.cpp
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #include "QmitkMimeTypes.h"
14 
15 const QString QmitkMimeTypes::DataNodePtrs = "application/x-qmitk-datanode-ptrs";
16 const QString QmitkMimeTypes::DataStorageTreeItemPtrs = "application/x-qmitk-datastorage-treeitem-ptrs";
17 
18 #include <iostream>
19 
20 #include <QDataStream>
21 
22 QList<mitk::DataNode *> QmitkMimeTypes::ToDataNodePtrList(const QByteArray &ba)
23 {
24  QDataStream ds(ba);
25  QList<mitk::DataNode *> result;
26  while (!ds.atEnd())
27  {
28  quintptr dataNodePtr;
29  ds >> dataNodePtr;
30  result.push_back(reinterpret_cast<mitk::DataNode *>(dataNodePtr));
31  }
32  return result;
33 }
34 
35 QList<mitk::DataNode *> QmitkMimeTypes::ToDataNodePtrList(const QMimeData *mimeData)
36 {
37  if (mimeData == nullptr || !mimeData->hasFormat(QmitkMimeTypes::DataNodePtrs))
38  {
39  return QList<mitk::DataNode *>();
40  }
41  return ToDataNodePtrList(mimeData->data(QmitkMimeTypes::DataNodePtrs));
42 }
static QList< mitk::DataNode * > ToDataNodePtrList(const QByteArray &ba)
static const QString DataNodePtrs
static const QString DataStorageTreeItemPtrs