1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-15 09:04:59 +00:00
serenity/Base/usr/share/man/man5/GML-Link-widget.md
electrikmilk 58a865f349 Base+Manpages: Add basic GML documentation
First draft of GML documentation, just to get things started.
2022-03-03 14:59:00 -08:00

911 B

Name

Linking to GML widgets

Description

How to link to your GML widgets in C++

CMake

Include compile_gml() your applications CMake file.

compile_gml(YourGMLFile.gml MyGML.h my_gml)

Include the name of the header file that will be compiled from your GML file in your SOURCES.

set(SOURCES
    MyGML.h
)

C++

You can then reference the variable you set (e.g. calculator_gml) in your main C++ file using load_from_gml().

load_from_gml(my_gml);

From there, you can use find_descendant_of_type_named to select widgets from your GML from their name property.

@GUI::Button {
    name: "mem_add_button"
    text: "M+"
    fixed_width: 35
    fixed_height: 28
    foreground_color: "red"
}

Is referenced using...

load_from_gml(calculator_gml);
m_mem_add_button = *find_descendant_of_type_named<GUI::Button>("mem_add_button");