瀏覽代碼

ENH: Expose ctkDynamicSpacer::activate property, this allows to define a

default behavior from the Qt Designer (useful when the active/inactive are
inverted).
Julien Finet 15 年之前
父節點
當前提交
27c29ff2e6
共有 2 個文件被更改,包括 17 次插入1 次删除
  1. 11 0
      Libs/Widgets/ctkDynamicSpacer.cpp
  2. 6 1
      Libs/Widgets/ctkDynamicSpacer.h

+ 11 - 0
Libs/Widgets/ctkDynamicSpacer.cpp

@@ -18,6 +18,9 @@
  
 =========================================================================*/
 
+// Qt includes
+#include <QDebug>
+
 // CTK includes
 #include "ctkDynamicSpacer.h"
 
@@ -98,9 +101,17 @@ void ctkDynamicSpacer::setInactiveSizePolicy(QSizePolicy newInactiveSizePolicy)
 }
 
 // -----------------------------------------------------------------------------
+bool ctkDynamicSpacer::isActivated()const
+{
+  CTK_D(const ctkDynamicSpacer);
+  return d->Enable;
+}
+
+// -----------------------------------------------------------------------------
 void ctkDynamicSpacer::activate(bool enableSizePolicy)
 {
   CTK_D(ctkDynamicSpacer);
+  qDebug() << "Activate " << enableSizePolicy << (enableSizePolicy ? "Active" : "Inactive") << "size policy";
   d->Enable = enableSizePolicy;
   this->setSizePolicy(
     d->Enable ? d->ActiveSizePolicy : d->InactiveSizePolicy);

+ 6 - 1
Libs/Widgets/ctkDynamicSpacer.h

@@ -38,7 +38,7 @@ class CTK_WIDGETS_EXPORT ctkDynamicSpacer : public QWidget
   Q_OBJECT
   Q_PROPERTY(QSizePolicy activeSizePolicy READ activeSizePolicy WRITE setActiveSizePolicy);
   Q_PROPERTY(QSizePolicy inactiveSizePolicy READ inactiveSizePolicy WRITE setInactiveSizePolicy);
-
+  Q_PROPERTY(bool activate READ isActivated WRITE activate);
 public:
   /// Constructor, builds a ctkDynamicSpacer, inactive by default
   ctkDynamicSpacer(QWidget *parent = 0);
@@ -54,6 +54,11 @@ public:
   void setInactiveSizePolicy(QSizePolicy sizePolicy);
   inline void setInactiveSizePolicy(QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical);
 
+  /// Return the what size policy is current:
+  /// false is inactive Size Policy that is current
+  /// true is active SizePolicy that is current
+  bool isActivated()const;
+
 public slots:
   /// Change the size policy. If enable is true, activeSizePolicy is used,
   /// inactiveSizePolicy otherwise