Преглед изворни кода

More styling plus proper initialization of the database

Andreas Fetzer пре 11 година
родитељ
комит
78801ad569
2 измењених фајлова са 24 додато и 5 уклоњено
  1. 17 3
      Libs/DICOM/Widgets/ctkDICOMTableView.cpp
  2. 7 2
      Libs/DICOM/Widgets/ctkDICOMTableView.h

+ 17 - 3
Libs/DICOM/Widgets/ctkDICOMTableView.cpp

@@ -63,6 +63,7 @@ ctkDICOMTableViewPrivate::ctkDICOMTableViewPrivate(ctkDICOMTableView &obj)
   : q_ptr(&obj)
 {
   this->dicomSQLFilterModel = new QSortFilterProxyModel(&obj);
+  this->dicomDatabase = new ctkDICOMDatabase(&obj);
 }
 
 //------------------------------------------------------------------------------
@@ -180,19 +181,27 @@ QString ctkDICOMTableViewPrivate::queryTableName() const
 // ctkDICOMTableView methods
 
 //----------------------------------------------------------------------------
-ctkDICOMTableView::ctkDICOMTableView(QWidget *parent, QString queryTableName)
+ctkDICOMTableView::ctkDICOMTableView(QWidget *parent)
+  : Superclass(parent)
+  , d_ptr(new ctkDICOMTableViewPrivate(*this))
+{
+  Q_D(ctkDICOMTableView);
+  d->init();
+}
+
+//----------------------------------------------------------------------------
+ctkDICOMTableView::ctkDICOMTableView(QString queryTableName, QWidget *parent)
   : Superclass(parent)
   , d_ptr(new ctkDICOMTableViewPrivate(*this))
 {
   Q_D(ctkDICOMTableView);
-  d->dicomDatabase = 0;
   d->init();
   this->setQueryTableName(queryTableName);
   d->lblTableName->setText(queryTableName);
 }
 
 //------------------------------------------------------------------------------
-ctkDICOMTableView::ctkDICOMTableView (ctkDICOMDatabase* dicomDataBase, QWidget* parent, QString queryTableName)
+ctkDICOMTableView::ctkDICOMTableView (ctkDICOMDatabase* dicomDataBase, QString queryTableName, QWidget* parent)
   : Superclass(parent)
   , d_ptr(new ctkDICOMTableViewPrivate(*this))
 {
@@ -242,6 +251,11 @@ void ctkDICOMTableView::onSelectionChanged()
     {
       uids<< (QString("'") + i.data().toString() +"'");
     }
+
+  if (uids.empty())
+    {
+      uids = d->uidsForAllRows();
+    }
   emit selectionChanged(uids);
 }
 

+ 7 - 2
Libs/DICOM/Widgets/ctkDICOMTableView.h

@@ -47,11 +47,16 @@ public:
   typedef QWidget Superclass;
 
   /**
+   * Constructs ctkDICOMTableView without underlying database and table name
+   * @param parent parentwidget
+   */
+  explicit ctkDICOMTableView(QWidget* parent = 0);
+  /**
    * ctor with tablename as parameter
    * @param parent the parent widget
    * @param queryTableName the name of the table of the ctkDICOMDatabase which shall be displayed
    */
-  explicit ctkDICOMTableView(QWidget* parent = 0, QString queryTableName = "Patients");
+  explicit ctkDICOMTableView(QString queryTableName = "Patients", QWidget* parent = 0);
 
   /**
    * ctor with tablename and database as parameter
@@ -59,7 +64,7 @@ public:
    * @param parent the parent widget
    * @param queryTableName the name of the table of the ctkDICOMDatabase which shall be displayed
    */
-  explicit ctkDICOMTableView (ctkDICOMDatabase* dicomDataBase, QWidget* parent = 0, QString queryTableName = "Patients");
+  explicit ctkDICOMTableView (ctkDICOMDatabase* dicomDataBase, QString queryTableName = "Patients", QWidget* parent = 0);
 
   virtual ~ctkDICOMTableView();