Forráskód Böngészése

A list of uids is know emitted if tableselection changes

Andreas Fetzer 12 éve
szülő
commit
2713d461aa

+ 31 - 4
Libs/DICOM/Widgets/ctkDICOMTableView.cpp

@@ -140,16 +140,43 @@ void ctkDICOMTableView::setCTKDicomDataBase(QSharedPointer<ctkDICOMDatabase> dic
   }
   }
 }
 }
 
 
-void ctkDICOMTableView::onSelectionChanged(const QItemSelection &, const QItemSelection &)
+void ctkDICOMTableView::onSelectionChanged()
 {
 {
-  //Do something
+  Q_D(ctkDICOMTableView);
+
+  QModelIndexList currentSelection = d->tblDicomDatabaseView->selectionModel()->selectedRows(0);
+//  QString query;
+  QStringList uids;
+  if (currentSelection.empty())
+  {
+    emit signalSelectionChanged(uids);
+  }
+  else
+  {
+    foreach(QModelIndex i, currentSelection)
+    {
+      qDebug() << i.data();
+      uids << (QString("'") + i.data().toString() +"'");
+    }
+    //    query.append(inExpression.join(",")).append(");");
+    emit signalSelectionChanged(uids);
+  }
+  foreach(QString s, uids)
+  {
+    qDebug() << s;
+  }
 }
 }
 
 
 void ctkDICOMTableView::onDatabaseChanged()
 void ctkDICOMTableView::onDatabaseChanged()
 {
 {
   Q_D(ctkDICOMTableView);
   Q_D(ctkDICOMTableView);
-  d->DICOMSQLModel.setQuery("select * from Patients", d->ctkDICOMDatabase->database());
+  d->DICOMSQLModel.setQuery("select * from Patients", d->DICOMDatabase->database());
+}
 
 
-      d->tblDicomDatabaseView->setColumnHidden(0, true);
+void ctkDICOMTableView::onQueryChanged(const QStringList& uids)
+{
+  Q_D(ctkDICOMTableView);
+//  d->DICOMSQLModel.setQuery(query);
+  //Query zusammenfummeln
 }
 }
 
 

+ 5 - 1
Libs/DICOM/Widgets/ctkDICOMTableView.h

@@ -51,11 +51,15 @@ public:
   void hideColumn(int column);
   void hideColumn(int column);
 
 
 public Q_SLOTS:
 public Q_SLOTS:
-  void onSelectionChanged(const QItemSelection &, const QItemSelection &);
+  void onSelectionChanged();
+  void onQueryChanged(const QStringList &uids);
 
 
 protected Q_SLOTS:
 protected Q_SLOTS:
   void onDatabaseChanged();
   void onDatabaseChanged();
 
 
+Q_SIGNALS:
+  void signalSelectionChanged(const QStringList &uids);
+
 protected:
 protected:
   QScopedPointer<ctkDICOMTableViewPrivate> d_ptr;
   QScopedPointer<ctkDICOMTableViewPrivate> d_ptr;