Jump to content
Sign in to follow this  
Joel Bodenmann

Alpha started

Recommended Posts

The uGFX-Studio is now available as an alpha version until the 1st of March 2015. It can be downloaded at http://studio.ugfx.org

Please report any kinds of bugs, questions and feature requests to this thread. We will not provide any kind of mail support during this alpha test stage.

Setup Wizard

When launching the uGFX-Studio the first time you will be asked for a path to the uGFX library. You cannot pass this step unless the studio could detect a valid version of the library (the path will be red as long as it couldn't).

You need to use the latest master state of the uGFX repository.

However, in order not to interfere with your working projects simply download the latest master to some different location and you're ready to go.

Live Preview

In order to build a working live preview (native application of your design) you need to install the cygwin toolchain if you're working under Windows. Under linux you can just use your regular GCC.

Simply pick one of the available presets under File -> Preferences -> Build.

Known Bugs

  • Need to auto-find contrasting colors for grid and widget selection borders¨

Pending Feature Requests

  • Each display page should have a root container (Done)
  • Add some way to disable and/or store calibration values as described in this post
  • Add a "Save As..." button
  • Add more widgets

Things already done during Alpha

  • All elements can now be locked so they can't be modified with the mouse any more (by accident)
  • GFILE_MAX_FILES is now set corretly
  • Static display elements (rectangles, circles, ...)
  • Adding Zoom feature
  • Vertical sliders
  • ImageBox displays the items border when selected
  • Adding more settings
  • Fixing a bug in the container transparency caused by missing settings
  • Implementing image custom draw for the button widget
  • Image path issue in live preview
  • Removed unsupported file formats from the corresponding file dialogs
  • Many bug fixes

~ Tectu

Share this post


Link to post
Share on other sites

Hi uGFX-Team,

Sadly, all widgets are not yet implemented, but it's already a usable program! I like it, and I'm sure you will release the next version soon.

Congratulations for this major step forward to a GUI that's copetitive with fully commercial ones!

In order that this post is worth writing it, I'll finish with some remarks:

For improvement:

* It would be nice to have the possibility to zoom in/out the window you create, because a 320 x 240 pixel wide screen is not very big on your computer screen, and it's easier to place your widgets when you see what happens on your screen.

Bugs:

* container set as "transparent" are shown as black or white when launching the converter

* When putting a jpg image in an imagebox, it isn't shown, even if the jpg has exact the same dimensions than the imagebox (seems that this one is already fixed).

Thanks a lot for your hard work!

Best regards,

macload1

Share this post


Link to post
Share on other sites

Thank you very much for your good words, we appreciate it a lot!

It would be nice to have the possibility to zoom in/out the window you create, because a 320 x 240 pixel wide screen is not very big on your computer screen, and it's easier to place your widgets when you see what happens on your screen.

Just added that to the ToDo list.

container set as "transparent" are shown as black or white when launching the converter

I'm not sure whether I understand the problem properly. Could you explain the problem a bit better so we can reproduce it and attach screenshots if necessary?

~ Tectu

Share this post


Link to post
Share on other sites

Hello uGFX-Team,

congrats on the Studio. A really good job done and a big step in direction of professionalism!

Some requests concerning the GINPUT integration:

0.) When debugging, it is a bit annoying to go though the on screen mouse calibration upon every restart

So i suggest the following:

1.) Add a GINPUT tab to the preferences allowing to select whether to include the touch support or not

2.) Add an automated generation of the "LoadMouseCalibration" method in a separate file i.e. mousecal.c or alike

3.) Add input fields for the 6 float values to set in the "LoadMouseCalibration" method (** and tell the user how to retrieve these w/ the debugger)

Looking forward to see all widgets included in V1.0.

Best regards

~Wolf

Share this post


Link to post
Share on other sites

Hello wolf,

Thank you very much for your positive words, we appreciate to see that people like the studio!

I like your ideas about the calibration and I added them to the ToDo list. This will surely be part of the 1.0 release.

~ Tectu

Share this post


Link to post
Share on other sites

Hello Tectu & All,

some more observations about buttons w/ images:

1.) The generated code doesn't set the customDraw nor the customParam rihgt upon button creation, i.e.:


