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

LibGUI+LibCore: Move GML property system from LibCore to LibGUI

Since Core::Object properties are really only used by GML now that the
Inspector is long gone, there's no need for these to pollute
Core::Object.

This patch adds a new GUI::Object class to hold properties, and makes
it the new base class of GUI::Window, GUI::Widget and GUI::Layout.
The "instantiate an object by name" mechanism that GML uses is also
hoisted into GUI::Object as well.
This commit is contained in:
Andreas Kling 2023-08-06 15:14:59 +02:00
parent 9f6ceff7cf
commit 405187993a
19 changed files with 376 additions and 335 deletions

View file

@ -130,7 +130,7 @@ ErrorOr<void> ScrollableContainerWidget::load_from_gml_ast(NonnullRefPtr<GUI::GM
auto class_name = content_widget.name();
RefPtr<Core::Object> child;
if (auto* registration = Core::ObjectClassRegistration::find(class_name)) {
if (auto* registration = GUI::ObjectClassRegistration::find(class_name)) {
child = TRY(registration->construct());
} else {
child = TRY(unregistered_child_handler(class_name));