Explorar o código

Refactoring and code clean up

Andreas Fetzer %!s(int64=11) %!d(string=hai) anos
pai
achega
383112516a

+ 3 - 3
Libs/DICOM/Widgets/ctkDICOMTableManager.cpp

@@ -100,9 +100,9 @@ void ctkDICOMTableManagerPrivate::init()
 
 
 void ctkDICOMTableManagerPrivate::setCTKDICOMDatabase(ctkDICOMDatabase* db)
 void ctkDICOMTableManagerPrivate::setCTKDICOMDatabase(ctkDICOMDatabase* db)
 {
 {
-  this->patientsTable->setCTKDicomDataBase(db);
-  this->studiesTable->setCTKDicomDataBase(db);
-  this->seriesTable->setCTKDicomDataBase(db);
+  this->patientsTable->setDicomDataBase(db);
+  this->studiesTable->setDicomDataBase(db);
+  this->seriesTable->setDicomDataBase(db);
   this->dicomDatabase = db;
   this->dicomDatabase = db;
 }
 }
 
 

+ 28 - 43
Libs/DICOM/Widgets/ctkDICOMTableView.cpp

@@ -45,19 +45,20 @@ public:
   //Temporay solution to hide UID columns
   //Temporay solution to hide UID columns
   void hideUIDColumns();
   void hideUIDColumns();
 
 
-  QStringList uidsForAllRows();
+  QString queryTableName() const;
+
+  QStringList uidsForAllRows() const;
 
 
   ctkDICOMDatabase* dicomDatabase;
   ctkDICOMDatabase* dicomDatabase;
   QSqlQueryModel dicomSQLModel;
   QSqlQueryModel dicomSQLModel;
   QSortFilterProxyModel* dicomSQLFilterModel;
   QSortFilterProxyModel* dicomSQLFilterModel;
-  QString queryTableName;
   QString queryForeignKey;
   QString queryForeignKey;
 
 
   QStringList currentSelection;
   QStringList currentSelection;
 
 
 };
 };
