diff --git a/Builtin/GenerateAtlas.bat b/Builtin/GenerateAtlas.bat deleted file mode 100644 index d820b0d..0000000 --- a/Builtin/GenerateAtlas.bat +++ /dev/null @@ -1,5 +0,0 @@ -@echo off - -cd res -ppython ../../Misc/LUIAtlasGen.py -pause diff --git a/Builtin/LUISkin.py b/Builtin/LUISkin.py index 373ad8a..fbfd787 100644 --- a/Builtin/LUISkin.py +++ b/Builtin/LUISkin.py @@ -29,7 +29,7 @@ class LUIDefaultSkin(LUISkin): """ The default skin which comes with LUI """ - skin_location = os.path.dirname(os.path.abspath(__file__)) + skin_location = os.path.join(os.path.dirname(os.path.abspath(__file__)), "../Skins/Default/") def __init__(self): pass diff --git a/Demos/01_MinimalExample.py b/Demos/01_MinimalExample.py new file mode 100644 index 0000000..4789223 --- /dev/null +++ b/Demos/01_MinimalExample.py @@ -0,0 +1,56 @@ +""" + +This file shows the smallest working LUI example, on which you can base your +LUI projects. + +""" + +# Add lui modules to the path. This will not be required when LUI is included +# in panda. +import sys +sys.path.insert(0, "../Builtin") + +# Load some required LUI classes +from panda3d.lui import LUIRegion, LUIInputHandler + +# Load a builtin LUI class. When lui is included in panda, this will be +# from direct.luiwidgets.LUIButton import LUIButton +from LUIButton import LUIButton +from LUISkin import LUIDefaultSkin + +# Setup panda, nothing special here +from panda3d.core import load_prc_file_data +load_prc_file_data("", """ + text-minfilter linear + text-magfilter linear + text-pixels-per-unit 32 + sync-video #f + textures-power-2 none + show-frame-rate-meter #t + win-size 700 600 + window-title LUI Minimal Example +""") + +from direct.showbase.ShowBase import ShowBase + +class Application(ShowBase): + + def __init__(self): + ShowBase.__init__(self) + + # Construct a new LUIRegion + region = LUIRegion.make("LUI", base.win) + + # Construct a new InputHandler to catch and process events + handler = LUIInputHandler() + base.mouseWatcher.attach_new_node(handler) + region.set_input_handler(handler) + + # Load the default LUI skin + skin = LUIDefaultSkin() + skin.load() + + # LUI is initialized now, so we can start adding elements, for example: + button = LUIButton(parent=region.root, text="Hello world!", top=30, left=30) + +Application().run() diff --git a/Demos/SimpleConsole.py b/Demos/02_SimpleConsole.py similarity index 87% rename from Demos/SimpleConsole.py rename to Demos/02_SimpleConsole.py index a467698..eeffc9e 100644 --- a/Demos/SimpleConsole.py +++ b/Demos/02_SimpleConsole.py @@ -20,6 +20,7 @@ win-fixed-size #f """) +# Imports from panda3d.lui import LUIRegion, LUIObject, LUIInputHandler from panda3d.lui import LUIVerticalLayout from LUISkin import LUIDefaultSkin @@ -29,14 +30,12 @@ from LUIFormattedLabel import LUIFormattedLabel from LUIScrollableRegion import LUIScrollableRegion - from Skins.Metro.LUIMetroSkin import LUIMetroSkin - s = ShowBase() - -if True: +# Load a LUI Skin +if False: skin = LUIMetroSkin() base.win.set_clear_color(Vec4(1)) else: @@ -45,7 +44,7 @@ skin.load() - +# Initialize LUI region = LUIRegion.make("LUI", base.win) handler = LUIInputHandler() base.mouseWatcher.attach_new_node(handler) @@ -56,15 +55,8 @@ font="header", pos=(25, 17)) # Container -container = LUIFrame( - parent = region.root, - pos=(0, 0), - width=700, - height=500, - style=LUIFrame.FS_sunken, - margin=30) - -container.top = 50 +container = LUIFrame(parent = region.root, width=700, height=500, + style=LUIFrame.FS_sunken, margin=30, top=50) text_container = LUIScrollableRegion(parent=container, width=675, height=440, padding=0) @@ -73,6 +65,8 @@ layout = LUIVerticalLayout(parent=text_container.content_node) def send_command(event): + """ Called when the user presses enter in the input field, submits the + command and prints something on the console """ label = LUIFormattedLabel() color = (0.9, 0.9, 0.9, 1.0) if event.message.startswith(u"/"): @@ -88,7 +82,8 @@ def send_command(event): text_container.scroll_to_bottom() -input_field = LUIInputField(parent=container, bottom=0, left=0, width=680) +# Create the input box +input_field = LUIInputField(parent=container, bottom=0, left=0, width="100%") input_field.bind("enter", send_command) input_field.request_focus() diff --git a/Demos/Button.py b/Demos/B_Button.py similarity index 99% rename from Demos/Button.py rename to Demos/B_Button.py index 8547206..236f980 100644 --- a/Demos/Button.py +++ b/Demos/B_Button.py @@ -12,7 +12,6 @@ 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") diff --git a/Demos/Checkbox.py b/Demos/B_Checkbox.py similarity index 100% rename from Demos/Checkbox.py rename to Demos/B_Checkbox.py diff --git a/Demos/FormattedLabel.py b/Demos/B_FormattedLabel.py similarity index 100% rename from Demos/FormattedLabel.py rename to Demos/B_FormattedLabel.py diff --git a/Demos/Frame.py b/Demos/B_Frame.py similarity index 100% rename from Demos/Frame.py rename to Demos/B_Frame.py diff --git a/Demos/InputField.py b/Demos/B_InputField.py similarity index 100% rename from Demos/InputField.py rename to Demos/B_InputField.py diff --git a/Demos/Label.py b/Demos/B_Label.py similarity index 100% rename from Demos/Label.py rename to Demos/B_Label.py diff --git a/Demos/Progressbar.py b/Demos/B_Progressbar.py similarity index 100% rename from Demos/Progressbar.py rename to Demos/B_Progressbar.py diff --git a/Demos/Radiobox.py b/Demos/B_Radiobox.py similarity index 100% rename from Demos/Radiobox.py rename to Demos/B_Radiobox.py diff --git a/Demos/Slider.py b/Demos/B_Slider.py similarity index 100% rename from Demos/Slider.py rename to Demos/B_Slider.py diff --git a/Demos/DemoFramework.py b/Demos/DemoFramework.py index 8829fe9..da99efc 100644 --- a/Demos/DemoFramework.py +++ b/Demos/DemoFramework.py @@ -1,5 +1,11 @@ +""" +This file contains some setup code for all the widget examples + + +""" + import sys sys.path.insert(0, "../") sys.path.insert(0, "../Builtin") @@ -37,6 +43,7 @@ class DemoFramework: """ This is a small helper class to setup common stuff for the demos """ def __init__(self): + """ Constructs the demo framework """ if False: self._skin = LUIMetroSkin() diff --git a/Demos/README.md b/Demos/README.md new file mode 100644 index 0000000..8f203b4 --- /dev/null +++ b/Demos/README.md @@ -0,0 +1,7 @@ + + +This directory contains various LUI demos. You should start with the demos +01 and 02. + +After that, you can try out the demos starting with B_, showing builtin +LUI components. diff --git a/Skins/Default/GenerateAtlas.bat b/Skins/Default/GenerateAtlas.bat new file mode 100644 index 0000000..3ae0bb0 --- /dev/null +++ b/Skins/Default/GenerateAtlas.bat @@ -0,0 +1,5 @@ +@echo off + +cd res +ppython ../../../Misc/LUIAtlasGen.py +pause diff --git a/Skins/Default/__init__.py b/Skins/Default/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Builtin/font/SourceSansPro-Black.ttf b/Skins/Default/font/SourceSansPro-Black.ttf similarity index 100% rename from Builtin/font/SourceSansPro-Black.ttf rename to Skins/Default/font/SourceSansPro-Black.ttf diff --git a/Builtin/font/SourceSansPro-BlackIt.ttf b/Skins/Default/font/SourceSansPro-BlackIt.ttf similarity index 100% rename from Builtin/font/SourceSansPro-BlackIt.ttf rename to Skins/Default/font/SourceSansPro-BlackIt.ttf diff --git a/Builtin/font/SourceSansPro-Bold.ttf b/Skins/Default/font/SourceSansPro-Bold.ttf similarity index 100% rename from Builtin/font/SourceSansPro-Bold.ttf rename to Skins/Default/font/SourceSansPro-Bold.ttf diff --git a/Builtin/font/SourceSansPro-BoldIt.ttf b/Skins/Default/font/SourceSansPro-BoldIt.ttf similarity index 100% rename from Builtin/font/SourceSansPro-BoldIt.ttf rename to Skins/Default/font/SourceSansPro-BoldIt.ttf diff --git a/Builtin/font/SourceSansPro-ExtraLight.ttf b/Skins/Default/font/SourceSansPro-ExtraLight.ttf similarity index 100% rename from Builtin/font/SourceSansPro-ExtraLight.ttf rename to Skins/Default/font/SourceSansPro-ExtraLight.ttf diff --git a/Builtin/font/SourceSansPro-ExtraLightIt.ttf b/Skins/Default/font/SourceSansPro-ExtraLightIt.ttf similarity index 100% rename from Builtin/font/SourceSansPro-ExtraLightIt.ttf rename to Skins/Default/font/SourceSansPro-ExtraLightIt.ttf diff --git a/Builtin/font/SourceSansPro-It.ttf b/Skins/Default/font/SourceSansPro-It.ttf similarity index 100% rename from Builtin/font/SourceSansPro-It.ttf rename to Skins/Default/font/SourceSansPro-It.ttf diff --git a/Builtin/font/SourceSansPro-Light.ttf b/Skins/Default/font/SourceSansPro-Light.ttf similarity index 100% rename from Builtin/font/SourceSansPro-Light.ttf rename to Skins/Default/font/SourceSansPro-Light.ttf diff --git a/Builtin/font/SourceSansPro-LightIt.ttf b/Skins/Default/font/SourceSansPro-LightIt.ttf similarity index 100% rename from Builtin/font/SourceSansPro-LightIt.ttf rename to Skins/Default/font/SourceSansPro-LightIt.ttf diff --git a/Builtin/font/SourceSansPro-Regular.ttf b/Skins/Default/font/SourceSansPro-Regular.ttf similarity index 100% rename from Builtin/font/SourceSansPro-Regular.ttf rename to Skins/Default/font/SourceSansPro-Regular.ttf diff --git a/Builtin/font/SourceSansPro-Semibold.ttf b/Skins/Default/font/SourceSansPro-Semibold.ttf similarity index 100% rename from Builtin/font/SourceSansPro-Semibold.ttf rename to Skins/Default/font/SourceSansPro-Semibold.ttf diff --git a/Builtin/font/SourceSansPro-SemiboldIt.ttf b/Skins/Default/font/SourceSansPro-SemiboldIt.ttf similarity index 100% rename from Builtin/font/SourceSansPro-SemiboldIt.ttf rename to Skins/Default/font/SourceSansPro-SemiboldIt.ttf diff --git a/Builtin/res/ButtonDefault.png b/Skins/Default/res/ButtonDefault.png similarity index 100% rename from Builtin/res/ButtonDefault.png rename to Skins/Default/res/ButtonDefault.png diff --git a/Builtin/res/ButtonDefaultFocus.png b/Skins/Default/res/ButtonDefaultFocus.png similarity index 100% rename from Builtin/res/ButtonDefaultFocus.png rename to Skins/Default/res/ButtonDefaultFocus.png diff --git a/Builtin/res/ButtonDefaultFocus_Left.png b/Skins/Default/res/ButtonDefaultFocus_Left.png similarity index 100% rename from Builtin/res/ButtonDefaultFocus_Left.png rename to Skins/Default/res/ButtonDefaultFocus_Left.png diff --git a/Builtin/res/ButtonDefaultFocus_Right.png b/Skins/Default/res/ButtonDefaultFocus_Right.png similarity index 100% rename from Builtin/res/ButtonDefaultFocus_Right.png rename to Skins/Default/res/ButtonDefaultFocus_Right.png diff --git a/Builtin/res/ButtonDefault_Left.png b/Skins/Default/res/ButtonDefault_Left.png similarity index 100% rename from Builtin/res/ButtonDefault_Left.png rename to Skins/Default/res/ButtonDefault_Left.png diff --git a/Builtin/res/ButtonDefault_Right.png b/Skins/Default/res/ButtonDefault_Right.png similarity index 100% rename from Builtin/res/ButtonDefault_Right.png rename to Skins/Default/res/ButtonDefault_Right.png diff --git a/Builtin/res/ButtonGreen.png b/Skins/Default/res/ButtonGreen.png similarity index 100% rename from Builtin/res/ButtonGreen.png rename to Skins/Default/res/ButtonGreen.png diff --git a/Builtin/res/ButtonGreenFocus.png b/Skins/Default/res/ButtonGreenFocus.png similarity index 100% rename from Builtin/res/ButtonGreenFocus.png rename to Skins/Default/res/ButtonGreenFocus.png diff --git a/Builtin/res/ButtonGreenFocus_Left.png b/Skins/Default/res/ButtonGreenFocus_Left.png similarity index 100% rename from Builtin/res/ButtonGreenFocus_Left.png rename to Skins/Default/res/ButtonGreenFocus_Left.png diff --git a/Builtin/res/ButtonGreenFocus_Right.png b/Skins/Default/res/ButtonGreenFocus_Right.png similarity index 100% rename from Builtin/res/ButtonGreenFocus_Right.png rename to Skins/Default/res/ButtonGreenFocus_Right.png diff --git a/Builtin/res/ButtonGreen_Left.png b/Skins/Default/res/ButtonGreen_Left.png similarity index 100% rename from Builtin/res/ButtonGreen_Left.png rename to Skins/Default/res/ButtonGreen_Left.png diff --git a/Builtin/res/ButtonGreen_Right.png b/Skins/Default/res/ButtonGreen_Right.png similarity index 100% rename from Builtin/res/ButtonGreen_Right.png rename to Skins/Default/res/ButtonGreen_Right.png diff --git a/Builtin/res/Checkbox_Checked.png b/Skins/Default/res/Checkbox_Checked.png similarity index 100% rename from Builtin/res/Checkbox_Checked.png rename to Skins/Default/res/Checkbox_Checked.png diff --git a/Builtin/res/Checkbox_CheckedHover.png b/Skins/Default/res/Checkbox_CheckedHover.png similarity index 100% rename from Builtin/res/Checkbox_CheckedHover.png rename to Skins/Default/res/Checkbox_CheckedHover.png diff --git a/Builtin/res/Checkbox_Default.png b/Skins/Default/res/Checkbox_Default.png similarity index 100% rename from Builtin/res/Checkbox_Default.png rename to Skins/Default/res/Checkbox_Default.png diff --git a/Builtin/res/Checkbox_DefaultHover.png b/Skins/Default/res/Checkbox_DefaultHover.png similarity index 100% rename from Builtin/res/Checkbox_DefaultHover.png rename to Skins/Default/res/Checkbox_DefaultHover.png diff --git a/Builtin/res/ColorpickerActiveColorOverlay.png b/Skins/Default/res/ColorpickerActiveColorOverlay.png similarity index 100% rename from Builtin/res/ColorpickerActiveColorOverlay.png rename to Skins/Default/res/ColorpickerActiveColorOverlay.png diff --git a/Builtin/res/ColorpickerFieldHandle.png b/Skins/Default/res/ColorpickerFieldHandle.png similarity index 100% rename from Builtin/res/ColorpickerFieldHandle.png rename to Skins/Default/res/ColorpickerFieldHandle.png diff --git a/Builtin/res/ColorpickerFieldOverlay.png b/Skins/Default/res/ColorpickerFieldOverlay.png similarity index 100% rename from Builtin/res/ColorpickerFieldOverlay.png rename to Skins/Default/res/ColorpickerFieldOverlay.png diff --git a/Builtin/res/ColorpickerHueHandle.png b/Skins/Default/res/ColorpickerHueHandle.png similarity index 100% rename from Builtin/res/ColorpickerHueHandle.png rename to Skins/Default/res/ColorpickerHueHandle.png diff --git a/Builtin/res/ColorpickerHueSlider.png b/Skins/Default/res/ColorpickerHueSlider.png similarity index 100% rename from Builtin/res/ColorpickerHueSlider.png rename to Skins/Default/res/ColorpickerHueSlider.png diff --git a/Builtin/res/ColorpickerPreviewBg.png b/Skins/Default/res/ColorpickerPreviewBg.png similarity index 100% rename from Builtin/res/ColorpickerPreviewBg.png rename to Skins/Default/res/ColorpickerPreviewBg.png diff --git a/Builtin/res/ColorpickerPreviewOverlay.png b/Skins/Default/res/ColorpickerPreviewOverlay.png similarity index 100% rename from Builtin/res/ColorpickerPreviewOverlay.png rename to Skins/Default/res/ColorpickerPreviewOverlay.png diff --git a/Builtin/res/Frame_BL.png b/Skins/Default/res/Frame_BL.png similarity index 100% rename from Builtin/res/Frame_BL.png rename to Skins/Default/res/Frame_BL.png diff --git a/Builtin/res/Frame_BR.png b/Skins/Default/res/Frame_BR.png similarity index 100% rename from Builtin/res/Frame_BR.png rename to Skins/Default/res/Frame_BR.png diff --git a/Builtin/res/Frame_Bottom.png b/Skins/Default/res/Frame_Bottom.png similarity index 100% rename from Builtin/res/Frame_Bottom.png rename to Skins/Default/res/Frame_Bottom.png diff --git a/Builtin/res/Frame_Left.png b/Skins/Default/res/Frame_Left.png similarity index 100% rename from Builtin/res/Frame_Left.png rename to Skins/Default/res/Frame_Left.png diff --git a/Builtin/res/Frame_Mid.png b/Skins/Default/res/Frame_Mid.png similarity index 100% rename from Builtin/res/Frame_Mid.png rename to Skins/Default/res/Frame_Mid.png diff --git a/Builtin/res/Frame_Right.png b/Skins/Default/res/Frame_Right.png similarity index 100% rename from Builtin/res/Frame_Right.png rename to Skins/Default/res/Frame_Right.png diff --git a/Builtin/res/Frame_TL.png b/Skins/Default/res/Frame_TL.png similarity index 100% rename from Builtin/res/Frame_TL.png rename to Skins/Default/res/Frame_TL.png diff --git a/Builtin/res/Frame_TR.png b/Skins/Default/res/Frame_TR.png similarity index 100% rename from Builtin/res/Frame_TR.png rename to Skins/Default/res/Frame_TR.png diff --git a/Builtin/res/Frame_Top.png b/Skins/Default/res/Frame_Top.png similarity index 100% rename from Builtin/res/Frame_Top.png rename to Skins/Default/res/Frame_Top.png diff --git a/Builtin/res/HorizontalListDivider.png b/Skins/Default/res/HorizontalListDivider.png similarity index 100% rename from Builtin/res/HorizontalListDivider.png rename to Skins/Default/res/HorizontalListDivider.png diff --git a/Builtin/res/InputField.png b/Skins/Default/res/InputField.png similarity index 100% rename from Builtin/res/InputField.png rename to Skins/Default/res/InputField.png diff --git a/Builtin/res/InputField_Left.png b/Skins/Default/res/InputField_Left.png similarity index 100% rename from Builtin/res/InputField_Left.png rename to Skins/Default/res/InputField_Left.png diff --git a/Builtin/res/InputField_Right.png b/Skins/Default/res/InputField_Right.png similarity index 100% rename from Builtin/res/InputField_Right.png rename to Skins/Default/res/InputField_Right.png diff --git a/Builtin/res/Keymarker.png b/Skins/Default/res/Keymarker.png similarity index 100% rename from Builtin/res/Keymarker.png rename to Skins/Default/res/Keymarker.png diff --git a/Builtin/res/Keymarker_Left.png b/Skins/Default/res/Keymarker_Left.png similarity index 100% rename from Builtin/res/Keymarker_Left.png rename to Skins/Default/res/Keymarker_Left.png diff --git a/Builtin/res/Keymarker_Right.png b/Skins/Default/res/Keymarker_Right.png similarity index 100% rename from Builtin/res/Keymarker_Right.png rename to Skins/Default/res/Keymarker_Right.png diff --git a/Builtin/res/ListDivider.png b/Skins/Default/res/ListDivider.png similarity index 100% rename from Builtin/res/ListDivider.png rename to Skins/Default/res/ListDivider.png diff --git a/Builtin/res/Popup_BL.png b/Skins/Default/res/Popup_BL.png similarity index 100% rename from Builtin/res/Popup_BL.png rename to Skins/Default/res/Popup_BL.png diff --git a/Builtin/res/Popup_BR.png b/Skins/Default/res/Popup_BR.png similarity index 100% rename from Builtin/res/Popup_BR.png rename to Skins/Default/res/Popup_BR.png diff --git a/Builtin/res/Popup_Bottom.png b/Skins/Default/res/Popup_Bottom.png similarity index 100% rename from Builtin/res/Popup_Bottom.png rename to Skins/Default/res/Popup_Bottom.png diff --git a/Builtin/res/Popup_Left.png b/Skins/Default/res/Popup_Left.png similarity index 100% rename from Builtin/res/Popup_Left.png rename to Skins/Default/res/Popup_Left.png diff --git a/Builtin/res/Popup_Mid.png b/Skins/Default/res/Popup_Mid.png similarity index 100% rename from Builtin/res/Popup_Mid.png rename to Skins/Default/res/Popup_Mid.png diff --git a/Builtin/res/Popup_Right.png b/Skins/Default/res/Popup_Right.png similarity index 100% rename from Builtin/res/Popup_Right.png rename to Skins/Default/res/Popup_Right.png diff --git a/Builtin/res/Popup_TL.png b/Skins/Default/res/Popup_TL.png similarity index 100% rename from Builtin/res/Popup_TL.png rename to Skins/Default/res/Popup_TL.png diff --git a/Builtin/res/Popup_TR.png b/Skins/Default/res/Popup_TR.png similarity index 100% rename from Builtin/res/Popup_TR.png rename to Skins/Default/res/Popup_TR.png diff --git a/Builtin/res/Popup_Top.png b/Skins/Default/res/Popup_Top.png similarity index 100% rename from Builtin/res/Popup_Top.png rename to Skins/Default/res/Popup_Top.png diff --git a/Builtin/res/ProgressbarBg.png b/Skins/Default/res/ProgressbarBg.png similarity index 100% rename from Builtin/res/ProgressbarBg.png rename to Skins/Default/res/ProgressbarBg.png diff --git a/Builtin/res/ProgressbarBg_Left.png b/Skins/Default/res/ProgressbarBg_Left.png similarity index 100% rename from Builtin/res/ProgressbarBg_Left.png rename to Skins/Default/res/ProgressbarBg_Left.png diff --git a/Builtin/res/ProgressbarBg_Right.png b/Skins/Default/res/ProgressbarBg_Right.png similarity index 100% rename from Builtin/res/ProgressbarBg_Right.png rename to Skins/Default/res/ProgressbarBg_Right.png diff --git a/Builtin/res/ProgressbarFg.png b/Skins/Default/res/ProgressbarFg.png similarity index 100% rename from Builtin/res/ProgressbarFg.png rename to Skins/Default/res/ProgressbarFg.png diff --git a/Builtin/res/ProgressbarFg_Finish.png b/Skins/Default/res/ProgressbarFg_Finish.png similarity index 100% rename from Builtin/res/ProgressbarFg_Finish.png rename to Skins/Default/res/ProgressbarFg_Finish.png diff --git a/Builtin/res/ProgressbarFg_Left.png b/Skins/Default/res/ProgressbarFg_Left.png similarity index 100% rename from Builtin/res/ProgressbarFg_Left.png rename to Skins/Default/res/ProgressbarFg_Left.png diff --git a/Builtin/res/ProgressbarFg_Right.png b/Skins/Default/res/ProgressbarFg_Right.png similarity index 100% rename from Builtin/res/ProgressbarFg_Right.png rename to Skins/Default/res/ProgressbarFg_Right.png diff --git a/Builtin/res/Radiobox_Active.png b/Skins/Default/res/Radiobox_Active.png similarity index 100% rename from Builtin/res/Radiobox_Active.png rename to Skins/Default/res/Radiobox_Active.png diff --git a/Builtin/res/Radiobox_ActiveHover.png b/Skins/Default/res/Radiobox_ActiveHover.png similarity index 100% rename from Builtin/res/Radiobox_ActiveHover.png rename to Skins/Default/res/Radiobox_ActiveHover.png diff --git a/Builtin/res/Radiobox_Default.png b/Skins/Default/res/Radiobox_Default.png similarity index 100% rename from Builtin/res/Radiobox_Default.png rename to Skins/Default/res/Radiobox_Default.png diff --git a/Builtin/res/Radiobox_DefaultHover.png b/Skins/Default/res/Radiobox_DefaultHover.png similarity index 100% rename from Builtin/res/Radiobox_DefaultHover.png rename to Skins/Default/res/Radiobox_DefaultHover.png diff --git a/Builtin/res/ScrollShadow_BL.png b/Skins/Default/res/ScrollShadow_BL.png similarity index 100% rename from Builtin/res/ScrollShadow_BL.png rename to Skins/Default/res/ScrollShadow_BL.png diff --git a/Builtin/res/ScrollShadow_BR.png b/Skins/Default/res/ScrollShadow_BR.png similarity index 100% rename from Builtin/res/ScrollShadow_BR.png rename to Skins/Default/res/ScrollShadow_BR.png diff --git a/Builtin/res/ScrollShadow_Bottom.png b/Skins/Default/res/ScrollShadow_Bottom.png similarity index 100% rename from Builtin/res/ScrollShadow_Bottom.png rename to Skins/Default/res/ScrollShadow_Bottom.png diff --git a/Builtin/res/ScrollShadow_TL.png b/Skins/Default/res/ScrollShadow_TL.png similarity index 100% rename from Builtin/res/ScrollShadow_TL.png rename to Skins/Default/res/ScrollShadow_TL.png diff --git a/Builtin/res/ScrollShadow_TR.png b/Skins/Default/res/ScrollShadow_TR.png similarity index 100% rename from Builtin/res/ScrollShadow_TR.png rename to Skins/Default/res/ScrollShadow_TR.png diff --git a/Builtin/res/ScrollShadow_Top.png b/Skins/Default/res/ScrollShadow_Top.png similarity index 100% rename from Builtin/res/ScrollShadow_Top.png rename to Skins/Default/res/ScrollShadow_Top.png diff --git a/Builtin/res/ScrollbarHandle.png b/Skins/Default/res/ScrollbarHandle.png similarity index 100% rename from Builtin/res/ScrollbarHandle.png rename to Skins/Default/res/ScrollbarHandle.png diff --git a/Builtin/res/ScrollbarHandle_Bottom.png b/Skins/Default/res/ScrollbarHandle_Bottom.png similarity index 100% rename from Builtin/res/ScrollbarHandle_Bottom.png rename to Skins/Default/res/ScrollbarHandle_Bottom.png diff --git a/Builtin/res/ScrollbarHandle_Top.png b/Skins/Default/res/ScrollbarHandle_Top.png similarity index 100% rename from Builtin/res/ScrollbarHandle_Top.png rename to Skins/Default/res/ScrollbarHandle_Top.png diff --git a/Builtin/res/Selectbox.png b/Skins/Default/res/Selectbox.png similarity index 100% rename from Builtin/res/Selectbox.png rename to Skins/Default/res/Selectbox.png diff --git a/Builtin/res/SelectboxActive.png b/Skins/Default/res/SelectboxActive.png similarity index 100% rename from Builtin/res/SelectboxActive.png rename to Skins/Default/res/SelectboxActive.png diff --git a/Builtin/res/SelectboxActive_Left.png b/Skins/Default/res/SelectboxActive_Left.png similarity index 100% rename from Builtin/res/SelectboxActive_Left.png rename to Skins/Default/res/SelectboxActive_Left.png diff --git a/Builtin/res/SelectboxOpen_Right.png b/Skins/Default/res/SelectboxOpen_Right.png similarity index 100% rename from Builtin/res/SelectboxOpen_Right.png rename to Skins/Default/res/SelectboxOpen_Right.png diff --git a/Builtin/res/Selectbox_Left.png b/Skins/Default/res/Selectbox_Left.png similarity index 100% rename from Builtin/res/Selectbox_Left.png rename to Skins/Default/res/Selectbox_Left.png diff --git a/Builtin/res/Selectbox_Right.png b/Skins/Default/res/Selectbox_Right.png similarity index 100% rename from Builtin/res/Selectbox_Right.png rename to Skins/Default/res/Selectbox_Right.png diff --git a/Builtin/res/SelectdropDivider.png b/Skins/Default/res/SelectdropDivider.png similarity index 100% rename from Builtin/res/SelectdropDivider.png rename to Skins/Default/res/SelectdropDivider.png diff --git a/Builtin/res/Selectdrop_BL.png b/Skins/Default/res/Selectdrop_BL.png similarity index 100% rename from Builtin/res/Selectdrop_BL.png rename to Skins/Default/res/Selectdrop_BL.png diff --git a/Builtin/res/Selectdrop_BR.png b/Skins/Default/res/Selectdrop_BR.png similarity index 100% rename from Builtin/res/Selectdrop_BR.png rename to Skins/Default/res/Selectdrop_BR.png diff --git a/Builtin/res/Selectdrop_Bottom.png b/Skins/Default/res/Selectdrop_Bottom.png similarity index 100% rename from Builtin/res/Selectdrop_Bottom.png rename to Skins/Default/res/Selectdrop_Bottom.png diff --git a/Builtin/res/Selectdrop_Left.png b/Skins/Default/res/Selectdrop_Left.png similarity index 100% rename from Builtin/res/Selectdrop_Left.png rename to Skins/Default/res/Selectdrop_Left.png diff --git a/Builtin/res/Selectdrop_Mid.png b/Skins/Default/res/Selectdrop_Mid.png similarity index 100% rename from Builtin/res/Selectdrop_Mid.png rename to Skins/Default/res/Selectdrop_Mid.png diff --git a/Builtin/res/Selectdrop_Right.png b/Skins/Default/res/Selectdrop_Right.png similarity index 100% rename from Builtin/res/Selectdrop_Right.png rename to Skins/Default/res/Selectdrop_Right.png diff --git a/Builtin/res/Selectdrop_TL.png b/Skins/Default/res/Selectdrop_TL.png similarity index 100% rename from Builtin/res/Selectdrop_TL.png rename to Skins/Default/res/Selectdrop_TL.png diff --git a/Builtin/res/Selectdrop_TR.png b/Skins/Default/res/Selectdrop_TR.png similarity index 100% rename from Builtin/res/Selectdrop_TR.png rename to Skins/Default/res/Selectdrop_TR.png diff --git a/Builtin/res/Selectdrop_Top.png b/Skins/Default/res/Selectdrop_Top.png similarity index 100% rename from Builtin/res/Selectdrop_Top.png rename to Skins/Default/res/Selectdrop_Top.png diff --git a/Builtin/res/SliderBg.png b/Skins/Default/res/SliderBg.png similarity index 100% rename from Builtin/res/SliderBg.png rename to Skins/Default/res/SliderBg.png diff --git a/Builtin/res/SliderBgFill.png b/Skins/Default/res/SliderBgFill.png similarity index 100% rename from Builtin/res/SliderBgFill.png rename to Skins/Default/res/SliderBgFill.png diff --git a/Builtin/res/SliderBgFill_Left.png b/Skins/Default/res/SliderBgFill_Left.png similarity index 100% rename from Builtin/res/SliderBgFill_Left.png rename to Skins/Default/res/SliderBgFill_Left.png diff --git a/Builtin/res/SliderBg_Left.png b/Skins/Default/res/SliderBg_Left.png similarity index 100% rename from Builtin/res/SliderBg_Left.png rename to Skins/Default/res/SliderBg_Left.png diff --git a/Builtin/res/SliderBg_Right.png b/Skins/Default/res/SliderBg_Right.png similarity index 100% rename from Builtin/res/SliderBg_Right.png rename to Skins/Default/res/SliderBg_Right.png diff --git a/Builtin/res/SliderKnob.png b/Skins/Default/res/SliderKnob.png similarity index 100% rename from Builtin/res/SliderKnob.png rename to Skins/Default/res/SliderKnob.png diff --git a/Builtin/res/SunkenFrame_BL.png b/Skins/Default/res/SunkenFrame_BL.png similarity index 100% rename from Builtin/res/SunkenFrame_BL.png rename to Skins/Default/res/SunkenFrame_BL.png diff --git a/Builtin/res/SunkenFrame_BR.png b/Skins/Default/res/SunkenFrame_BR.png similarity index 100% rename from Builtin/res/SunkenFrame_BR.png rename to Skins/Default/res/SunkenFrame_BR.png diff --git a/Builtin/res/SunkenFrame_Bottom.png b/Skins/Default/res/SunkenFrame_Bottom.png similarity index 100% rename from Builtin/res/SunkenFrame_Bottom.png rename to Skins/Default/res/SunkenFrame_Bottom.png diff --git a/Builtin/res/SunkenFrame_Left.png b/Skins/Default/res/SunkenFrame_Left.png similarity index 100% rename from Builtin/res/SunkenFrame_Left.png rename to Skins/Default/res/SunkenFrame_Left.png diff --git a/Builtin/res/SunkenFrame_Mid.png b/Skins/Default/res/SunkenFrame_Mid.png similarity index 100% rename from Builtin/res/SunkenFrame_Mid.png rename to Skins/Default/res/SunkenFrame_Mid.png diff --git a/Builtin/res/SunkenFrame_Right.png b/Skins/Default/res/SunkenFrame_Right.png similarity index 100% rename from Builtin/res/SunkenFrame_Right.png rename to Skins/Default/res/SunkenFrame_Right.png diff --git a/Builtin/res/SunkenFrame_TL.png b/Skins/Default/res/SunkenFrame_TL.png similarity index 100% rename from Builtin/res/SunkenFrame_TL.png rename to Skins/Default/res/SunkenFrame_TL.png diff --git a/Builtin/res/SunkenFrame_TR.png b/Skins/Default/res/SunkenFrame_TR.png similarity index 100% rename from Builtin/res/SunkenFrame_TR.png rename to Skins/Default/res/SunkenFrame_TR.png diff --git a/Builtin/res/SunkenFrame_Top.png b/Skins/Default/res/SunkenFrame_Top.png similarity index 100% rename from Builtin/res/SunkenFrame_Top.png rename to Skins/Default/res/SunkenFrame_Top.png diff --git a/Builtin/res/atlas.png b/Skins/Default/res/atlas.png similarity index 100% rename from Builtin/res/atlas.png rename to Skins/Default/res/atlas.png diff --git a/Builtin/res/atlas.txt b/Skins/Default/res/atlas.txt similarity index 100% rename from Builtin/res/atlas.txt rename to Skins/Default/res/atlas.txt diff --git a/Builtin/res/blank.png b/Skins/Default/res/blank.png similarity index 100% rename from Builtin/res/blank.png rename to Skins/Default/res/blank.png diff --git a/Tests/Test.py b/Tests/Test.py new file mode 100644 index 0000000..84ee978 --- /dev/null +++ b/Tests/Test.py @@ -0,0 +1,82 @@ + +import sys +sys.path.insert(0, "../Builtin") + +from direct.showbase.ShowBase import ShowBase +from direct.showbase.DirectObject import DirectObject + +from panda3d.core import * +load_prc_file_data("", """ + text-minfilter linear + text-magfilter linear + text-pixels-per-unit 32 + sync-video #f + textures-power-2 none + notify-level-lui info + show-frame-rate-meter #t + win-size 780 630 + window-title LUI Demo + win-fixed-size #f +""") + +from panda3d.lui import LUIRegion, LUIObject, LUIInputHandler, LUISprite, LUIVerticalLayout +from LUISkin import LUIDefaultSkin +from LUIFrame import LUIFrame +from LUIFormattedLabel import LUIFormattedLabel +from LUIInputField import LUIInputField +from LUIButton import LUIButton +from LUILabel import LUILabel +from LUICheckbox import LUICheckbox +from LUIRadiobox import LUIRadiobox +from LUIRadioboxGroup import LUIRadioboxGroup + +s = ShowBase() +base.win.set_clear_color(Vec4(0.05, 0.05, 0.05, 1.0)) + +skin = LUIDefaultSkin() +skin.load() + +region = LUIRegion.make("LUI", base.win) +handler = LUIInputHandler() +base.mouseWatcher.attach_new_node(handler) +region.set_input_handler(handler) + +# bg = LUISprite(region.root, "blank", "skin") +# bg.pos = 200, 200 +# bg.size = 200, 300 + +container = LUIFrame( + parent = region.root, pos = (200, 200), height=300, + style = LUIFrame.FS_sunken) + + +# label_tl = LUILabel(parent=container, text="Top Left", top_left=(0,0)) +# label_tr = LUILabel(parent=container, text="Top Right", top_right=(0,0)) +# label_bl = LUILabel(parent=container, text="Bottom Left", bottom_left=(0,0)) +# label_br = LUILabel(parent=container, text="Bottom Right", bottom_right=(0,0)) + +# button = LUIButton(parent=container, top_left=(0, 0), text="Well this one .. is a long button! (A really long one!) ............ really long!") +# button.bind("click", lambda event: button.set_text("Hello!")) +container.size = 300, 300 +# group = LUIRadioboxGroup() +# box = LUIRadiobox(parent=container, group=group, top=50) +# box2 = LUICheckbox(parent=container, top=100) + +layout = LUIVerticalLayout(parent=container) +# layout.height = 280 +# layout.width = 300 + +LUILabel(parent=layout.cell(), text="Hello") +LUILabel(parent=layout.cell(), text="World") +LUILabel(parent=layout.cell(100), text="100px row") +LUILabel(parent=layout.cell(), text="Next") +LUIButton(parent=layout.cell(), text="SomeButton") +LUILabel(parent=layout.cell('*'), text="Fill column") +LUILabel(parent=layout.cell(), text="Last column") + +for i in range(5): + base.graphicsEngine.render_frame() + +region.root.ls() + +s.run()