layout: remove widget by raw ptr
This commit is contained in:
parent
d5b59a67ac
commit
59d4612a61
|
@ -47,9 +47,14 @@ namespace bwidgets
|
|||
}
|
||||
|
||||
void remove_widget(const std::shared_ptr<Widget>& widget) override
|
||||
{
|
||||
remove_widget(widget.get());
|
||||
}
|
||||
|
||||
void remove_widget(const Widget* widget) override
|
||||
{
|
||||
for (auto i = _widgets.cbegin(); i != _widgets.cend(); i++) {
|
||||
if (*i == widget) {
|
||||
if ((*i).get() == widget) {
|
||||
_widgets.erase(i);
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -16,6 +16,7 @@ namespace bwidgets
|
|||
virtual void for_widgets(const std::function<void(Widget*)>&) = 0;
|
||||
virtual void for_widgets(const std::function<void(const Widget*)>&) const = 0;
|
||||
virtual void remove_widget(const std::shared_ptr<Widget>&) = 0;
|
||||
virtual void remove_widget(const Widget*) = 0;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue