Files
panopainter/engine/node_text_input.cpp

59 lines
1.2 KiB
C++

#include "pch.h"
#include "log.h"
#include "node_text_input.h"
Node* NodeTextInput::clone_instantiate() const
{
return new NodeTextInput();
}
void NodeTextInput::init()
{
init_controls();
}
void NodeTextInput::init_controls()
{
m_text = new NodeText;
add_child(m_text);
m_text->m_font = "arial";
m_text->m_font_size = 11;
m_text->m_text = "TextInput";
m_text->create();
}
kEventResult NodeTextInput::handle_event(Event* e)
{
KeyEvent* ke = (KeyEvent*)e;
switch (e->m_type)
{
case kEventType::MouseDownL:
break;
case kEventType::MouseUpL:
key_capture();
break;
case kEventType::KeyDown:
//switch (ke->m_key)
//{
//case VK_BACK:
// m_string.erase(m_string.end() - 1);
// m_text->set_text(m_string.c_str());
// break;
//default:
// break;
//}
break;
case kEventType::KeyChar:
if (ke->m_char >= 32 && ke->m_char < (32 + 96))
{
m_string += (char)ke->m_key;
m_text->set_text(m_string.c_str());
}
break;
default:
return kEventResult::Available;
break;
}
return kEventResult::Consumed;
}