Bladeren bron

m_dynamic layout is now in pimpl and has read accessor. Some code cleaning

Andreas Fetzer 11 jaren geleden
bovenliggende
commit
3debe33b06
2 gewijzigde bestanden met toevoegingen van 22 en 9 verwijderingen
  1. 13 4
      Libs/DICOM/Widgets/ctkDICOMTableManager.cpp
  2. 9 5
      Libs/DICOM/Widgets/ctkDICOMTableManager.h

+ 13 - 4
Libs/DICOM/Widgets/ctkDICOMTableManager.cpp

@@ -44,12 +44,15 @@ public:
   void setCTKDICOMDatabase(ctkDICOMDatabase *db);
 
   ctkDICOMDatabase* dicomDatabase;
+
+  bool m_DynamicLayout;
 };
 
 //------------------------------------------------------------------------------
 
 ctkDICOMTableManagerPrivate::ctkDICOMTableManagerPrivate(ctkDICOMTableManager &obj)
   : q_ptr(&obj)
+  , m_DynamicLayout(false)
 {
 
 }
@@ -115,7 +118,6 @@ void ctkDICOMTableManagerPrivate::setCTKDICOMDatabase(ctkDICOMDatabase* db)
 ctkDICOMTableManager::ctkDICOMTableManager(QWidget *parent)
   :Superclass(parent)
   , d_ptr(new ctkDICOMTableManagerPrivate(*this))
-  , m_DynamicLayout(false)
 {
   Q_D(ctkDICOMTableManager);
   d->init();
@@ -126,7 +128,6 @@ ctkDICOMTableManager::ctkDICOMTableManager(QWidget *parent)
 ctkDICOMTableManager::ctkDICOMTableManager(ctkDICOMDatabase *db, QWidget *parent)
   : Superclass(parent)
   , d_ptr(new ctkDICOMTableManagerPrivate(*this))
-  , m_DynamicLayout(false)
 {
   Q_D(ctkDICOMTableManager);
   d->init();
@@ -234,13 +235,21 @@ void ctkDICOMTableManager::onStudiesSelectionChanged(const QStringList &uids)
 
 void ctkDICOMTableManager::setDynamicTableLayout(bool dynamic)
 {
-  this->m_DynamicLayout = dynamic;
+  Q_D(ctkDICOMTableManager);
+  d->m_DynamicLayout = dynamic;
+}
+
+bool ctkDICOMTableManager::dynamicTableLayout()
+{
+  Q_D(ctkDICOMTableManager);
+  return d->m_DynamicLayout;
 }
 
 void ctkDICOMTableManager::resizeEvent(QResizeEvent *e)
 {
+  this->Superclass::resizeEvent(e);
   Q_D(ctkDICOMTableManager);
-  if (!m_DynamicLayout)
+  if (!d->m_DynamicLayout)
     return;
 
   if (e->size().width() == this->minimumWidth())

+ 9 - 5
Libs/DICOM/Widgets/ctkDICOMTableManager.h

@@ -44,7 +44,11 @@ class CTK_DICOM_WIDGETS_EXPORT ctkDICOMTableManager : public QWidget
     * Property for setting the table layout either to vertical or horizontal alignment
     */
   Q_PROPERTY(Qt::Orientation tableOrientation READ tableOrientation WRITE setTableOrientation)
-  Q_PROPERTY(bool m_DynamicLayout WRITE setDynamicTableLayout)
+  /**
+    * Property for setting a dynamic table layout which switches according to the current
+    * window size between vertical and horizontal layout
+    */
+  Q_PROPERTY(bool m_DynamicLayout READ dynamicTableLayout WRITE setDynamicTableLayout)
 
 public:
   typedef QWidget Superclass;
@@ -71,6 +75,7 @@ public:
   QStringList currentSeriesSelection();
 
   void setDynamicTableLayout(bool);
+  bool dynamicTableLayout();
 
 public Q_SLOTS:
 
@@ -92,13 +97,12 @@ Q_SIGNALS:
   void seriesDoubleClicked(const QModelIndex&);
 
 protected:
-  QScopedPointer<ctkDICOMTableManagerPrivate> d_ptr;
 
-private:
+  virtual void resizeEvent(QResizeEvent *);
 
-  void resizeEvent(QResizeEvent *);
+  QScopedPointer<ctkDICOMTableManagerPrivate> d_ptr;
 
-  bool m_DynamicLayout;
+private:
 
   Q_DECLARE_PRIVATE(ctkDICOMTableManager)
   Q_DISABLE_COPY(ctkDICOMTableManager)