59 lines
1.2 KiB
C++
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;
|
|
}
|