ソースを参照

Merge pull request #549 from laurennlam/add-setChecked-function-to-ctkButtonGroup

Add setChecked method to ctkButtonGroup
Julien Finet 10 年 前
コミット
ea04ccef9f
共有2 個のファイルを変更した23 個の追加0 個の削除を含む
  1. 19 0
      Libs/Widgets/ctkButtonGroup.cpp
  2. 4 0
      Libs/Widgets/ctkButtonGroup.h

+ 19 - 0
Libs/Widgets/ctkButtonGroup.cpp

@@ -47,6 +47,25 @@ ctkButtonGroup::ctkButtonGroup(QObject* _parent)
 }
 
 //------------------------------------------------------------------------------
+void ctkButtonGroup::setChecked(QAbstractButton* button, bool checked)
+{
+  if (!button)
+    {
+    return;
+    }
+  bool wasExclusive = this->exclusive();
+  if (!checked)
+    {
+    this->setExclusive(false);
+    }
+  button->setChecked(checked);
+  if (!checked)
+    {
+    this->setExclusive(wasExclusive);
+    }
+}
+
+//------------------------------------------------------------------------------
 ctkButtonGroup::~ctkButtonGroup()
 {
 }

+ 4 - 0
Libs/Widgets/ctkButtonGroup.h

@@ -53,6 +53,10 @@ public:
   explicit ctkButtonGroup(QObject *_parent = 0);
   virtual ~ctkButtonGroup();
 
+public Q_SLOTS:
+  /// Check or uncheck the button.
+  void setChecked(QAbstractButton* button, bool checked = true);
+
 protected Q_SLOTS:
   void onButtonClicked(int button);
   void onButtonPressed(int button);