Working with Callbacks
Hi,
I am trying to get a simple numpad on screen working by using callbacks, rather than virtual functions.
Here is the Screen1View.cpp.
#include <gui/screen1_screen/Screen1View.hpp>
Screen1View::Screen1View() :
// TextClickedCallback(this, &Screen1View::editTextClickHandler){}
numpadCallback(this, &Screen1View::numpadClickHandler){}
void Screen1View::setupScreen()
{
Screen1ViewBase::setupScreen();
// editText.setClickAction(TextClickedCallback);
Button_0.setClickAction(numpadCallback);
Button_1.setClickAction(numpadCallback);
Button_2.setClickAction(numpadCallback);
Button_3.setClickAction(numpadCallback);
Button_4.setClickAction(numpadCallback);
Button_5.setClickAction(numpadCallback);
Button_6.setClickAction(numpadCallback);
Button_7.setClickAction(numpadCallback);
Button_8.setClickAction(numpadCallback);
Button_9.setClickAction(numpadCallback);
Button_neg.setClickAction(numpadCallback);
Button_back.setClickAction(numpadCallback);
Button_dec.setClickAction(numpadCallback);
Button_OK.setClickAction(numpadCallback);
}
void Screen1View::tearDownScreen()
{
Screen1ViewBase::tearDownScreen();
}
/*
void Screen1View::editTextClickHandler(const TextAreaWithOneWildcard& t, const ClickEvent& evt)
{
if (&t == &editText)
{
remove(keyboard);
keyboard.setPosition(380, 240, 400, 220);
add(keyboard);
keyboard.invalidate();
}
}
*/
void Screen1View::numpadClickHandler(const ButtonWithLabel& b, const ClickEvent& evt)
{
TypedText h = *&b.getLabel();
}What I would like to know is, how do I determine the label of the button clicked to know which it is, and how do I implement multiple Callbacks on one screen? I don't get this syntax
Screen1View::Screen1View() :
numpadCallback(this, &Screen1View::numpadClickHandler){}How would I implement the second TextClickedCallback like in the code above?