wi.customDraw = ;
wi.customParam = 0;

Sould be (or alike):


wi.customDraw = gwinButtonDraw_Image;
wi.customParam = imageName;

On top it should activate the ROMFS param automatically in order to integrate the generated *.h files.

Best regards

~Wolf

Share this post


Link to post
Share on other sites

Hello Wolf,

Thank you very much for bringing this to my attention. I have added these points to the ToDo list. I will first fix the button custom image draw issue as this is a "crucial" feature. I'll let you know once it's fixed (probably tomorrow evening).

A "Save As..." button sounds handy indeed. I too added it to the ToDo list.

~ Tectu

Share this post


Link to post
Share on other sites

I have implemented the image custom draw routine for the button widget. One can now choose an image to be used to render the button. Note that the "Count" spin box needs to be set correctly. As the ugfx documentation will tell the image is either one, two or three button images stacked on top of each other. The top most is used for the "released" state, the second one is used for the "pressed" state and the third one is used for the "disabled" state. The spin box tells the studio which images are supplied.

I'd be happy if you could test the new feature and let me know about any problems. The new binary can now be downloaded from the studio website.

~ Tectu

Share this post


Link to post
Share on other sites

Hi Tectu,

As requested, I put as attachment a screenshot of the bug.

You'll notice that the "custom draw" property of the selected container is set to "transparent". The preview is all fine (both containers are really transparent), but the Windows executable file shows both containers as black (sometimes white, depending on which theme has been chosen).

This is running under Windows 7 x64 and repository from 12th of February 2015.

Best regards,

macload1

Screenshot_bug.thumb.png.ad798c121258020

Share this post


Link to post
Share on other sites

Hello macload,

Thank you very much for bringing this to my attention. The problem was caused by the missing settings for the GWIN default fore- and background color. Those settings have now been added to the GWIN settings tab. If you change your GDISP StartUp color it will automatically set the GWIN default background color to the same color (you can of course modify it anyway).

I have uploaded the latest binary to the studio website. Could you please have a look and let me know when there are any other issues?

~ Tectu

Share this post


Link to post
Share on other sites

Hi all,

@Tectu:

I just tried the latest Sudio 0.53 for the button image rendering functionality:

1.) It works (after tweaking a few necessary settings by editing the gfxconf.h -> see 2.))

2.) You should automatically turn on the following settings in gfxconf.h when creating the output:

2.1) #define GFILE_NEED_ROMFS TRUE (as the image file will most certainly come from ROMFS)

2.2) #define GDISP_NEED_IMAGE TRUE (a certain precondition to make it compile at all)

2.3) #define GDISP_NEED_IMAGE_BMP TRUE or alternatively GDISP_NEED_IMAGE_NATIVE (depending on the file extension)

Without 2.) the less experienced uGFX users might get stuck in confusion and loose confidence in this fine piece of work

Good job,

regards

~Wolf

Share this post


Link to post
Share on other sites

Hi all,

in order to make the entry into button image rendering easier, please find two *.bmp files attached that fit exactly into a 60x20 button.

You'll have to unzip the files and set the Count to 3 in the Studio (ie. released, pressed & disabled) when importing them.

Happy coding

~Wolf

rsc.zip

Share this post


Link to post
Share on other sites

Hello wolf,

Thank you very much for your posts.

The ROMFS is generated whenever you enabled it in the GFILE tab in the settings dialog. I will also add the NATIVEFS.

About the GDISP_NEED_IMAGE and the GDISP_NEED_IMAGE_BMP / GDISP_NEED_IMAGE_GIF. I think they should already be enabled automatically as needed, no? I did do some slight changes to the image code generator stuff today but nothing that would cause that to stop working. The configuration generator should automatically enable the image support and the formats as needed. As in: As soon as you add any image to your GUI (may it be as part of an image custom rendering or an actual imagebox) the GDISP_NEED_IMAGE is set to TRUE. The generator will then also enable the formats as it can easily detect what image you are using (it just takes a look at the file extension of the supplied image path).

Also thank you very much for attaching those button images. I hope that they will be helpful for the other alpha testers as well. I will surely write a lot of documentation and/or make many videos as soon as there is a stable release. Actually I think that most things can already be documented in the beta phase as I suspect that from beta to actual release only internal stuff will be changed/optimized and new features will be added.

