70 lines
2.1 KiB
Python
70 lines
2.1 KiB
Python
"""Shared LUI bootstrap and imports."""
|
|
|
|
import os
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
import panda3d.core as p3d
|
|
from panda3d.core import NodePath, CardMaker
|
|
from imgui_bundle import imgui, imgui_ctx
|
|
|
|
UI_DIR = Path(__file__).resolve().parents[1]
|
|
if str(UI_DIR) not in sys.path:
|
|
sys.path.insert(0, str(UI_DIR))
|
|
|
|
BUILTIN_DIR = UI_DIR / "Builtin"
|
|
if str(BUILTIN_DIR) not in sys.path:
|
|
sys.path.insert(0, str(BUILTIN_DIR))
|
|
|
|
import panda3d
|
|
panda_dir = os.path.dirname(panda3d.__file__)
|
|
if hasattr(os, "add_dll_directory"):
|
|
try:
|
|
os.add_dll_directory(panda_dir)
|
|
os.add_dll_directory(str(UI_DIR))
|
|
except Exception as e:
|
|
print(f"Warning: Failed to add DLL directory: {e}")
|
|
|
|
try:
|
|
import lui
|
|
panda3d.lui = lui
|
|
sys.modules["panda3d.lui"] = lui
|
|
|
|
from Builtin.LUIRegion import LUIRegion
|
|
from Builtin.LUIInputHandler import LUIInputHandler
|
|
from Builtin.LUIButton import LUIButton
|
|
from Builtin.LUILabel import LUILabel
|
|
from Builtin.LUIInputField import LUIInputField
|
|
from Builtin.LUISlider import LUISlider
|
|
from Builtin.LUIFrame import LUIFrame
|
|
from Builtin.LUISkin import LUIDefaultSkin
|
|
from Builtin.LUISprite import LUISprite
|
|
from Builtin.LUIObject import LUIObject
|
|
from Builtin.LUICheckbox import LUICheckbox
|
|
from Builtin.LUIProgressbar import LUIProgressbar
|
|
from Builtin.LUISelectbox import LUISelectbox
|
|
from Builtin.LUIScrollableRegion import LUIScrollableRegion
|
|
from Builtin.LUITabbedFrame import LUITabbedFrame
|
|
from Builtin.LUIVerticalLayout import LUIVerticalLayout
|
|
from Builtin.LUIHorizontalLayout import LUIHorizontalLayout
|
|
except ImportError as e:
|
|
print(f"Error: Failed to import LUI: {e}")
|
|
lui = None
|
|
LUIRegion = None
|
|
LUIInputHandler = None
|
|
LUIButton = None
|
|
LUILabel = None
|
|
LUIInputField = None
|
|
LUISlider = None
|
|
LUIFrame = None
|
|
LUIDefaultSkin = None
|
|
LUISprite = None
|
|
LUIObject = None
|
|
LUICheckbox = None
|
|
LUIProgressbar = None
|
|
LUISelectbox = None
|
|
LUIScrollableRegion = None
|
|
LUITabbedFrame = None
|
|
LUIVerticalLayout = None
|
|
LUIHorizontalLayout = None
|