Getting started with UI elements and API documentation

I read through the manuals that come in the SDK virtual machine. I’ve managed to import a third party java library with maven into the HelloWorld example and it works (I might write a guide on that later as some of the helpful information was scattered between different topics on these forums). Now I’d like to get started with some prototyping of a URCap but I’m unclear on how GUI elements are created, which API is used.

For example, in the following code of the HelloWorld program node, how would I know that I can generate a popup message by writing the code _"appendLine("popup(_ ?
How do I know how to create labels, buttons, etc? For example in Java I would look up the documentation for swing. Of course, I’m not expecting the same level of depth and functionality as swing, but the URCap that I’d like to develop would have a good amount of user GUI interaction at runtime - simple actions like pressing buttons or inputting numbers in text fields, but I’m totally lost as to where I can find API documentation to get started.

@Override
public void generateScript(ScriptWriter writer) {
// Directly generate this Program Node’s popup message + access the popup title through a global variable
writer.appendLine(“popup(”" + generatePopupMessage() + “”, hello_world_popup_title, False, False, blocking=True)");
writer.writeChildren();
}

That’s because there is no GUI at run time. You can have a GUI at Installation screen and Program Nodes.
You create labels, inputs, buttons and so on with html markup and feed it into your Service class.
You can ask operator for string, float or integer with request_XXX_from_primary_client().

I see. Did some more reading, I understand the scope of these URCaps better now.
Thanks for the quick reply.