Skip to main content
EmbDev
Senior
January 15, 2024
Solved

TouchGFX 4.23.0 Designer sometimes skips interactions of custom containers

  • January 15, 2024
  • 2 replies
  • 2856 views

Hi,

 

Working with the latest version (4.23.0) for some time now. Luckily for now I have the generated code tracked in git.

When generating the code using TouchGFX Designer, I notice that sometimes some interactions of my custom containers are not generated. For now it is always related to the triggers of the Custom container that are used on my views (that use the custom container). The callback method (for the trigger) on the view is missing (in the ...ViewBase.cpp file):

 

finished.setButtonClickedCallback(buttonClickedCallback);

 

 Often only after I open the related view in the designer and then regenerate the code, this missing callback method is added to the generated code. Does anyone else have the same issue?

First it was only for one specific callback, but today I see three missing callbacks..
Very interested to the cause of this issue, so I can choose how to work around it until the next release

- Project too big for the generator?
- Too many interactions on a single view?
- Custom container issue?
- ...?

Best answer by EmbDev

Since I cannot share the application, it took some time. But now I managed to create a small example (see attachment).
While creating the example I also found the bug.

There are two custom containers in the project.

  • CustomContainer1 contains one item called finished.
  • CustomContainer2 contains one item (name irrelevant).

Both containers are added to the same view.

  • CustomContainer2 with name finished (!)
  • CustomContainer1 (name irrelevant, but contains an item called finished).

For CustomContainer2 I create an interaction (clicked callback).

When I open the project (screen1 is selected) and click generate -> No callback generated.
When I select the Screen1_1 view in the designer and generate -> Callback generated.

 

The cause must be the duplicate name finished, but there is no warning or error or anything.

2 replies

ST Employee
January 25, 2024

Hello @EmbDev ,

Sorry about the inconvenience. To be honest, we haven't received any other similar report, and I tried to replicate the problem but I couldn't see it. 
Is it possible for you to share us your project? Or can you use the latest version of the TouchGFX (4.23.1) and see if the issue still exist? 

Thank you so much

EmbDev
EmbDevAuthor
Senior
March 4, 2024

It is very consistent for one specific click callback.
It somehow does make a difference whether the view is selected in the designer or not..
Which seems quite strange as the generator is an external script, right?

Updated to 4.23.1, but this didn't solve the issue, also ran the generator with the verbose flag.
Is there anything else I can do to get more information about this issue?

ST Employee
March 22, 2024

Hello again @EmbDev ,

Could you please share your project with me privately if you cannot share it here? 

The behavior you're describing is extremely strange, and I cannot figure out what the cause of the problem is without thoroughly investigate it.

Thank you 

EmbDev
EmbDevAuthor
Senior
June 6, 2024

Looking at the changelog of 4.24.0 I do not see this issue listed. Any idea when a fix will be released?

ST Employee
June 6, 2024

Hello @EmbDev ,

Oh, I can see that, unfortunately, the fix is not mentioned in the changelog, but the issue is fixed now in TouchGFX 4.24.0

The root cause of the problem was using same names for custom container instances in different screens as you pointed out earlier. 

Please, use TouchGFX 4.24.0 now and ensure that the problem no longer exists.

 

Best regards, 

 

EmbDev
EmbDevAuthor
Senior
June 7, 2024

Cool, it seems to be fixed indeed! Still curious though, I understand that something like that could go wrong in the generation of the code. However, I do not understand how this was linked to opening the page in the designer? Can you share how this was possible?