Example #1
0
f = DemoFramework()
f.prepare_demo("LUILabel")

# Constructor

f.add_constructor_parameter("text", "Label")
f.add_constructor_parameter("shadow", "True")
f.add_constructor_parameter("font_size", "14")
f.add_constructor_parameter("font", "'label'")

# Functions
f.add_public_function("get_text", [], "string")
f.add_public_function("set_text", [("text", "string")])

f.add_property("text", "string")
f.add_property("text_handle", "LUIText")

# Events
f.construct_sourcecode("LUILabel")

# Create a new label
label = LUILabel(parent=f.get_widget_node(), text="This is a fancy label")

f.set_actions({
    "Set Random Text":
    lambda: label.set_text(str(random.randint(100, 10000))),
    "Set Random Color":
    lambda: label.set_color(random.random(), random.random(), random.random(),
                            1)
})
Example #2
0
import random

f = DemoFramework()
f.prepare_demo("LUICheckbox")

# Constructor
f.add_constructor_parameter("checked", "False")
f.add_constructor_parameter("label", "'Checkbox'")

# Functions
f.add_public_function("get_checked", [], "bool")
f.add_public_function("toggle_checked", [], "bool")
f.add_public_function("set_checked", [("checked", "bool")])
f.add_public_function("get_label", [], "UILabel")

f.add_property("checked", "bool")
f.add_property("label", "LUILabel")

# Events
f.add_event("changed")
f.construct_sourcecode("LUICheckbox")

# Create the checkbox
checkbox = LUICheckbox(parent=f.get_widget_node())