-//------------------------------------------------------------------------------
 
 
+//------------------------------------------------------------------------------
 ctkDICOMTableViewPrivate::ctkDICOMTableViewPrivate(ctkDICOMTableView &obj)
 ctkDICOMTableViewPrivate::ctkDICOMTableViewPrivate(ctkDICOMTableView &obj)
   : q_ptr(&obj)
   : q_ptr(&obj)
 {
 {
@@ -65,7 +66,6 @@ ctkDICOMTableViewPrivate::ctkDICOMTableViewPrivate(ctkDICOMTableView &obj)
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-
 ctkDICOMTableViewPrivate::ctkDICOMTableViewPrivate(ctkDICOMTableView &obj, ctkDICOMDatabase* db)
 ctkDICOMTableViewPrivate::ctkDICOMTableViewPrivate(ctkDICOMTableView &obj, ctkDICOMDatabase* db)
   : q_ptr(&obj)
   : q_ptr(&obj)
   , dicomDatabase(db)
   , dicomDatabase(db)
@@ -74,7 +74,6 @@ ctkDICOMTableViewPrivate::ctkDICOMTableViewPrivate(ctkDICOMTableView &obj, ctkDI
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-
 ctkDICOMTableViewPrivate::~ctkDICOMTableViewPrivate()
 ctkDICOMTableViewPrivate::~ctkDICOMTableViewPrivate()
 {
 {
 }
 }
@@ -89,8 +88,6 @@ void ctkDICOMTableViewPrivate::init()
   this->leSearchBox->setAlwaysShowClearIcon(true);
   this->leSearchBox->setAlwaysShowClearIcon(true);
   this->leSearchBox->setShowSearchIcon(true);
   this->leSearchBox->setShowSearchIcon(true);
 
 
-  this->lblTableName->setText(this->queryTableName);
-
   if (this->dicomDatabase != 0)
   if (this->dicomDatabase != 0)
     {
     {
       this->setUpTableView();
       this->setUpTableView();
@@ -98,7 +95,6 @@ void ctkDICOMTableViewPrivate::init()
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-
 void ctkDICOMTableViewPrivate::setUpTableView()
 void ctkDICOMTableViewPrivate::setUpTableView()
 {
 {
   Q_Q(ctkDICOMTableView);
   Q_Q(ctkDICOMTableView);
@@ -138,15 +134,13 @@ void ctkDICOMTableViewPrivate::setUpTableView()
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-
 //Temporay solution to hide UID columns
 //Temporay solution to hide UID columns
 void ctkDICOMTableViewPrivate::hideUIDColumns()
 void ctkDICOMTableViewPrivate::hideUIDColumns()
 {
 {
   const int numberOfColumns = this->tblDicomDatabaseView->model()->columnCount();
   const int numberOfColumns = this->tblDicomDatabaseView->model()->columnCount();
-  QString columnName;
   for (int i = 0; i < numberOfColumns; ++i)
   for (int i = 0; i < numberOfColumns; ++i)
     {
     {
-    columnName = this->tblDicomDatabaseView->model()->headerData(i, Qt::Horizontal).toString();
+    QString columnName = this->tblDicomDatabaseView->model()->headerData(i, Qt::Horizontal).toString();
     if (columnName.contains("UID"))
     if (columnName.contains("UID"))
       {
       {
         this->tblDicomDatabaseView->hideColumn(i);
         this->tblDicomDatabaseView->hideColumn(i);
@@ -155,8 +149,7 @@ void ctkDICOMTableViewPrivate::hideUIDColumns()
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-
-QStringList ctkDICOMTableViewPrivate::uidsForAllRows()
+QStringList ctkDICOMTableViewPrivate::uidsForAllRows() const
 {
 {
   QAbstractItemModel* tableModel = this->tblDicomDatabaseView->model();
   QAbstractItemModel* tableModel = this->tblDicomDatabaseView->model();
   int numberOfRows = tableModel->rowCount();
   int numberOfRows = tableModel->rowCount();
@@ -170,12 +163,18 @@ QStringList ctkDICOMTableViewPrivate::uidsForAllRows()
     {
     {
       for(int i = 0; i < numberOfRows; ++i)
       for(int i = 0; i < numberOfRows; ++i)
         {
         {
-          uids << (QString("'") + tableModel->index(i,0).data().toString() +"'");
+          uids << QString("'%1'").arg(tableModel->index(i,0).data().toString());
         }
         }
     }
     }
   return uids;
   return uids;
 }
 }
 
 
+//----------------------------------------------------------------------------
+QString ctkDICOMTableViewPrivate::queryTableName() const
+{
+  return this->lblTableName->text();
+}
+
 
 
 //----------------------------------------------------------------------------
 //----------------------------------------------------------------------------
 // ctkDICOMTableView methods
 // ctkDICOMTableView methods
@@ -188,31 +187,28 @@ ctkDICOMTableView::ctkDICOMTableView(QWidget *parent, QString queryTableName)
   Q_D(ctkDICOMTableView);
   Q_D(ctkDICOMTableView);
   d->dicomDatabase = 0;
   d->dicomDatabase = 0;
   d->init();
   d->init();
-  d->queryTableName = queryTableName;
+  this->setQueryTableName(queryTableName);
   d->lblTableName->setText(queryTableName);
   d->lblTableName->setText(queryTableName);
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-
-ctkDICOMTableView::ctkDICOMTableView(ctkDICOMDatabase* ctkDicomDataBase, QWidget *parent, QString queryTableName)
+ctkDICOMTableView::ctkDICOMTableView (ctkDICOMDatabase* dicomDataBase, QWidget* parent, QString queryTableName)
   : Superclass(parent)
   : Superclass(parent)
   , d_ptr(new ctkDICOMTableViewPrivate(*this))
   , d_ptr(new ctkDICOMTableViewPrivate(*this))
 {
 {
-  this->setCTKDicomDataBase(ctkDicomDataBase);
+  this->setDicomDataBase(dicomDataBase);
   Q_D(ctkDICOMTableView);
   Q_D(ctkDICOMTableView);
-  d->queryTableName = queryTableName;
+  this->setQueryTableName(queryTableName);
   d->init();
   d->init();
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-
 ctkDICOMTableView::~ctkDICOMTableView()
 ctkDICOMTableView::~ctkDICOMTableView()
 {
 {
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-
-void ctkDICOMTableView::setCTKDicomDataBase(ctkDICOMDatabase *dicomDatabase)
+void ctkDICOMTableView::setDicomDataBase(ctkDICOMDatabase *dicomDatabase)
 {
 {
   Q_D(ctkDICOMTableView);
   Q_D(ctkDICOMTableView);
   d->dicomDatabase = dicomDatabase;
   d->dicomDatabase = dicomDatabase;
@@ -220,16 +216,13 @@ void ctkDICOMTableView::setCTKDicomDataBase(ctkDICOMDatabase *dicomDatabase)
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-
 void ctkDICOMTableView::setQueryTableName(const QString &tableName)
 void ctkDICOMTableView::setQueryTableName(const QString &tableName)
 {
 {
   Q_D(ctkDICOMTableView);
   Q_D(ctkDICOMTableView);
-  d->queryTableName = tableName;
   d->lblTableName->setText(tableName);
   d->lblTableName->setText(tableName);
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-
 void ctkDICOMTableView::setQueryForeignKey(const QString &foreignKey)
 void ctkDICOMTableView::setQueryForeignKey(const QString &foreignKey)
 {
 {
   Q_D(ctkDICOMTableView);
   Q_D(ctkDICOMTableView);
@@ -237,12 +230,12 @@ void ctkDICOMTableView::setQueryForeignKey(const QString &foreignKey)
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-
 void ctkDICOMTableView::onSelectionChanged()
 void ctkDICOMTableView::onSelectionChanged()
 {
 {
   Q_D(ctkDICOMTableView);
   Q_D(ctkDICOMTableView);
 
 
-  QModelIndexList selectedRows = d->tblDicomDatabaseView->selectionModel()->selectedRows(0);
+  const QModelIndexList selectedRows = d->tblDicomDatabaseView->selectionModel()->selectedRows(0);
+
   QStringList uids;
   QStringList uids;
 
 
   foreach(QModelIndex i, selectedRows)
   foreach(QModelIndex i, selectedRows)
@@ -253,7 +246,6 @@ void ctkDICOMTableView::onSelectionChanged()
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-
 void ctkDICOMTableView::onDatabaseChanged()
 void ctkDICOMTableView::onDatabaseChanged()
 {
 {
   Q_D(ctkDICOMTableView);
   Q_D(ctkDICOMTableView);
@@ -261,52 +253,45 @@ void ctkDICOMTableView::onDatabaseChanged()
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-
 void ctkDICOMTableView::onUpdateQuery(const QStringList& uids)
 void ctkDICOMTableView::onUpdateQuery(const QStringList& uids)
 {
 {
   Q_D(ctkDICOMTableView);
   Q_D(ctkDICOMTableView);
 
 
   setQuery(uids);
   setQuery(uids);
 
 
-  QStringList newUIDS = d->uidsForAllRows();
+  const QStringList& newUIDS = d->uidsForAllRows();
   emit queryChanged(newUIDS);
   emit queryChanged(newUIDS);
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-
 void ctkDICOMTableView::onFilterChanged()
 void ctkDICOMTableView::onFilterChanged()
 {
 {
   Q_D(ctkDICOMTableView);
   Q_D(ctkDICOMTableView);
 
 
-  QStringList uids = d->uidsForAllRows();
+  const QStringList uids = d->uidsForAllRows();
   emit queryChanged(uids);
   emit queryChanged(uids);
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-
 void ctkDICOMTableView::setQuery(const QStringList &uids)
 void ctkDICOMTableView::setQuery(const QStringList &uids)
 {
 {
   Q_D(ctkDICOMTableView);
   Q_D(ctkDICOMTableView);
-  QString query;
+  QString query= "select * from " + d->queryTableName();
 
 
-  if (uids.empty() || d->queryForeignKey.length() == 0)
-    {
-      query = "select * from " + d->queryTableName;
-    }
-  else
+  if (!uids.empty() && d->queryForeignKey.length() != 0)
     {
     {
-      query = "select * from "+d->queryTableName+" where "+d->queryForeignKey+" in ( ";
+      query += " where "+d->queryForeignKey+" in ( ";
       query.append(uids.join(",")).append(");");
       query.append(uids.join(",")).append(");");
     }
     }
+
   if (d->dicomDatabase != 0)
   if (d->dicomDatabase != 0)
     d->dicomSQLModel.setQuery(query, d->dicomDatabase->database());
     d->dicomSQLModel.setQuery(query, d->dicomDatabase->database());
 }
 }
 
 
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-
-QStringList ctkDICOMTableView::currentSelection()
+QStringList ctkDICOMTableView::currentSelection() const
 {
 {
-  Q_D(ctkDICOMTableView);
+  Q_D(const ctkDICOMTableView);
 
 
   QModelIndexList currentSelection = d->tblDicomDatabaseView->selectionModel()->selectedRows(0);
   QModelIndexList currentSelection = d->tblDicomDatabaseView->selectionModel()->selectedRows(0);
   QStringList uids;
   QStringList uids;

+ 4 - 4
Libs/DICOM/Widgets/ctkDICOMTableView.h

@@ -59,7 +59,7 @@ public:
    * @param parent the parent widget
    * @param parent the parent widget
    * @param queryTableName the name of the table of the ctkDICOMDatabase which shall be displayed
    * @param queryTableName the name of the table of the ctkDICOMDatabase which shall be displayed
    */
    */
-  explicit ctkDICOMTableView (ctkDICOMDatabase* ctkDicomDataBase, QWidget* parent = 0, QString queryTableName = "Patients");
+  explicit ctkDICOMTableView (ctkDICOMDatabase* dicomDataBase, QWidget* parent = 0, QString queryTableName = "Patients");
 
 
   virtual ~ctkDICOMTableView();
   virtual ~ctkDICOMTableView();
 
 
@@ -67,7 +67,7 @@ public:
    * @brief Setting the ctkDICOMDatabase which shall be queried
    * @brief Setting the ctkDICOMDatabase which shall be queried
    * @param dicomDataBase the underlying database
    * @param dicomDataBase the underlying database
    */
    */
-  void setCTKDicomDataBase(ctkDICOMDatabase* dicomDatabase);
+  void setDicomDataBase(ctkDICOMDatabase* dicomDatabase);
 
 
   /**
   /**
    * Setting the table name which shall be used for the database query
    * Setting the table name which shall be used for the database query
@@ -93,7 +93,7 @@ public:
    * @brief Returns the uids of the current selected rows
    * @brief Returns the uids of the current selected rows
    * @return a list containing all the uids of the selected rows
    * @return a list containing all the uids of the selected rows
    */
    */
-  QStringList currentSelection();
+  QStringList currentSelection() const;
 
 
 public Q_SLOTS:
 public Q_SLOTS:
 
 
@@ -148,4 +148,4 @@ protected:
   Q_DISABLE_COPY(ctkDICOMTableView)
   Q_DISABLE_COPY(ctkDICOMTableView)
 };
 };
 
 
-#endif // CTKDICOMTABLEVIEW_H
+#endif // __ctkDICOMTableView_h