LUI (Lightweight User Interface) - Beta

This is really great :slight_smile: !

If I could use it for my Panda3D Studio GUI, I would no longer have to put up with the quirks of wxPython on Linux - something I am really looking forward to.

Having played around with it a bit, I can say I like the use of layouts, the ability to create additional button templates and how easy it is to add widgets.

There are some things you might want to add/improve:

  • it would be great if other widgets and even frames could have additional templates too (e.g. one frame template could be used to create toolbars and another for creating panels);
  • for the buttons, it would be nice if they could also have graphics to represent their highlighted state (when mousing over them) and disabled state;
    also, being able to set their state programmatically would allow things like toggle buttons, which stay active until they are clicked a second time;
  • being able to select text in an input field (manually as well as programmatically) would also be nice;
  • while the feature of relative constraints is very cool, it doesn’t seem to work well inside a layout (e.g. when setting the width of a button or frame relative, it seems to be reduced to zero);
    EDIT: this turns out to only happen in the main direction of the layout, which makes sense I guess;
  • when setting both the left and right offsets for a widget, it is offset from the left only, while I would have expected the widget to expand to respect both offsets (similar to relative constraints).

On a side note, opening a LUISelectbox leads to a warning about it having requested focus twice or more in one frame.

Although there is no demo showing the use of a colorpicker, it does seem to be implemented, which is great.
Do you also plan to add things like open and save file dialogs? Would be awesome, but I can understand if this is beyond the scope of this project.

All in all, very glad to see this and I hope you will continue to work on it :slight_smile: !