Skip to main content
DAmig
Associate II
January 11, 2019
Question

Shape-Widgets in TouchGFX?

  • January 11, 2019
  • 10 replies
  • 2755 views

The knowledge base text in widget->Circle shows 4 widgets (Box, Box with Border, Line and Circle) on the SHAPES, and the text indicates:

"The Circle is located under Shapes in the TouchGFX Designer."

Sorry, but, where is Shapes on the TouchGFX Designer?

This topic has been closed for replies.

10 replies

Martin KJELDSEN
Principal III
January 11, 2019

Hi @DAmig​,

Additional shapes (Circle, Line, BoxWithBorder) were introduced as Widgets in the 4.10.0 release of TouchGFX (Adding to the existing shape: Box).

Best regards,

Martin

DAmig
DAmigAuthor
Associate II
January 11, 2019
Martin,
Thank you !
According your information only this version (4.1.0) of TouchGFX Designer implements the SHAPES.
This 'problem' is only of the Designer, the class for line, circle etc are implemented  'inside' the TouchGFX.
and the classes must be included 'manually' on the project.
Best Regards,
Daniel.
Em 11/01/2019 11:02, ST Community escreveu:
Martin KJELDSEN
Principal III
January 11, 2019

​@DAmig​,

Correct, what we've been doing (among other things of course) since 4.8.0 is basically to make Widgets that are already available within the framework, available from the designer.

Best regards,

Martin

DAmig
DAmigAuthor
Associate II
January 11, 2019
Martin,
Thank you!
One more detail.
The ST site has a link to make the download of the TouchGFX Designer version 4.10.0.
The Designer is a tool to help the integration and to generate the code for simulation or run on the
target selected.
The main software is TouchGFX, the version 4.9.3 includes the TouchGFX Designer as a tool.
According your information, the SHAPE is only including on the TouchGFX Designer version 4.10.0, this means that still using the core of the version 4.9.3 the TouchGFX Designer included in this version must be discarded and is better use the 'new' TouchGFX Designer 4.10.0? Is it possible make the installation of the both versions (4.9.3 and 4.10.0)? or the version 4.9.3 must be unistalled?
Regards,
Daniel.
Em 11/01/2019 12:32, ST Community escreveu:
Martin KJELDSEN
Principal III
January 12, 2019

@DAmig​, you can have both versions installed side by side. They'll go into the c:\touchgfx\4.9.3 and \4.10.0 folders =) But if you just want to upgrade and use 4.10.0 exclusively, go ahead and uninstall 4.9.3.

You can then open your 4.9.3 application inside 4.10.0 and it will prompt you to upgrade the application and you now have access to the new widgets. Let me know how it works out!

Best regards,

Martin

DAmig
DAmigAuthor
Associate II
January 16, 2019
Hi Martin! I've installed the TouchGFX Designer 4.10.0 and its working file (The widget shows the SHAPE). I have now a problem regarding the tutorial. Solved the problem to add the circle and the interaction for the two screens (to switch between them) the Model.hpp shows on the compilation a series of errors. The first one is not recognize the int16_t, but including the solves the issue. The another errors initially are Warning errors of reorder. Pleas let me know if is possible modify the file Model.hpp or the warning to be trated as errors. I'm using the Visual Studio Community 2017, version 15.9.5. Attached the Model.hpp and the Compiler Log. Thanks in advance, Regards, Daniel. Em 12/01/2019 07:17, ST Community escreveu:
Martin KJELDSEN
Principal III
January 25, 2019

Hi Daniel,

I'm not entirely sure what your problem is. And i'm not seeing your attachments? First off, glad 4.10.0 is working for you! Which tutorial are you following?

Let me know.

Best regards,

Martin