f.set_actions({
    "Set Checked":
    lambda: checkbox.set_checked(True),
    "Set Unchecked":
    lambda: checkbox.set_checked(False),
    "Toggle Checked":
Example #3
0
from DemoFramework import DemoFramework
from LUIInputField import LUIInputField

import random

f = DemoFramework()
f.prepare_demo("LUIInputField")

# Constructor
f.add_constructor_parameter("value", "u''")
f.add_constructor_parameter("placeholder", "u'Enter some text ..'")
f.add_property("value", "string")
f.add_event("changed")

# Construct source code
f.construct_sourcecode("LUIInputField")

# Create 2 new buttons, and store them in a vertical layout
field = LUIInputField(parent=f.get_widget_node())

f.set_actions({
        "Set Random Text": lambda: field.set_value(u"Text: " + unicode(random.randint(100, 10000000))),
        "Clear": lambda: field.clear(),
    })

run()
Example #4
0
import random

f = DemoFramework()
f.prepare_demo("LUIRadiobox")

# Constructor
f.add_constructor_parameter("group", "None")
f.add_constructor_parameter("value", "None")
f.add_constructor_parameter("label", "'Radiobox'")

# Functions
f.add_public_function("get_value", [], "object")
f.add_public_function("get_label", [], "LUILabel")
f.add_public_function("set_active", [], "void")

f.add_property("value", "object")
f.add_property("label", "LUILabel")

# Events
f.add_event("changed")
f.construct_sourcecode("LUIRadiobox")

# Create a group to connect the boxes
group = LUIRadioboxGroup()

# Create a layout for the boxes
grid = LUIVerticalLayout(parent=f.get_widget_node(), spacing=5)

# Create the boxes
boxes = []
for i in range(1, 4):
Example #5
0
from LUILabel import LUILabel
from panda3d.lui import LUIVerticalLayout

import random

f = DemoFramework()
f.prepare_demo("LUIProgressbar")

# Constructor
f.add_constructor_parameter("show_label", "False")

# Functions
f.add_public_function("get_value", [], "float")
f.add_public_function("set_value", [("value", "float")])

f.add_property("value", "float")

# Events
f.construct_sourcecode("LUIProgressbar")

# Create the checkbox
layout = LUIVerticalLayout(parent=f.get_widget_node(), spacing=10)

LUILabel(parent=layout.cell(),
         text="This is a progressbar:",
         color=(1, 1, 1, 0.4))
bar = LUIProgressbar(parent=layout.cell(), width=200.0)

LUILabel(parent=layout.cell(),
         text="You can control it with this slider:",
         color=(1, 1, 1, 0.4))
Example #6
0
f.prepare_demo("LUIBlockText")

# Constructor

f.add_constructor_parameter("text", "u'Label'")
f.add_constructor_parameter("shadow", "True")
f.add_constructor_parameter("font_size", "14")
f.add_constructor_parameter("font", "'label'")

# Functions
f.add_public_function("clear", [])
f.add_public_function("set_text", [("text", "string")])
f.add_public_function("set_wrap", [("wrap", "boolean")])
f.add_public_function("set_width", [("width", "integer")])

f.add_property("labels", "list")

# Events
f.construct_sourcecode("LUIBlockText")

text_container = LUIScrollableRegion(
    parent=f.get_widget_node(),
    width=340,
    height=190,
    padding=0,
)

#TODO: Support newline through charcode 10
#TODO: If space causes next line, dont print it

# Create a new label
Example #7
0
import random

f = DemoFramework()
f.prepare_demo("LUISlider")

# Constructor
f.add_constructor_parameter("filled", "False")
f.add_constructor_parameter("min_value", "0.0")
f.add_constructor_parameter("max_value", "0.0")
f.add_constructor_parameter("value", "None")

# Functions
f.add_public_function("get_value", [], "float")
f.add_public_function("set_value", [("value", "float")])

f.add_property("value", "float")

# Events
f.add_event("changed")
f.construct_sourcecode("LUISlider")

# Create the checkbox
layout = LUIVerticalLayout(parent=f.get_widget_node(), spacing=10)

LUILabel(parent=layout.cell(), text="This is a filled slider:", color=(1, 1, 1, 0.4))
slider = LUISlider(parent=layout.cell(), width=200.0)

LUILabel(parent=layout.cell(), text="This is a regular slider:", color=(1, 1, 1, 0.4))
slider_nofill = LUISlider(parent=layout.cell(), width=200.0, filled=False)

f.set_actions({
Example #8
0
from LUIButton import LUIButton
from LUIHorizontalLayout import LUIHorizontalLayout

import random

f = DemoFramework()
f.prepare_demo("LUIButton")

# Constructor
f.add_constructor_parameter("text", "u'Button'")
f.add_constructor_parameter("template", "'ButtonDefault'")

# Functions
f.add_public_function("set_text", [("text", "string")])
f.add_public_function("get_text", [], "string")
f.add_property("text", "string")

# Construct source code
f.construct_sourcecode("LUIButton")

# Create 2 new buttons, and store them in a vertical layout
layout = LUIHorizontalLayout(parent=f.get_widget_node(), spacing=10)

button1 = LUIButton(text="Do not click me")
button2 = LUIButton(text="Instead click me", template="ButtonGreen")

layout.add(button1)
layout.add(button2)

f.set_actions({
        "Set Random Text": lambda: button1.set_text("Text: " + str(random.randint(100, 10000000))),
Example #9
0
from LUIButton import LUIButton
from LUIHorizontalLayout import LUIHorizontalLayout

import random

f = DemoFramework()
f.prepare_demo("LUIButton")

# Constructor
f.add_constructor_parameter("text", "u'Button'")
f.add_constructor_parameter("template", "'ButtonDefault'")

# Functions
f.add_public_function("set_text", [("text", "string")])
f.add_public_function("get_text", [], "string")
f.add_property("text", "string")

# Construct source code
f.construct_sourcecode("LUIButton")

# Create 2 new buttons, and store them in a vertical layout
layout = LUIHorizontalLayout(parent=f.get_widget_node(), spacing=10)

button1 = LUIButton(text="Do not click me")
button2 = LUIButton(text="Instead click me", template="ButtonGreen")

layout.add(button1)
layout.add(button2)

f.set_actions({
        "Set Random Text": lambda: button1.set_text(u"Text: " + unicode(random.randint(100, 10000000))),
Example #10
0
f = DemoFramework()
f.prepare_demo("LUILabel")

# Constructor

f.add_constructor_parameter("text", "u'Label'")
f.add_constructor_parameter("shadow", "True")
f.add_constructor_parameter("font_size", "14")
f.add_constructor_parameter("font", "'label'")

# Functions
f.add_public_function("get_text", [], "string")
f.add_public_function("set_text", [("text", "string")])

f.add_property("text", "string")
f.add_property("text_handle", "LUIText")

# Events
f.construct_sourcecode("LUILabel")

# Create a new label
label = LUILabel(parent=f.get_widget_node(), text="This is a fancy label")

f.set_actions({
        "Set Random Text": lambda: label.set_text(unicode(random.randint(100, 10000))),
        "Set Random Color": lambda: label.set_color(random.random(), random.random(), random.random(), 1)
    })

run()
Example #11
0
import random

f = DemoFramework()
f.prepare_demo("LUICheckbox")

# Constructor
f.add_constructor_parameter("checked", "False")
f.add_constructor_parameter("label", "'Checkbox'")

# Functions
f.add_public_function("get_checked", [], "bool")
f.add_public_function("toggle_checked", [], "bool")
f.add_public_function("set_checked", [("checked", "bool")])
f.add_public_function("get_label", [], "UILabel")

f.add_property("checked", "bool")
f.add_property("label", "LUILabel")

# Events
f.add_event("changed")
f.construct_sourcecode("LUICheckbox")

# Create the checkbox
checkbox = LUICheckbox(parent=f.get_widget_node())

f.set_actions(
    {
        "Set Checked": lambda: checkbox.set_checked(True),
        "Set Unchecked": lambda: checkbox.set_checked(False),
        "Toggle Checked": lambda: checkbox.toggle_checked(),
        "Set Random Text": lambda: checkbox.get_label().set_text(u"Text: " + unicode(random.randint(100, 10000))),
Example #12
0
f.prepare_demo("LUIBlockText")

# Constructor

f.add_constructor_parameter("text", "u'Label'")
f.add_constructor_parameter("shadow", "True")
f.add_constructor_parameter("font_size", "14")
f.add_constructor_parameter("font", "'label'")

# Functions
f.add_public_function("clear", [])
f.add_public_function("set_text", [("text", "string")])
f.add_public_function("set_wrap", [("wrap", "boolean")])
f.add_public_function("set_width", [("width", "integer")])

f.add_property("labels", "list")

# Events
f.construct_sourcecode("LUIBlockText")

text_container = LUIScrollableRegion(
	parent=f.get_widget_node(),
	width=340,
	height=190,
    padding=0,
)

#TODO: Support newline through charcode 10
#TODO: If space causes next line, dont print it

# Create a new label