-=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- (c) WidthPadding Industries 1987 0|434|0 -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=-
SoCoder -> Showcase Home -> Functions Libraries

Created : 15 May 2010
Edited : 22 May 2010
Language : Blitz Max

NUI Toolkit

NUIT is a skinnable 2D user interface toolkit for BlitzMax that uses Max2D for rendering

There's not a whole lot to say about this right now, it's still work in progress, but I figured I'd make a showcase for it anyway. The short description, as usual, sums it up pretty well.

Currently there is no documentation, but I tried to make the two independent view examples - FramedWindow and Button - be somewhat clear as to what they do. There are still bugs, I have no doubt about that, but at worst they're probably fairly simple bugs (e.g., the button not remaining highlighted if you click, drag, leave the button, re-enter it, and then release the mouse button - reproduceable and seems to have nothing to do with the way event handling works).

Note: 'NUIT' is pronounced [nut], same as "newt."

Latest Update

21 May 2010 - Head: db2a267eca301bfeb7958bc94267b7a4957e64fe
Large-ish update to event handling and such. See commit for details.

17 May 2010 - Head: 852b7972670294f1fa5f1af5c6a0d3aa50697220
Added graphics to the repository.

17 May 2010 - Head: 24b2e83b0a66cb5881e66b6d0e52c27d0e283917
Added Checkbox and Radiobox views. Visibility options for scrollbars in ScrollViews (default is autohiding, which is the safest bet).

Support for subwindows (windows that are subviews of other views). This resulted in a bit of an overhaul of the event handling and the restrictions on that are a little more relaxed now as a result. Upside is some things are easier to do, downside is that there's a lot more room for error.

Still trying to find a middle-ground that works for everything. This will likely involve some more changes to the way mouse input in particular is handled, since I have a few more ideas to try out that should make event handling on the side of controls a lot simpler than they are now with the relaxed system.

16 May 2010 - Head: 859006990633682628c173934975bf6ab15b2c76
Bunch of refactoring, added some things to make life better, etc.

Fixed a bug with the ScrollView where resizing it would cause the scrollbars to have the incorrect value and as such not display the correct position on the scrollbar.

Renamed to NUI Toolkit (since there was already an NGUI and it sucks, so I didn't want to be associated with it). This doesn't really change the code, just the repository URL.

16 May 2010 - Head: ec62c584f13326bf3a42696d5f44448d58b9bcdb
Added ScrollView. More bug fixes.

16 May 2010 - Head: 5c7fae3cb3c23eb4ecf5cada18eb96245de27872
Added scrollbars, moved some bits and pieces around, etc.

15 May 2010 - Head: 0f2bc6c71f542ce49101af1653582d890a745ade
Initial release. Not a lot of stuff in here, but it's to the point where I feel like at least putting it online.



Saturday, 15 May 2010, 22:27
Looking really clean - nice work.
Sunday, 16 May 2010, 02:58
Rotation looks awesome!
Get the gui boxes to scroll in like that!!
Sunday, 16 May 2010, 18:51
I like the rotation picture 'cause it reminds me of MissingNo from Pokemon Red/Blue. Best glitch ever.
Monday, 17 May 2010, 17:08
Added graphics to the repository (well, a submodule of the repo - graphics are being kept elsewhere).
Saturday, 22 May 2010, 14:57
Working on layout views (viewgroups in Android terms), got the most complex of them done now. Can see a video of it handling layout here. I'll probably make it possible to load rules for this one from a file, since having it all in code would be pretty ugly.