DAmig
DAmigAuthor
Associate II
January 25, 2019
Hi Martin!
Sure, the version 4.10 of TouchGFX is working fine.
I'm working on the tutorial 3: Applications with multiple screens.
Please, let me explain the problem:
Setting up Screen1 -> widgets and interactions ok.
Setting Screen1View.hpp and Screen1View.cpp -> ok.
Setting up Screnn2 -> widgets and interactions ok
Screen2View.hpp and Screen2View.cpp -> ok. (The second screen on teh tutorial shows .hpp instead .cpp, I think
is wrong and must be .cpp, please let me know if I'm right)
Screen2View.cpp defines the handleTickEvent() function of the class Screen2View.
Changing the Wildcard Ranges (0-9)and compiling the compilers neither shows errors nor warnings.
The tutorial indicates on the next step the procedure to ad the code to save buttons on Screen1, to allow the data to be shared between Screen1 and Screen2.
_*Save data in the model: (Model-View-Presenter)
*_According the tutorial added/modified Model1.hpp and Model1.cpp_*.
*_Model includes, now, hour and minute.
After this were modified:
Scrren1Presenter.hpp
and to update Screen1 -> Screen1View.cpp and Screen1View.hpp
and to update Screen2 -> Screen2View.cpp and again Screen2View.cpp,
members setupScreen() and tearDownScreen() of the class Screen2View.
After these modifications the compilers fails to complete the operation
and the log indicates not errors but warnings, but the compiler treats
this warnings as errors, then, impossible to compile the program.
I'm sendig the log again.Please let me know if you received it.
I'm attaching two files .txt (pure text), one is for the Model.cpp
another is the log showing the problems.
The warning treated as error normally are possible to disable on the
project properties, but using the TouchGFX is this possible? Take a look
to the log and tell me what is wrong.
Regards,
Daniel.
Em 25/01/2019 10:31, ST Community escreveu:
Martin KJELDSEN
Principal III
January 31, 2019

Hi @DAmig​,

I still haven't received the log, hmm. Are you trying to attach it to this post?

DAmig
DAmigAuthor
Associate II
March 8, 2019
Hi Martin!
I solved the problem with the tutorial 3.
I don´t know why but if you includes on the constructor the initialization of
hour(0) and minute(0) the program crash.
The tutorial 4 is running fine (a minors details).
Now, the next step is the integration between the hardware of our board and the GUI.
Please let me know if I'm right:
The GUI is a component (very important) of the whole system.
Normally we are using the CibeMX to define the pins functions, configuration, interrupts and so on.
The pont is regarding the integration with the TouchGFX GUI.
The TouchGFX uses the paradigm Model-Presenter-Viewer, the interface with the hardware or the softwate implemented on the board (main program) or controll program is exchanging data with the Model module?
Is there an application note to guide the necessaries steps to get this integration?
We are using the Eclipse AC6 compiler (System Workbench).
One simple application is interfacing a button on the HW taht modify data or a graphic on the display, how to implement this integration?
Thanks in advance.
Regards,
Daniel.
Em 31/01/2019 06:22, ST Community escreveu:
DAmig
DAmigAuthor
Associate II
January 31, 2019
Hi Martin,
It´s a little messy but let me put here the log:
Compiling simulator/main.cpp
In file included from gui/src/model/Model.cpp:1:0:
gui/include/gui/model/Model.hpp: In constructor 'Model::Model()':
gui/include/gui/model/Model.hpp:70:20: error: 'Model::modelListener' will be initialized after [-Werror=reorder]
     ModelListener* modelListener;
                    ^~~~~~~~~~~~~
gui/include/gui/model/Model.hpp:64:10: error:   'int16_t Model::hour'
[-Werror=reorder]
  int16_t hour;
          ^~~~
gui/src/model/Model.cpp:8:1: error:   when initialized here
[-Werror=reorder]
 Model::Model() : modelListener(0), hour(0), minute(0)
 ^~~~~
cc1plus.exe: all warnings being treated as errors
simulator/gcc/Makefile:211: recipe for target
'build/MINGW32_NT-6.2/gui/src/model/Model.o' failed
make[2]: *** [build/MINGW32_NT-6.2/gui/src/model/Model.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from
generated/gui_generated/include/gui_generated/screen1_screen/Screen1ViewBase.hpp:9:0,
                 from gui/include/gui/screen1_screen/Screen1View.hpp:4,
                 from
generated/gui_generated/include/gui_generated/common/FrontendHeapBase.hpp:17,
                 from gui/include/gui/common/FrontendHeap.hpp:4,
                 from
touchgfx//framework/include/common/TouchGFXInit.hpp:25,
                 from simulator/main.cpp:3:
gui/include/gui/screen1_screen/Screen1Presenter.hpp:11:1: error:
expected initializer before 'class'
 class Screen1View;
 ^~~~~
gui/include/gui/screen1_screen/Screen1Presenter.hpp:37:33: error:
expected ')' before '&' token
     Screen1Presenter(Screen1View& v);
                                 ^
gui/include/gui/screen1_screen/Screen1Presenter.hpp:56:5: error:
'Screen1View' does not name a type
     Screen1View& view;
     ^~~~~~~~~~~
gui/include/gui/screen1_screen/Screen1Presenter.hpp:13:7: error: 'class
Screen1Presenter' only defines private constructors and has no friends
[-Werror=ctor-dtor-privacy]
 class Screen1Presenter : public Presenter, public ModelListener
       ^~~~~~~~~~~~~~~~
In file included from
generated/gui_generated/include/gui_generated/screen1_screen/Screen1ViewBase.hpp:9:0,
                 from gui/include/gui/screen1_screen/Screen1View.hpp:4,
                 from gui/src/screen1_screen/Screen1View.cpp:1:
gui/include/gui/screen1_screen/Screen1Presenter.hpp:11:1: error:
expected initializer before 'class'
 class Screen1View;
 ^~~~~
gui/include/gui/screen1_screen/Screen1Presenter.hpp:37:33: error:
expected ')' before '&' token
     Screen1Presenter(Screen1View& v);
                                 ^
gui/include/gui/screen1_screen/Screen1Presenter.hpp:56:5: error:
'Screen1View' does not name a type
     Screen1View& view;
     ^~~~~~~~~~~
gui/include/gui/screen1_screen/Screen1Presenter.hpp:13:7: error: 'class
Screen1Presenter' only defines private constructors and has no friends
[-Werror=ctor-dtor-privacy]
 class Screen1Presenter : public Presenter, public ModelListener
       ^~~~~~~~~~~~~~~~
In file included from
generated/gui_generated/include/gui_generated/screen1_screen/Screen1ViewBase.hpp:9:0,
                 from gui/include/gui/screen1_screen/Screen1View.hpp:4,
                 from
generated/gui_generated/include/gui_generated/common/FrontendHeapBase.hpp:17,
                 from gui/include/gui/common/FrontendHeap.hpp:4,
                 from
generated/gui_generated/src/common/FrontendApplicationBase.cpp:6:
gui/include/gui/screen1_screen/Screen1Presenter.hpp:11:1: error:
expected initializer before 'class'
 class Screen1View;
 ^~~~~
gui/include/gui/screen1_screen/Screen1Presenter.hpp:37:33: error:
expected ')' before '&' token
     Screen1Presenter(Screen1View& v);
                                 ^
gui/include/gui/screen1_screen/Screen1Presenter.hpp:56:5: error:
'Screen1View' does not name a type
     Screen1View& view;
     ^~~~~~~~~~~
gui/include/gui/screen1_screen/Screen1Presenter.hpp:13:7: error: 'class
Screen1Presenter' only defines private constructors and has no friends
[-Werror=ctor-dtor-privacy]
 class Screen1Presenter : public Presenter, public ModelListener
       ^~~~~~~~~~~~~~~~
In file included from
generated/gui_generated/include/gui_generated/common/FrontendHeapBase.hpp:17:0,
                 from gui/include/gui/common/FrontendHeap.hpp:4,
                 from
touchgfx//framework/include/common/TouchGFXInit.hpp:25,
                 from simulator/main.cpp:3:
gui/include/gui/screen1_screen/Screen1View.hpp:9:1: error: expected
initializer before 'class'
 class Screen1View : public Screen1ViewBase
 ^~~~~
cc1plus.exe: all warnings being treated as errors
In file included from gui/src/screen1_screen/Screen1View.cpp:1:0:
gui/include/gui/screen1_screen/Screen1View.hpp:9:1: error: expected
initializer before 'class'
 class Screen1View : public Screen1ViewBase
 ^~~~~
cc1plus.exe: all warnings being treated as errors
In file included from
generated/gui_generated/include/gui_generated/common/FrontendHeapBase.hpp:17:0,
                 from gui/include/gui/common/FrontendHeap.hpp:4,
                 from
generated/gui_generated/src/common/FrontendApplicationBase.cpp:6:
gui/include/gui/screen1_screen/Screen1View.hpp:9:1: error: expected
initializer before 'class'
 class Screen1View : public Screen1ViewBase
 ^~~~~
cc1plus.exe: all warnings being treated as errors
simulator/gcc/Makefile:211: recipe for target
'build/MINGW32_NT-6.2/gui/src/screen1_screen/Screen1View.o' failed
make[2]: *** [build/MINGW32_NT-6.2/gui/src/screen1_screen/Screen1View.o]
Error 1
simulator/gcc/Makefile:211: recipe for target
'build/MINGW32_NT-6.2/simulator/main.o' failed
make[2]: *** [build/MINGW32_NT-6.2/simulator/main.o] Error 1
In file included from gui/src/screen2_screen/Screen2View.cpp:1:0:
gui/include/gui/screen2_screen/Screen2View.hpp:9:1: error: expected
initializer before 'class'
 class Screen2View : public Screen2ViewBase
 ^~~~~
simulator/gcc/Makefile:211: recipe for target
'build/MINGW32_NT-6.2/generated/gui_generated/src/common/FrontendApplicationBase.o'
failed
make[2]: ***
[build/MINGW32_NT-6.2/generated/gui_generated/src/common/FrontendApplicationBase.o]
Error 1
simulator/gcc/Makefile:211: recipe for target
'build/MINGW32_NT-6.2/gui/src/screen2_screen/Screen2View.o' failed
make[2]: *** [build/MINGW32_NT-6.2/gui/src/screen2_screen/Screen2View.o]
Error 1
In file included from
generated/gui_generated/include/gui_generated/screen1_screen/Screen1ViewBase.hpp:9:0,
                 from gui/include/gui/screen1_screen/Screen1View.hpp:4,
                 from gui/src/screen1_screen/Screen1Presenter.cpp:1:
gui/include/gui/screen1_screen/Screen1Presenter.hpp:11:1: error:
expected initializer before 'class'
 class Screen1View;
 ^~~~~
gui/include/gui/screen1_screen/Screen1Presenter.hpp:37:33: error:
expected ')' before '&' token
     Screen1Presenter(Screen1View& v);
                                 ^
gui/include/gui/screen1_screen/Screen1Presenter.hpp:56:5: error:
'Screen1View' does not name a type
     Screen1View& view;
     ^~~~~~~~~~~
gui/include/gui/screen1_screen/Screen1Presenter.hpp:13:7: error: 'class
Screen1Presenter' only defines private constructors and has no friends
[-Werror=ctor-dtor-privacy]
 class Screen1Presenter : public Presenter, public ModelListener
       ^~~~~~~~~~~~~~~~
In file included from gui/src/screen1_screen/Screen1Presenter.cpp:1:0:
gui/include/gui/screen1_screen/Screen1View.hpp:9:1: error: expected
initializer before 'class'
 class Screen1View : public Screen1ViewBase
 ^~~~~
cc1plus.exe: all warnings being treated as errors
simulator/gcc/Makefile:211: recipe for target
'build/MINGW32_NT-6.2/gui/src/screen1_screen/Screen1Presenter.o' failed
make[2]: ***
[build/MINGW32_NT-6.2/gui/src/screen1_screen/Screen1Presenter.o] Error 1
In file included from
generated/gui_generated/include/gui_generated/screen1_screen/Screen1ViewBase.hpp:9:0,
                 from
generated/gui_generated/src/screen1_screen/Screen1ViewBase.cpp:4:
gui/include/gui/screen1_screen/Screen1Presenter.hpp:11:1: error:
expected initializer before 'class'
 class Screen1View;
 ^~~~~
gui/include/gui/screen1_screen/Screen1Presenter.hpp:37:33: error:
expected ')' before '&' token
     Screen1Presenter(Screen1View& v);
                                 ^
gui/include/gui/screen1_screen/Screen1Presenter.hpp:56:5: error:
'Screen1View' does not name a type
     Screen1View& view;
     ^~~~~~~~~~~
gui/include/gui/screen1_screen/Screen1Presenter.hpp:13:7: error: 'class
Screen1Presenter' only defines private constructors and has no friends
[-Werror=ctor-dtor-privacy]
 class Screen1Presenter : public Presenter, public ModelListener
       ^~~~~~~~~~~~~~~~
cc1plus.exe: all warnings being treated as errors
simulator/gcc/Makefile:211: recipe for target
'build/MINGW32_NT-6.2/generated/gui_generated/src/screen1_screen/Screen1ViewBase.o'
failed
make[2]: ***
[build/MINGW32_NT-6.2/generated/gui_generated/src/screen1_screen/Screen1ViewBase.o]
Error 1
In file included from gui/src/screen2_screen/Screen2Presenter.cpp:1:0:
gui/include/gui/screen2_screen/Screen2View.hpp:9:1: error: expected
initializer before 'class'
 class Screen2View : public Screen2ViewBase
 ^~~~~
simulator/gcc/Makefile:211: recipe for target
'build/MINGW32_NT-6.2/gui/src/screen2_screen/Screen2Presenter.o' failed
make[2]: ***
[build/MINGW32_NT-6.2/gui/src/screen2_screen/Screen2Presenter.o] Error 1
simulator/gcc/Makefile:173: recipe for target 'generate_assets' failed
make[1]: *** [generate_assets] Error 2
simulator/gcc/Makefile:31: recipe for target 'all' failed
make: *** [all] Error 2
Sorry for this log.
Take a look and tell me your opinion regarding the warnings/errors.
Regards,
Daniel.
Em 31/01/2019 06:22, ST Community escreveu: