mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-30 08:41:15 +00:00
LibGUI: Make GUI::TabWidget tab creation APIs take String
Ultimately we'd like the caller to provide a String if possible (instead of a StringView) as we're going to end up storing it.
This commit is contained in:
parent
8a11e986e5
commit
8359975ff3
Notes:
sideshowbarker
2024-07-18 00:36:18 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/8359975ff37
|
@ -44,9 +44,9 @@ TabWidget::~TabWidget()
|
|||
{
|
||||
}
|
||||
|
||||
ErrorOr<void> TabWidget::try_add_widget(StringView title, Widget& widget)
|
||||
ErrorOr<void> TabWidget::try_add_widget(String title, Widget& widget)
|
||||
{
|
||||
m_tabs.append({ title, nullptr, &widget });
|
||||
m_tabs.append({ move(title), nullptr, &widget });
|
||||
add_child(widget);
|
||||
update_focus_policy();
|
||||
if (on_tab_count_change)
|
||||
|
@ -54,9 +54,9 @@ ErrorOr<void> TabWidget::try_add_widget(StringView title, Widget& widget)
|
|||
return {};
|
||||
}
|
||||
|
||||
void TabWidget::add_widget(StringView title, Widget& widget)
|
||||
void TabWidget::add_widget(String title, Widget& widget)
|
||||
{
|
||||
MUST(try_add_widget(title, widget));
|
||||
MUST(try_add_widget(move(title), widget));
|
||||
}
|
||||
|
||||
void TabWidget::remove_widget(Widget& widget)
|
||||
|
|
|
@ -36,24 +36,24 @@ public:
|
|||
GUI::Margins const& container_margins() const { return m_container_margins; }
|
||||
void set_container_margins(GUI::Margins const&);
|
||||
|
||||
ErrorOr<void> try_add_widget(StringView, Widget&);
|
||||
ErrorOr<void> try_add_widget(String, Widget&);
|
||||
|
||||
void add_widget(StringView, Widget&);
|
||||
void add_widget(String, Widget&);
|
||||
void remove_widget(Widget&);
|
||||
|
||||
template<class T, class... Args>
|
||||
ErrorOr<NonnullRefPtr<T>> try_add_tab(StringView title, Args&&... args)
|
||||
ErrorOr<NonnullRefPtr<T>> try_add_tab(String title, Args&&... args)
|
||||
{
|
||||
auto t = TRY(T::try_create(forward<Args>(args)...));
|
||||
TRY(try_add_widget(title, *t));
|
||||
TRY(try_add_widget(move(title), *t));
|
||||
return *t;
|
||||
}
|
||||
|
||||
template<class T, class... Args>
|
||||
T& add_tab(StringView title, Args&&... args)
|
||||
T& add_tab(String title, Args&&... args)
|
||||
{
|
||||
auto t = T::construct(forward<Args>(args)...);
|
||||
add_widget(title, *t);
|
||||
add_widget(move(title), *t);
|
||||
return *t;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue