ladybird/Meta
Andreas Kling 822dc56ef3 LibGUI: Introduce GML - a simple GUI Markup Language :^)
This patch replaces the UI-from-JSON mechanism with a more
human-friendly DSL.

The current implementation simply converts the GML into a JSON object
that can be consumed by GUI::Widget::load_from_json(). The parser is
not very helpful if you make a mistake.

The language offers a very simple way to instantiate any registered
Core::Object class by simply saying @ClassName

@GUI::Label {
    text: "Hello friends!"
    tooltip: ":^)"
}

Layouts are Core::Objects and can be assigned to the "layout" property:

@GUI::Widget {
    layout: @GUI::VerticalBoxLayout {
        spacing: 2
        margins: [8, 8, 8, 8]
    }
}

And finally, child objects are simply nested within their parent:

@GUI::Widget {
    layout: @GUI::HorizontalBoxLayout {
    }
    @GUI::Button {
        text: "OK"
    }
    @GUI::Button {
        text: "Cancel"
    }
}

This feels a *lot* more pleasant to write than the JSON we had. The fact
that no new code was being written with the JSON mechanism was pretty
telling, so let's approach this with developer convenience in mind. :^)
2020-12-20 11:59:40 +01:00
..
CLion Toolchain: Upgrade to GCC 10.2.0 2020-10-12 19:53:25 +02:00
Lagom LibHTTP: Make HTTPRequest::from_raw_request() take a ReadonlyBytes 2020-12-19 18:29:13 +01:00
bochsrc Meta: move Kernel/.bochsrc => Meta/bochsrc 2020-07-01 12:53:39 +02:00
build-image-grub.sh Meta: Fix style of image building scripts 2020-07-28 19:09:44 +02:00
build-image-qemu.sh Build: Modify various parts to allow the build to succeed on FreeBSD 2020-10-20 14:40:47 +02:00
build-root-filesystem.sh Build: Build libgcc_s.so 2020-12-14 23:05:53 +01:00
check-debug-flags.sh Meta: Always check completeness of ALL_THE_DEBUG_MACROS 2020-12-01 11:06:53 +01:00
check-style.sh Meta: Fix wonky copyright headers in Tests 2020-09-05 14:19:38 +02:00
check-symbols.sh Everywhere: Fix more typos 2020-10-03 12:36:49 +02:00
debug-kernel.sh Build: Switch to CMake :^) 2020-05-14 20:15:18 +02:00
grub-ebr.cfg Kernel: Stop bootloader from setting video mode with Multiboot 2020-05-28 00:50:55 +02:00
grub-gpt.cfg Kernel: Stop bootloader from setting video mode with Multiboot 2020-05-28 00:50:55 +02:00
grub-mbr.cfg Kernel: Stop bootloader from setting video mode with Multiboot 2020-05-28 00:50:55 +02:00
lint-ci.sh Meta: Always check completeness of ALL_THE_DEBUG_MACROS 2020-12-01 11:06:53 +01:00
lint-clang-format.sh Meta: Nicer wording in lint 2020-12-01 11:06:53 +01:00
lint-executable-resources.sh Meta: Ensure that icons and other resources remain non-executable 2020-07-29 01:34:22 +02:00
lint-ipc-ids.sh Meta: Lint for duplicate endpoint IDs 2020-08-15 20:48:52 +02:00
lint-missing-resources.sh Meta: Find potentially missing resources 2020-07-29 01:34:22 +02:00
lint-shell-scripts.sh Meta: lint-shell-scripts: Exit if shellcheck is not installed 2020-11-01 10:29:33 +01:00
notify_irc.py Meta: Reduce IRC spam 2020-11-25 20:50:22 +01:00
refresh-serenity-qtcreator.sh LibGUI: Introduce GML - a simple GUI Markup Language :^) 2020-12-20 11:59:40 +01:00
run.sh Meta: Add env variable SERENITY_RUN to be able to choose qemu, bochs, etc 2020-09-19 00:33:02 +02:00
screenshot-000ccc0.png Meta: Update ReadMe with a new screenshot. :^) 2019-02-12 15:47:37 +01:00
screenshot-8ea4375.png Meta: Time for a new screenshot! :^) 2020-06-02 19:29:31 +02:00
screenshot-1133aca.png Meta: Time for a new screenshot (Quake edition) :^) 2019-11-06 21:51:33 +01:00
screenshot-9145a72.png Meta: Time for a new screnshot! :^) 2019-09-18 12:15:02 +02:00
screenshot-23263aa.png Meta: Update ReadMe with a new screenshot :^) 2019-02-27 13:17:43 +01:00
screenshot-191112e.png Meta: Time for a new screenshot to keep things fresh. :^) 2019-06-07 18:14:13 +02:00
screenshot-b5521e1.png Meta: Time for a new screenshot! :^) 2019-03-08 01:10:33 +01:00
screenshot-cdb82f6.png Meta: Tweak ReadMe and add a new screenshot. 2019-03-20 15:52:37 +01:00
screenshot-d727005.png Meta: Tweak ReadMe and add a new screenshot. 2019-04-30 15:27:35 +02:00
screenshot-ef9fbef.png Meta: Time for a new screenshot :^) 2019-04-06 01:31:12 +02:00
screenshot-f8fc892.png Add a little ReadMe. 2019-02-08 11:06:34 +01:00
text-to-cpp-string.sh Meta: Make the text-to-cpp-string thingy pass shellcheck 2020-09-14 16:33:53 +02:00
write-only-on-difference.sh Meta: Provide a way to only update a file if the output changes 2020-08-04 11:27:14 +02:00