#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; }