Anyway, I will let you know once I fixed the stuff and added the new features. I am half way done with the requested zoom feature.

~ Tectu

Share this post


Link to post
Share on other sites

Hello Tectu,

Ref: Version 0.53

I only added a start and a stop button to the single empty page (no further image) and the generated gfxconf.h (attached) has:

#define GDISP_NEED_IMAGE FALSE

No BMP or NATIVE support either

No ROMFS support either (OK - this should be checked in the project settings, but could as well be automated, as it will be needed in most cases)

But as I said - the less experienced users might stumble over this!?

Best regards

~Wolf

gfxconf.zip

Share this post


Link to post
Share on other sites

Hello wolf,

You're totally right with both things. The configuration generator really didn't handle this properly. I fixed that issue and I also enabled the ROMFS generation by default.

I have however not uploaded a new binary yet. I am still fixing some other things. I'll upload a new one as soon as the zooming feature is implemented with some other bug fixes.

~ Tectu

Share this post


Link to post
Share on other sites

I am close to publish the next release which will include the zoom feature. One of the questions I'd like to hear your opinions about is whether the current zoom level should be saved somewhere or not. If it is saved in the project then you will get the annoying "Wanna save first?" message when exiting the studio all the time even though you didn't actually change anything.

Saving the current zoom level across multiple projects (as part of the application state) does not sound like a good idea either as different project will have different resolutions and therefore different zoom level requirements.

What do you guys think about that? Currently I reset the zoom level to 100% whenever a new page is displayed.

~ Tectu

Share this post


Link to post
Share on other sites

Resetting to 100% on each page is appropriate.

The zoom level should not be saved as it is a view option . I suspect it will also change frequently as you are working on different detail within a project.

Share this post


Link to post
Share on other sites

Hi all,

@Tectu

I tried to create 6 image button and ran into a problem there:

GFILE_MAX_GFILES

should be auto set to the number of images and included in gfxconf.h, otherwise the default setting in sys_options (3) takes over and only 3 images will be drawn

Best regards

~Wolf

Share this post


Link to post
Share on other sites

Hello Wolf,

Thank you very much for pointing out this issue. This is indeed a bug that needs to be fixed! I put it on the ToDo list.

Obviously inmarketis right as well. The image should only be opened once but I did not have yet time to really improve all the code generator. It will take a long time to get it doing smart things.

I am currently "finishing" the zoom implementation and I will upload a new version either tonight or tomorrow.

~ Tectu

Share this post


Link to post
Share on other sites

I have just uploaded a new version to the studio homepage which is ready for downloading and complaining ;)

I fixed several image related issues (the GFILE_MAX_FILES is not fixed yet). Furthermore there is now the ability to zoom in and out. One can either use the slider/combobox at the bottom right corner, the well known ctrl + / ctrl - / ctrl 0 keyboard short cuts or ctrl + mousewheel.

I have also added a new menu entry called "Static". One can now place static elements which can be used to draw a background grid or some other static form thing. (See screenshot below) The code generator generates a renderStatic() routine per display page. Therefore they are completely encapsulated from the actual widgets. I will add more static forms (lines, arcs, polygons, ...) in the following days.

As always: Please report any issues in this thread.

cfd71b9679d9.jpg

And yes, I am sure you can create nicer looking GUIs than me.

~ Tectu

Share this post


Link to post
Share on other sites

I uploaded a new version. New things are:

  • Sliders can now be either vertical or horizontal
  • GFILE_MAX_FILES is set so that every image can be dispayed*
  • Small bug fixes
  • Internal restructuring to prepare the big code generator optimization sprint

* Note that the code generator has not become smarter yet. It does currently not recognize multiple images as one. However, this will be fixed very soon. This way at least the code is usable.

I'd be happy if you guys could give it a try and report any problems.

~ Tectu

Share this post


Link to post
Share on other sites

The alpha testing phase ended today. We would like to thank everybody for participating as it helped us not only to improve already many aspects of the studio but also to know where we have to focus our development on.

We will keep you up to date about the upcoming beta testing phase.

~ Tectu

Share this post


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.

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.

Sign in to follow this  

×
×
  • Create New...