2024-01-19 04:11 AM
1) How can I make the TextArea widget clickable and handle the PRESSED and RELEASED events separately?
2) How to create a keyboard? When the TextArea is clicked, the keyboard appears, numeric data is entered, and it closes. Is there an example of a project using a keyboard?
2024-01-19 09:42 AM
Hello
You can get press and release events if you add Click- callback .
First set item 'clickListener' selected from Mixins- selections from your textArea.
then add callback funtion definitions to your View.hpp
class Screen1View : public Screen1ViewBase
{
public:
Screen1View();
virtual ~Screen1View() {}
virtual void setupScreen();
virtual void tearDownScreen();
// add this:
void textAreaClickHandler(const TextArea& b, const ClickEvent& e);
protected:
// and this:
Callback<Screen1View, const TextArea&, const ClickEvent&> textAreaClickedCallback;
};
then modify your View.cpp:
#include <gui/screen1_screen/Screen1View.hpp>
// Add this if use touchgfx_printf- in simulator
#include <touchgfx/Utils.hpp>
// in constuctor, bind this view object to function which handles the event:
Screen1View::Screen1View():
textAreaClickedCallback(this, &Screen1View::textAreaClickHandler)
{
}
void Screen1View::setupScreen()
{
Screen1ViewBase::setupScreen();
//set the textArea1 action to exucute callback
textArea1.setClickAction(textAreaClickedCallback);
}
void Screen1View::tearDownScreen()
{
Screen1ViewBase::tearDownScreen();
}
//Add this clickHandler:
void Screen1View::textAreaClickHandler(const TextArea& b, const ClickEvent& evt)
{
if (&b == &textArea1)
{
switch(evt.getType())
{
case ClickEvent::PRESSED:
touchgfx_printf("Pressed textArea1 \r\n");
break;
case ClickEvent::RELEASED:
touchgfx_printf("Released textArea1 \r\n");
break;
//default:
case ClickEvent::CANCEL:
touchgfx_printf("Cancel textArea1 \r\n");
break;
}
}
}
This example is tested with simulator in versio 4.21.4.
you can get more detailed info here
https://support.touchgfx.com/docs/development/ui-development/touchgfx-engine-features/mixins
also here is same issue with flexButton
2) There is example keyboard in this thread
https://community.st.com/t5/stm32-mcus-touch-gfx-and-gui/share-your-custom-widgets/td-p/67889
Hope this helps for forward
Br JTP