Jump to content

tjui GUI


tjheldna
 Share

Recommended Posts

Here is a Simple C++ only GUI system for Leadwerks 3.5 named tjui. This project includes full source and a working example (a game settings window for now).

 

Why use this? For starters it's free! Secondly it uses a mixture and expands on Leadwerks functionality like drawText and drawRect, so there is no messy linking or setup. The system is extremely flexible and in which you can create your own widgets from combinations available.

 

Download full project here including source

 

Download tjui_1.3.zip

 

To use copy the contents to where your projects are found import via the LE editor

 

What's New in Version 1.3 (Current 26/4/15)

  • Updated the way widget events occur and they are now as optimised as I can get them to date.
  • Renamed variables so they are to US spelling i.e color compared to colour.
  • New modifier class fade in/out/pulsate.
  • Before if widgets overlapped and the cursor overlapped both, the event would trigger for both. This has now been fixed to only trigger for the topmost widget.
  • Works with Leadwerks 3.5.

What's New in Version 1.2

  • If you downloaded any previous version you will need to update to this build. Most if not all changes happen in the base code and shouldn't effect anything else.
  • Made a mistake setting the root list to only accept windows. I have reversed this. The root node should be the only node without a parent and if you Detatch() you will need to delete the detached widget manually.
  • Fixed an iterator bug with Modifiers. This is a show stopper if you use one.
  • Use the Remove() function to remove any widget either a base window or widget.
  • Added overloaded function to Detatch(), you now can pass an iterator and return it, in case you are using the function in a loop.
  • Removed UpdateWidget() and the functionality happens elsewhere and more efficiently.
  • Added a few random optimisations as I saw them

What's New in Version 1.1

  • Fix bug with SetPosY due to last minute variable name change.
  • Overhaul of standard Button Widget code.
  • Widgets children now use lists not vectors.
  • The Interface only accepts windows to be added at the root level.
  • Many optimisations.
  • Settings window. I've started to create a settings window so you don't have to!

Supported Widgets

  • Border
  • Button
  • CheckBox
  • GroupWidget
  • Icon Button (Image button with an image icon overlay)
  • ImageBox (Draw Image)
  • ImageButton (3 different images for the different states)
  • Label (Draw text)
  • LineTextBox (Label with lines)
  • ProgressBar (Vertical or Horizontal)
  • Quad (Draw Rect)
  • Radio Button
  • RadioButtonGroup
  • SingleImageTextButton (Single image with text overlay)
  • SingleImageButton (Image Only)
  • GUIWindow
  • Widget (Base Class)

Future Plans

  • Create a main menu window
  • Create a credits window
  • Cursor widget. This is done I just need to cut it over.
  • Widget: Horizontal Rule.
  • Self destruct modifier, this will delete it's associated widget after a period of time.

If you have any ideas on how to improve pm me, or post here. I really hope this can be put to good use. Also if this system is used in your game i'd like to know!

  • Upvote 4
trindieprod.png?dl=0spacer.png?dl=0steam-icon.png?dl=0twitter-icon.png?dl=0spacer.png?dl=0
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...