add functionality to associate label with other widget as a "for" attribute of HTML <label> element
This commit is contained in:
parent
990de7867b
commit
80da9007ef
@ -65,6 +65,8 @@ namespace nana
|
|||||||
label& format(bool); ///< Switches the format mode of the widget.
|
label& format(bool); ///< Switches the format mode of the widget.
|
||||||
label& add_format_listener(std::function<void(command, const nana::string&)>);
|
label& add_format_listener(std::function<void(command, const nana::string&)>);
|
||||||
|
|
||||||
|
void relate(widget& w); // as same as the "for" attribute of a label
|
||||||
|
|
||||||
/// \briefReturn the size of the text. If *allowed_width_in_pixel* is not zero, returns a
|
/// \briefReturn the size of the text. If *allowed_width_in_pixel* is not zero, returns a
|
||||||
/// "corrected" size that changes lines to fit the text into the specified width
|
/// "corrected" size that changes lines to fit the text into the specified width
|
||||||
nana::size measure(unsigned allowed_width_in_pixel) const;
|
nana::size measure(unsigned allowed_width_in_pixel) const;
|
||||||
|
|||||||
@ -628,6 +628,8 @@ namespace nana
|
|||||||
nana::string target; //It indicates which target is tracing.
|
nana::string target; //It indicates which target is tracing.
|
||||||
nana::string url;
|
nana::string url;
|
||||||
|
|
||||||
|
widget * buddy {nullptr};
|
||||||
|
|
||||||
void add_listener(std::function<void(command, const nana::string&)>&& fn)
|
void add_listener(std::function<void(command, const nana::string&)>&& fn)
|
||||||
{
|
{
|
||||||
listener_.emplace_back(std::move(fn));
|
listener_.emplace_back(std::move(fn));
|
||||||
@ -740,6 +742,10 @@ namespace nana
|
|||||||
impl_->call_listener(command::click, impl_->target);
|
impl_->call_listener(command::click, impl_->target);
|
||||||
|
|
||||||
system::open_url(url);
|
system::open_url(url);
|
||||||
|
|
||||||
|
if (impl_->buddy) {
|
||||||
|
impl_->buddy->focus();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void trigger::refresh(graph_reference graph)
|
void trigger::refresh(graph_reference graph)
|
||||||
@ -821,6 +827,11 @@ namespace nana
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void label::relate(widget& w)
|
||||||
|
{
|
||||||
|
get_drawer_trigger().impl()->buddy = &w;
|
||||||
|
}
|
||||||
|
|
||||||
nana::size label::measure(unsigned limited) const
|
nana::size label::measure(unsigned limited) const
|
||||||
{
|
{
|
||||||
if(empty())
|
if(empty())
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user