52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
import vpsdk.vpui as vpui
|
|
import vpsdk.window as window
|
|
import vpsdk.process as process
|
|
import vpsdk.dynlib as dynlib
|
|
from stdint import *
|
|
import t, c
|
|
|
|
@c.Attribute(t.attr.section(".text.startup"), t.attr.aligned(16))
|
|
def _start() -> t.CInt | t.CExport:
|
|
base: t.CUInt64T = dynlib.load_so("/LIBS/SLOG.SO")
|
|
if base != 0:
|
|
dynlib.so_call1("log_info", "Hello from dynamic library!")
|
|
|
|
root: vpui.Tk = vpui.Tk()
|
|
root.title("Input Demo")
|
|
root.set_style(window.STYLE_WIN7)
|
|
root.geometry(290, 30, 300, 200)
|
|
root.bg_color = t.CUInt32T(0x1E1E32)
|
|
master: vpui.Tk | t.CPtr = c.Addr(root)
|
|
|
|
entry: vpui.Entry = vpui.Entry(master, 260, 28)
|
|
root.pack(0, vpui.PACK_TOP, vpui.FILL_X, 0, 20, 10)
|
|
result: vpui.Label = vpui.Label(master, "", t.CUInt32T(0x00FF00))
|
|
root.pack(1, vpui.PACK_BOTTOM, 0, 0, 0, 10)
|
|
|
|
def _on_submit() -> t.CInt:
|
|
text: t.CConst | str = entry.get()
|
|
result.config(text)
|
|
entry.delete(0, -1)
|
|
return 0
|
|
|
|
lbl: vpui.Label = vpui.Label(master, "Name:", 0xFFFFFFFF)
|
|
root.pack(2, vpui.PACK_TOP, 0, 0, 20, 0)
|
|
btn: vpui.Button = vpui.Button(master, 100, 36, "Submit", c.Addr(_on_submit))
|
|
root.pack(3, vpui.PACK_TOP, 0, 0, 0, 10)
|
|
|
|
root2: vpui.Tk = vpui.Tk()
|
|
root2.title("Test No-Resp")
|
|
root2.set_style(window.STYLE_WIN10)
|
|
root2.geometry(200, 50, 300, 150)
|
|
root2.bg_color = t.CUInt32T(0x1E1E32)
|
|
master2: vpui.Tk | t.CPtr = c.Addr(root2)
|
|
|
|
lbl2: vpui.Label = vpui.Label(master2, "This window will NOT respond!", 0xFFFFFFFF)
|
|
lbl2.place(10, 10)
|
|
|
|
root2.update()
|
|
|
|
root.mainloop()
|
|
process.exit(0)
|
|
return 0
|