Well I'll think about that Patreon thingie :)
@Dominik-Mayer: You don't need to require a Panel to have certain properties, just set it via scripting calls:
const var LinkPanel = Content.getComponent("LinkPanel");
LinkPanel.set("width", 100);
LinkPanel.set("height", 20);
LinkPanel.set("allowCallbacks", "Clicks only");
LinkPanel.setPaintRoutine(function(g)
{
g.setColour(Colours.cornflowerblue); // LOL
// This method is bad (it squashes the text if the height doesn't match...
//g.drawText("website.com", [0,0,100,15]);
// Use this method instead
g.drawAlignedText("website.com", [0, 0, this.getWidth(), this.getHeight()], "centred");
});
LinkPanel.setMouseCallback(function(event)
{
if (event.doubleClick)
Engine.openWebsite("http://www.rbemis.com/orange/index.html");
});