瀏覽代碼

Finished tableview layout + cleanup

Andreas Fetzer 12 年之前
父節點
當前提交
39feae1c19
共有 2 個文件被更改,包括 48 次插入5 次删除
  1. 27 2
      Libs/DICOM/Widgets/Resources/UI/ctkDICOMTableView.ui
  2. 21 3
      Libs/DICOM/Widgets/ctkDICOMTableView.cpp

+ 27 - 2
Libs/DICOM/Widgets/Resources/UI/ctkDICOMTableView.ui

@@ -17,10 +17,35 @@
    <item>
     <layout class="QHBoxLayout" name="horizontalLayout">
      <item>
+      <widget class="QLabel" name="lblTableName">
+       <property name="text">
+        <string>TextLabel</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
       <widget class="QLineEdit" name="leSearchBox">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
        <property name="styleSheet">
-        <string notr="true">color: rgb(188, 188, 188);
-font: 14pt &quot;Lucida Grande&quot;;</string>
+        <string notr="true"/>
        </property>
        <property name="text">
         <string/>

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

@@ -26,7 +26,6 @@
 #include <QSqlQueryModel>
 #include <QSortFilterProxyModel>
 
-
 class ctkDICOMTableViewPrivate : public Ui_ctkDICOMTableView
 {
   Q_DECLARE_PUBLIC (ctkDICOMTableView)
@@ -42,6 +41,8 @@ public:
   void init();
   // Setup tableview with tablemodel if database is available
   void setUpTableView();
+  //Temporay solution to hide UID columns
+  void hideUIDColumns();
 
   QSharedPointer<ctkDICOMDatabase> DICOMDatabase;
   QSqlQueryModel DICOMSQLModel;
@@ -78,8 +79,8 @@ void ctkDICOMTableViewPrivate::init()
   this->tblDicomDatabaseView->setSelectionBehavior(QAbstractItemView::SelectRows);
   this->tblDicomDatabaseView->setSelectionMode(QAbstractItemView::ExtendedSelection);
   this->tblDicomDatabaseView->verticalHeader()->setHidden(true);
-//  this->tblDicomDatabaseView->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);
-  this->tblDicomDatabaseView->horizontalHeader()->adjustSize();
+  this->tblDicomDatabaseView->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);
+  this->tblDicomDatabaseView->horizontalHeader()->setStretchLastSection(true);
 
   if (this->DICOMDatabase)
   {
@@ -99,6 +100,8 @@ void ctkDICOMTableViewPrivate::setUpTableView()
     this->DICOMSQLFilterModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
     this->tblDicomDatabaseView->setModel(this->DICOMSQLFilterModel);
     this->tblDicomDatabaseView->setColumnHidden(0, true);
+    this->tblDicomDatabaseView->setSortingEnabled(true);
+    this->hideUIDColumns();
 
     QObject::connect(this->tblDicomDatabaseView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
                      q, SLOT(onSelectionChanged()));
@@ -108,6 +111,21 @@ void ctkDICOMTableViewPrivate::setUpTableView()
   }
 }
 
+//Temporay solution to hide UID columns
+void ctkDICOMTableViewPrivate::hideUIDColumns()
+{
+  int numberOfColumns = this->tblDicomDatabaseView->horizontalHeader()->count();
+  QString columnName = " ";
+  for (int i = 0; i < numberOfColumns; ++i)
+  {
+    columnName = this->tblDicomDatabaseView->model()->headerData(i, Qt::Horizontal).toString();
+    if (columnName.contains("UID"))
+    {
+      this->tblDicomDatabaseView->hideColumn(i);
+    }
+  }
+}
+
 //----------------------------------------------------------------------------
 // ctkDICOMTableView methods