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