From 92c3fca0bb71b84449b4916d7506923ca9da3001 Mon Sep 17 00:00:00 2001 From: Angus Leeming Date: Thu, 28 Aug 2003 08:48:03 +0000 Subject: [PATCH] Add a couple of new functions. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7625 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/xforms/ChangeLog | 5 +++++ src/frontends/xforms/RadioButtonGroup.C | 26 +++++++++++++++++++++++++ src/frontends/xforms/RadioButtonGroup.h | 5 +++++ 3 files changed, 36 insertions(+) diff --git a/src/frontends/xforms/ChangeLog b/src/frontends/xforms/ChangeLog index e4f1184eda..2b7da9fd7a 100644 --- a/src/frontends/xforms/ChangeLog +++ b/src/frontends/xforms/ChangeLog @@ -1,3 +1,8 @@ +2003-08-28 Angus Leeming + + * RadioButtonGroup.[Ch] (unset, setEnabled): new functions extending + the class' functionality. + 2003-08-23 Rob Lahaye * FormShowFile.C (build): Remove redundant "LyX:" string from title. diff --git a/src/frontends/xforms/RadioButtonGroup.C b/src/frontends/xforms/RadioButtonGroup.C index c22917fc4d..a12937aca0 100644 --- a/src/frontends/xforms/RadioButtonGroup.C +++ b/src/frontends/xforms/RadioButtonGroup.C @@ -14,6 +14,7 @@ #include "RadioButtonGroup.h" #include "lyx_forms.h" +#include "xforms_helpers.h" #include "support/LAssert.h" #include "debug.h" // for lyxerr @@ -83,6 +84,21 @@ struct is_set_button { }; +void RadioButtonGroup::unset() const +{ + // Find the active button. + ButtonValueMap::const_iterator it = + find_if(map.begin(), map.end(), + is_set_button ()); + + if (it == map.end()) + // Nothing to do. No button is set. + return; + + fl_set_button(it->first, 0); +} + + RadioButtonGroup::size_type RadioButtonGroup::get() const { // Find the active button. @@ -97,3 +113,13 @@ RadioButtonGroup::size_type RadioButtonGroup::get() const lyxerr << "BUG: No active radio button found." << endl; return 0; } + + +void RadioButtonGroup::setEnabled(bool enable) +{ + ButtonValueMap::iterator it = map.begin(); + ButtonValueMap::iterator end = map.end(); + for (; it != end; ++it) { + ::setEnabled(it->first, enable); + } +} diff --git a/src/frontends/xforms/RadioButtonGroup.h b/src/frontends/xforms/RadioButtonGroup.h index b05cc063e8..5fc6b1ed4d 100644 --- a/src/frontends/xforms/RadioButtonGroup.h +++ b/src/frontends/xforms/RadioButtonGroup.h @@ -41,9 +41,14 @@ public: void set(size_type value) const; void set(FL_OBJECT * ob) const; + // None of the radiobuttons are set. + void unset() const; + // Get the active button's value. size_type get() const; + void setEnabled(bool enabled); + private: /// typedef std::pair ButtonValuePair; -- 2.39.2