Merge branch 'JamesBremner-develop' into develop

This commit is contained in:
Jinhao 2018-12-04 04:42:37 +08:00
commit 335ccc3488
2 changed files with 19 additions and 6 deletions

View File

@ -3,8 +3,8 @@
* Nana C++ Library(http://www.nanaro.org) * Nana C++ Library(http://www.nanaro.org)
* Copyright(C) 2015-2018 Jinhao(cnjinhao@hotmail.com) * Copyright(C) 2015-2018 Jinhao(cnjinhao@hotmail.com)
* *
* Distributed under the Boost Software License, Version 1.0. * Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at * (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt) * http://www.boost.org/LICENSE_1_0.txt)
* *
* @file: nana/gui/widgets/group.hpp * @file: nana/gui/widgets/group.hpp
@ -71,9 +71,16 @@ namespace nana{
/// Enables/disables the radio mode which is single selection /// Enables/disables the radio mode which is single selection
group& radio_mode(bool); group& radio_mode(bool);
/// Returns the index of option in radio_mode, it throws a logic_error if radio_mode is false. /// Returns the index of selected option in radio_mode, it throws a logic_error if radio_mode is false.
std::size_t option() const; std::size_t option() const;
/** Set check/unchecked status of specified option
@param[in] pos zero-based index of option to set
@param[in] check status required, defaults to checked
throws an out_of_range if !(pos < number of options)
*/
void option_check( std::size_t pos, bool check = true );
/// Determines whether a specified option is checked, it throws an out_of_range if !(pos < number of options) /// Determines whether a specified option is checked, it throws an out_of_range if !(pos < number of options)
bool option_checked(std::size_t pos) const; bool option_checked(std::size_t pos) const;

View File

@ -3,8 +3,8 @@
* Nana C++ Library(http://www.nanaro.org) * Nana C++ Library(http://www.nanaro.org)
* Copyright(C) 2015-2018 Jinhao(cnjinhao@hotmail.com) * Copyright(C) 2015-2018 Jinhao(cnjinhao@hotmail.com)
* *
* Distributed under the Boost Software License, Version 1.0. * Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at * (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt) * http://www.boost.org/LICENSE_1_0.txt)
* *
* @file: nana/gui/widgets/group.cpp * @file: nana/gui/widgets/group.cpp
@ -14,7 +14,7 @@
* @brief group is a widget used to visually group and layout other widgets. * @brief group is a widget used to visually group and layout other widgets.
* *
* @contributor: * @contributor:
* dankan1890(https://github.com/dankan1890) * dankan1890(https://github.com/dankan1890)
*/ */
@ -197,6 +197,12 @@ namespace nana{
throw std::logic_error("the radio_mode of the group is disabled"); throw std::logic_error("the radio_mode of the group is disabled");
} }
void group::option_check( std::size_t pos, bool check )
{
_THROW_IF_EMPTY();
return impl_->options.at(pos)->check( check );
}
bool group::option_checked(std::size_t pos) const bool group::option_checked(std::size_t pos) const
{ {
_THROW_IF_EMPTY(); _THROW_IF_EMPTY();