1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:28:11 +00:00

LibCore: Make Core::Object::add<ChildType> return a ChildType&

Since the returned object is now owned by the callee object, we can
simply vend a ChildType&. This allows us to use "." instead of "->"
at the call site, which is quite nice. :^)
This commit is contained in:
Andreas Kling 2020-03-04 19:07:55 +01:00
parent fb09b6a8ce
commit 028c011760
46 changed files with 1035 additions and 1039 deletions

View file

@ -53,74 +53,74 @@ int main(int argc, char** argv)
main_widget.set_layout<GUI::VerticalBoxLayout>();
main_widget.layout()->set_margins({ 4, 4, 4, 4 });
auto checkbox1 = main_widget.add<GUI::CheckBox>("GCheckBox 1");
auto& checkbox1 = main_widget.add<GUI::CheckBox>("GCheckBox 1");
(void)checkbox1;
auto checkbox2 = main_widget.add<GUI::CheckBox>("GCheckBox 2");
checkbox2->set_enabled(false);
auto& checkbox2 = main_widget.add<GUI::CheckBox>("GCheckBox 2");
checkbox2.set_enabled(false);
auto radio1 = main_widget.add<GUI::RadioButton>("GRadioButton 1");
auto& radio1 = main_widget.add<GUI::RadioButton>("GRadioButton 1");
(void)radio1;
auto radio2 = main_widget.add<GUI::RadioButton>("GRadioButton 2");
radio2->set_enabled(false);
auto& radio2 = main_widget.add<GUI::RadioButton>("GRadioButton 2");
radio2.set_enabled(false);
auto button1 = main_widget.add<GUI::Button>("GButton 1");
auto& button1 = main_widget.add<GUI::Button>("GButton 1");
(void)button1;
auto button2 = main_widget.add<GUI::Button>("GButton 2");
button2->set_enabled(false);
auto& button2 = main_widget.add<GUI::Button>("GButton 2");
button2.set_enabled(false);
auto progress1 = main_widget.add<GUI::ProgressBar>();
auto timer = progress1->add<Core::Timer>(100, [&] {
progress1->set_value(progress1->value() + 1);
if (progress1->value() == progress1->max())
progress1->set_value(progress1->min());
auto& progress1 = main_widget.add<GUI::ProgressBar>();
progress1.add<Core::Timer>(100, [&] {
progress1.set_value(progress1.value() + 1);
if (progress1.value() == progress1.max())
progress1.set_value(progress1.min());
});
auto label1 = main_widget.add<GUI::Label>("GLabel 1");
auto& label1 = main_widget.add<GUI::Label>("GLabel 1");
(void)label1;
auto label2 = main_widget.add<GUI::Label>("GLabel 2");
label2->set_enabled(false);
auto& label2 = main_widget.add<GUI::Label>("GLabel 2");
label2.set_enabled(false);
auto textbox1 = main_widget.add<GUI::TextBox>();
textbox1->set_text("GTextBox 1");
auto textbox2 = main_widget.add<GUI::TextBox>();
textbox2->set_text("GTextBox 2");
textbox2->set_enabled(false);
auto& textbox1 = main_widget.add<GUI::TextBox>();
textbox1.set_text("GTextBox 1");
auto& textbox2 = main_widget.add<GUI::TextBox>();
textbox2.set_text("GTextBox 2");
textbox2.set_enabled(false);
auto spinbox1 = main_widget.add<GUI::SpinBox>();
auto& spinbox1 = main_widget.add<GUI::SpinBox>();
(void)spinbox1;
auto spinbox2 = main_widget.add<GUI::SpinBox>();
spinbox2->set_enabled(false);
auto& spinbox2 = main_widget.add<GUI::SpinBox>();
spinbox2.set_enabled(false);
auto vertical_slider_container = main_widget.add<GUI::Widget>();
vertical_slider_container->set_size_policy(GUI::SizePolicy::Fill, GUI::SizePolicy::Fixed);
vertical_slider_container->set_preferred_size(0, 100);
vertical_slider_container->set_layout<GUI::HorizontalBoxLayout>();
auto vslider1 = vertical_slider_container->add<GUI::VerticalSlider>();
auto& vertical_slider_container = main_widget.add<GUI::Widget>();
vertical_slider_container.set_size_policy(GUI::SizePolicy::Fill, GUI::SizePolicy::Fixed);
vertical_slider_container.set_preferred_size(0, 100);
vertical_slider_container.set_layout<GUI::HorizontalBoxLayout>();
auto& vslider1 = vertical_slider_container.add<GUI::VerticalSlider>();
(void)vslider1;
auto vslider2 = vertical_slider_container->add<GUI::VerticalSlider>();
vslider2->set_enabled(false);
auto vslider3 = vertical_slider_container->add<GUI::VerticalSlider>();
vslider3->set_max(5);
vslider3->set_knob_size_mode(GUI::Slider::KnobSizeMode::Proportional);
auto& vslider2 = vertical_slider_container.add<GUI::VerticalSlider>();
vslider2.set_enabled(false);
auto& vslider3 = vertical_slider_container.add<GUI::VerticalSlider>();
vslider3.set_max(5);
vslider3.set_knob_size_mode(GUI::Slider::KnobSizeMode::Proportional);
auto slider1 = main_widget.add<GUI::HorizontalSlider>();
auto& slider1 = main_widget.add<GUI::HorizontalSlider>();
(void)slider1;
auto slider2 = main_widget.add<GUI::HorizontalSlider>();
slider2->set_enabled(false);
auto slider3 = main_widget.add<GUI::HorizontalSlider>();
slider3->set_max(5);
slider3->set_knob_size_mode(GUI::Slider::KnobSizeMode::Proportional);
auto& slider2 = main_widget.add<GUI::HorizontalSlider>();
slider2.set_enabled(false);
auto& slider3 = main_widget.add<GUI::HorizontalSlider>();
slider3.set_max(5);
slider3.set_knob_size_mode(GUI::Slider::KnobSizeMode::Proportional);
auto scrollbar1 = main_widget.add<GUI::ScrollBar>(Orientation::Horizontal);
scrollbar1->set_size_policy(GUI::SizePolicy::Fill, GUI::SizePolicy::Fixed);
scrollbar1->set_preferred_size(0, 16);
scrollbar1->set_min(0);
scrollbar1->set_max(100);
scrollbar1->set_value(50);
auto scrollbar2 = main_widget.add<GUI::ScrollBar>(Orientation::Horizontal);
scrollbar2->set_size_policy(GUI::SizePolicy::Fill, GUI::SizePolicy::Fixed);
scrollbar2->set_preferred_size(0, 16);
scrollbar2->set_enabled(false);
auto& scrollbar1 = main_widget.add<GUI::ScrollBar>(Orientation::Horizontal);
scrollbar1.set_size_policy(GUI::SizePolicy::Fill, GUI::SizePolicy::Fixed);
scrollbar1.set_preferred_size(0, 16);
scrollbar1.set_min(0);
scrollbar1.set_max(100);
scrollbar1.set_value(50);
auto& scrollbar2 = main_widget.add<GUI::ScrollBar>(Orientation::Horizontal);
scrollbar2.set_size_policy(GUI::SizePolicy::Fill, GUI::SizePolicy::Fixed);
scrollbar2.set_preferred_size(0, 16);
scrollbar2.set_enabled(false);
window->show();