1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 15:07:44 +00:00

LibGUI: Make GUI::TabWidget::add_tab<T>() return a T&

Since the newly constructed sub-widget is owned by the TabWidget,
we can simply return a T& here. :^)
This commit is contained in:
Andreas Kling 2020-04-04 11:10:07 +02:00
parent 37af1d74cc
commit 2463a285ee
6 changed files with 41 additions and 41 deletions

View file

@ -55,14 +55,14 @@ PropertiesDialog::PropertiesDialog(GUI::FileSystemModel& model, String path, boo
auto& tab_widget = main_widget.add<GUI::TabWidget>();
auto general_tab = tab_widget.add_tab<GUI::Widget>("General");
general_tab->set_layout<GUI::VerticalBoxLayout>();
general_tab->layout()->set_margins({ 12, 8, 12, 8 });
general_tab->layout()->set_spacing(10);
auto& general_tab = tab_widget.add_tab<GUI::Widget>("General");
general_tab.set_layout<GUI::VerticalBoxLayout>();
general_tab.layout()->set_margins({ 12, 8, 12, 8 });
general_tab.layout()->set_spacing(10);
general_tab->layout()->add_spacer();
general_tab.layout()->add_spacer();
auto& file_container = general_tab->add<GUI::Widget>();
auto& file_container = general_tab.add<GUI::Widget>();
file_container.set_layout<GUI::HorizontalBoxLayout>();
file_container.set_size_policy(GUI::SizePolicy::Fill, GUI::SizePolicy::Fixed);
file_container.layout()->set_spacing(20);
@ -129,7 +129,7 @@ PropertiesDialog::PropertiesDialog(GUI::FileSystemModel& model, String path, boo
make_permission_checkboxes(general_tab, { S_IRGRP, S_IWGRP, S_IXGRP }, "Group:", m_mode);
make_permission_checkboxes(general_tab, { S_IROTH, S_IWOTH, S_IXOTH }, "Others:", m_mode);
general_tab->layout()->add_spacer();
general_tab.layout()->add_spacer();
auto& button_widget = main_widget.add<GUI::Widget>();
button_widget.set_layout<GUI::HorizontalBoxLayout>();
@ -214,9 +214,9 @@ bool PropertiesDialog::apply_changes()
return true;
}
void PropertiesDialog::make_permission_checkboxes(NonnullRefPtr<GUI::Widget>& parent, PermissionMasks masks, String label_string, mode_t mode)
void PropertiesDialog::make_permission_checkboxes(GUI::Widget& parent, PermissionMasks masks, String label_string, mode_t mode)
{
auto& widget = parent->add<GUI::Widget>();
auto& widget = parent.add<GUI::Widget>();
widget.set_layout<GUI::HorizontalBoxLayout>();
widget.set_size_policy(GUI::SizePolicy::Fill, GUI::SizePolicy::Fixed);
widget.set_preferred_size(0, 16);

View file

@ -78,7 +78,7 @@ private:
GUI::Button& make_button(String, GUI::Widget& parent);
void make_divider(GUI::Widget& parent);
void make_property_value_pairs(const Vector<PropertyValuePair>& pairs, GUI::Widget& parent);
void make_permission_checkboxes(NonnullRefPtr<GUI::Widget>& parent, PermissionMasks, String label_string, mode_t mode);
void make_permission_checkboxes(GUI::Widget& parent, PermissionMasks, String label_string, mode_t mode);
void permission_changed(mode_t mask, bool set);
bool apply_changes();
void update();

View file

@ -122,9 +122,9 @@ int main(int argc, char** argv)
auto& tabwidget = keeper.add<GUI::TabWidget>();
auto process_container_splitter = tabwidget.add_tab<GUI::VerticalSplitter>("Processes");
auto& process_container_splitter = tabwidget.add_tab<GUI::VerticalSplitter>("Processes");
auto& process_table_container = process_container_splitter->add<GUI::Widget>();
auto& process_table_container = process_container_splitter.add<GUI::Widget>();
tabwidget.add_widget("Graphs", build_graphs_tab());
@ -228,18 +228,18 @@ int main(int argc, char** argv)
app.set_menubar(move(menubar));
auto& process_tab_widget = process_container_splitter->add<GUI::TabWidget>();
auto& process_tab_widget = process_container_splitter.add<GUI::TabWidget>();
auto memory_map_widget = process_tab_widget.add_tab<ProcessMemoryMapWidget>("Memory map");
auto open_files_widget = process_tab_widget.add_tab<ProcessFileDescriptorMapWidget>("Open files");
auto unveiled_paths_widget = process_tab_widget.add_tab<ProcessUnveiledPathsWidget>("Unveiled paths");
auto stacks_widget = process_tab_widget.add_tab<ProcessStacksWidget>("Stacks");
auto& memory_map_widget = process_tab_widget.add_tab<ProcessMemoryMapWidget>("Memory map");
auto& open_files_widget = process_tab_widget.add_tab<ProcessFileDescriptorMapWidget>("Open files");
auto& unveiled_paths_widget = process_tab_widget.add_tab<ProcessUnveiledPathsWidget>("Unveiled paths");
auto& stacks_widget = process_tab_widget.add_tab<ProcessStacksWidget>("Stacks");
process_table_view.on_process_selected = [&](pid_t pid) {
open_files_widget->set_pid(pid);
stacks_widget->set_pid(pid);
memory_map_widget->set_pid(pid);
unveiled_paths_widget->set_pid(pid);
open_files_widget.set_pid(pid);
stacks_widget.set_pid(pid);
memory_map_widget.set_pid(pid);
unveiled_paths_widget.set_pid(pid);
};
window->show();