Jump to content

uGFX-Studio v0.20 - Beta

Recommended Posts

  • Replies 183
  • Created
  • Last Reply

Top Posters In This Topic

On 10/20/2017 at 23:49, inmarket said:


That is the thing about embedded programming - it is always a compromise between resources and the power of the provided interface.

Any ideas that you (or anyone else) can provide on how we can offer the same functionality with less resource usage we would love to hear from you. Just create a new forum topic, we need all the help and ideas we can get. :)


Well, that was the reason why I had to go back to uGui ( my setup takes 21.5kB without fonts ). I have STM32F429, but still having quite large functionality besides GUI I could not afford GWIN and GDISP was not enough.  So I am interested too how to scale down uGfx. 

I can tell you how my current system works, so it may be some inspiration:

-  There are 3 layers - GDISP ( equivalent),  the other two split GWIN functionality. One ( RENDER) is responsible just for rendering widgets, the other one (MESSAGES) for processing messages from inputs, touch screen etc.

- It is posisble to use only first two - GDISP and RENDER. 

- MESSAGES is used on demand - you put event there and it processes object hierarchy to trigger possible reaction ( in this particular system only callbacks are used). It is separated from other modules, just has access to their data.

I have built my system around GDISP/RENDER only. This means really simple setup - I execute just  rendering widgets. When user touches button, I execute different render , periodically I update measurement data on display ( by updating manually widget texts). 

It means more manual work, but for simple UI which have basically data outputs and simple selections it is enough.

Link to post
Share on other sites

Just released v0.20.5. Here's the changelog:

  • Reworking the look of the entire UI
  • Adding more resize handles
  • Adding support for zooming in and out
  • Adding support for the delete keyboard key
  • Adding support for the arrow keyboard keys
  • Fixing a crash when deleting items
  • Updating the code editor to the latest version from Elixpad
Link to post
Share on other sites


I created a 320*240 screen.

If a zoom in for example to 200% and i drop in a button with a fast mouse movement, sometimes the button will not be displayed. It will be visible in the design tree, but when i want to for example delete it, the studio will crash. 

Link to post
Share on other sites

Just released v0.20.7. Here's the changelog:

  • Adding progressbar widget
  • Adding console widget
  • Improving UI & adding new icons
  • Fixing crashes when deleting objects
  • Adding the ability to zoom in and out with CTRL + mouse wheel
  • Adding the ability to zoom in and out with CTRL++ and Ctrl+-
  • Adding the ability to reset the zoom value with CTRL+0 or by double clicking the zoom widget in the toolbar (slider or value label)
  • Fixing issue with newly dropped items ending up at the wrong spot when zoomed in
  • Fixing preview image size issue when dragging a new item to the virtual display display when zoomed in
  • Removing obsolete font_t declarations from generated gui.h file
  • Adding the option to provide calibration data in the target configuration
  • Removing border around virtual display
  • Fixing issue with static image size
  • Several minor improvements & internal cleanups
  • Adding new bugs to fix later
Link to post
Share on other sites

The zooming option is very good!

When deleting objects i still got crashes sometimes.

If i remove a background, the widget library for the backgrounds stays there and if i try to drop in an element, it causes a crash. Same goes for the display pages.

I cannot reproduce, but once when i saved, it crashed. The worst part was the ugfx file got 0 byte length.

Is there a specific reason why i cant set less than 15 width or height for a Rectangle in the Backgrounds? I would like to show some very thin dividers.

Link to post
Share on other sites

v0.20.8 is now available for download. Here's the changelog:

  • Fixing several issues related to zooming
  • Fixing an issue with resource name duplications
  • Fixing crash when deleting items from the context menu of the design model
  • Removing minimum size constrains of static rectangles
  • Ensuring the usage of a filesystem friendly name when copying new images to the resources folder
  • Removing the border around display pages (this time for real)
  • Adding default image for newly added imagebox widgets and static image items
  • Fixing issue with handling of multiple display backgrounds
  • Ensuring that all tabs are visible in the target editor dialog
  • Improving style of spinboxes inside the µGFX-Studio dialogs
  • Improving the "Add new" icon
  • Fixing font color issue in the New Project wizard


@Szbuli: This addresses the issues you mentioned in your post :) 

Link to post
Share on other sites

Hey Joel,

resizing a widget of any kind inside of a ghContainer is not possible. Widgets are moved automatically to to the lower-right corner of the parent when you try to resize them. I guess this behavior is not intended. I'm facing this issue with version 0.20.8

Best regards


EDIT: Resizing works as expected if we edit the size properties in the property editor. This problem only occurs if you try to change the size with the mouse (dragging on the right corner).

Edited by juliandonart
Link to post
Share on other sites

Everything works fine!

Big thanks for removing the minimum size for rectangles :) 


I would like to update label texts from other freertos tasks.

The handle for the labels are static (previously the handles were extern). What is the correct way for changing the text? I do not want to put code into a generated file if i can avoid.


Thanks! Bálint

Link to post
Share on other sites

@juliandonart: I added it to the bug list / todo list.

@Fabien Comte: Are you sure? It appears to work for us and everybody else. Can you be more specific please? Is the default image shown? Keep in mind that you can only display image formats supported by the µGFX library.

@Szbuli: Glad to hear that everything works out for you - and thank you a lot for your feedback :) 
We'll make the GHandle's become declared in the header file for the next version.

Link to post
Share on other sites

Just released v0.20.9. Changelog:

  • Preventing crash when deleting a display background that is currently assigned to one or more display pages
  • Moving GHandle declarations from gui.c to gui.h in generated code
  • Fixing issue with code generator using gwinProgressbarPosition() instead of gwinProgressbarSetPosition()
  • Adding wordwrapping option to Target -> GDISP -> Settings
  • Fixing issues with image resources being deleted
  • Fixing issue with name collisions of display page containers when using multiple display pages
Link to post
Share on other sites

We fixed an issue regarding the loading of images in v0.20.9. It might be necessary to remove and re-add them in the resources section of the design model.

If they are shown in the Image Editor but afterwards not on the virtual display it means that you're using an image format which µGFX does not support.

Link to post
Share on other sites

I think you are misunderstanding the concept here. You add images to the resources the way you show in your video - that is correct. However, you can't just drag'n'drop the image reosurce to the virtual display.

  • Display pages
    • Add an imagebox widget and assign the correct image in the properties editor (on the right) of the imagebox widget
  • Display backgrounds
    • Add a static image to the background and assign the correct image in the properties editor of that static image item
    • Or if you want a full-screen sized background, then open the background but don't select any static items, just click anywhere on the background. Now you can assign the background image in the properties editor of the background.

I hope that helps.

Link to post
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.

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.

  • Create New...