]> Creatis software - cpPlugins.git/blobdiff - plugins/ITKIO/DicomSeriesSelectorWidget.cxx
Moved to version 1.0
[cpPlugins.git] / plugins / ITKIO / DicomSeriesSelectorWidget.cxx
diff --git a/plugins/ITKIO/DicomSeriesSelectorWidget.cxx b/plugins/ITKIO/DicomSeriesSelectorWidget.cxx
deleted file mode 100644 (file)
index 98954d4..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-#include <ITKIO/DicomSeriesSelectorWidget.h>
-
-#ifdef cpPlugins_QT4
-
-#include <ITKIO/ui_DicomSeriesSelectorWidget.h>
-#include <queue>
-#include <string>
-#include <QFileDialog>
-
-// -------------------------------------------------------------------------
-cpPluginsITKIO::DicomSeriesSelectorWidget::
-DicomSeriesSelectorWidget( QWidget* parent )
-  : QWidget( parent ),
-    m_UI( new Ui::DicomSeriesSelectorWidget )
-{
-  this->m_UI->setupUi( this );
-  this->setStartDir( ".", false );
-  this->connect(
-    this->m_UI->ChooseButton, SIGNAL( clicked( ) ),
-    this, SLOT( _Choose( ) )
-    );
-}
-
-// -------------------------------------------------------------------------
-cpPluginsITKIO::DicomSeriesSelectorWidget::
-~DicomSeriesSelectorWidget( )
-{
-  delete this->m_UI;
-}
-
-// -------------------------------------------------------------------------
-QString cpPluginsITKIO::DicomSeriesSelectorWidget::
-startDir( ) const
-{
-  return( this->m_UI->Directory->text( ) );
-}
-
-// -------------------------------------------------------------------------
-void cpPluginsITKIO::DicomSeriesSelectorWidget::
-setStartDir( const QString& dir, bool build )
-{
-  this->m_Series.clear( );
-
-  this->m_UI->Directory->setText( dir );
-  if( !build )
-    return;
-  
-  // Process subdirs
-  QApplication::setOverrideCursor( Qt::WaitCursor );
-
-  this->m_UI->Series->clear( );
-  this->m_UI->Series->setColumnCount( 3 );
-  QStringList labels;
-  labels << "Images count" << "Series UID" << "Series path";
-  this->m_UI->Series->setHorizontalHeaderLabels( labels );
-
-  std::string main_dir_name = dir.toStdString( );
-  std::queue< std::string > q;
-  q.push( main_dir_name );
-  while( !( q.empty( ) ) )
-  {
-    std::string dir_name = q.front( );
-    q.pop( );
-
-    // Update queue
-    QDir dir( dir_name.c_str( ) );
-    QFileInfoList contents = dir.entryInfoList( );
-    QFileInfoList::const_iterator i = contents.begin( );
-    std::set< std::string > files;
-    for( ; i != contents.end( ); ++i )
-    {
-      if( i->isDir( ) )
-      {
-        std::string new_dir_name = i->absoluteFilePath( ).toStdString( );
-        if( new_dir_name.size( ) > dir_name.size( ) )
-          q.push( new_dir_name );
-      }
-      else
-        files.insert( i->absoluteFilePath( ).toStdString( ) );
-
-    } // rof
-
-    if( files.size( ) > 0 )
-    {
-      this->m_GDCMHelper.Clear( );
-      this->m_GDCMHelper.SetUseSeriesDetails( true );
-      this->m_GDCMHelper.SetLoadMode( 0 );
-      this->m_GDCMHelper.AddRestriction( "0008|0021" );
-      this->m_GDCMHelper.SetFileNames( files.begin( ), files.end( ) );
-
-      gdcm::FileList* flist =
-        this->m_GDCMHelper.GetFirstSingleSerieUIDFileSet( );
-      while( flist != NULL )
-      {
-        if( flist->size( ) > 0 )
-        {
-          this->m_GDCMHelper.OrderFileList( flist );
-          gdcm::File* file = ( *flist )[ 0 ];
-          std::string id =
-            this->m_GDCMHelper.CreateUniqueSeriesIdentifier( file ).c_str( );
-
-          gdcm::FileList::iterator it;
-          for( it = flist->begin( ); it != flist->end( ); ++it )
-            if( *it != NULL )
-              this->m_Series[ id ].push_back( ( *it )->filename );
-
-        } // fi
-        flist = this->m_GDCMHelper.GetNextSingleSerieUIDFileSet( );
-
-      } // elihw
-
-    } // fi
-
-  } // elihw
-
-  // Show series
-  for( auto sIt = this->m_Series.begin( ); sIt != this->m_Series.end( ); ++sIt )
-  {
-    if( sIt->second.size( ) > 0 )
-    {
-      QFileInfo fdir( sIt->second[ 0 ].c_str( ) );
-
-      unsigned long rows = this->m_UI->Series->rowCount( );
-      this->m_UI->Series->insertRow( rows );
-      std::stringstream str_count;
-      str_count << sIt->second.size( );
-      QTableWidgetItem* count_item =
-        new QTableWidgetItem( str_count.str( ).c_str( ) );
-      QTableWidgetItem* uid_item =
-        new QTableWidgetItem( sIt->first.c_str( ) );
-      QTableWidgetItem* dir_item =
-        new QTableWidgetItem( fdir.dir( ).canonicalPath( ) );
-      count_item->setFlags( count_item->flags( ) & ~Qt::ItemIsEditable );
-      uid_item->setFlags( uid_item->flags( ) & ~Qt::ItemIsEditable );
-      dir_item->setFlags( dir_item->flags( ) & ~Qt::ItemIsEditable );
-      this->m_UI->Series->setItem( rows, 0, count_item );
-      this->m_UI->Series->setItem( rows, 1, uid_item );
-      this->m_UI->Series->setItem( rows, 2, dir_item );
-
-    } // fi
-
-  } // rof
-
-  // Restore cursor
-  QApplication::restoreOverrideCursor( );
-}
-
-// -------------------------------------------------------------------------
-std::vector< std::string >* cpPluginsITKIO::DicomSeriesSelectorWidget::
-selectedFilenames( )
-{
-  auto items = this->m_UI->Series->selectedItems( );
-  if( items.size( ) > 0 )
-  {
-    std::string uid =
-      this->m_UI->Series->
-      item( items[ 0 ]->row( ), 1 )->text( ).toStdString( );
-    auto sIt = this->m_Series.find( uid );
-    if( sIt != this->m_Series.end( ) )
-      return( &( sIt->second ) );
-
-  } // fi
-  return( NULL );
-}
-
-// -------------------------------------------------------------------------
-void cpPluginsITKIO::DicomSeriesSelectorWidget::
-_Choose( )
-{
-  QString qdir =
-    QFileDialog::getExistingDirectory(
-      this, tr( "Open Directory" ),
-      this->startDir( ),
-      QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks
-      );
-  if( qdir.toStdString( ) != "" )
-    this->setStartDir( qdir );
-}
-
-#endif // cpPlugins_QT4
-
-// eof - $RCSfile$