bool REManipulator::MouseDoubleClicked(const REPoint& pointInScene, unsigned long flags) { if(IsEditable()) { StartEditing(); return true; } return false; }
static int TXT_InputBoxKeyPress(TXT_UNCAST_ARG(inputbox), int key) { TXT_CAST_ARG(txt_inputbox_t, inputbox); unsigned int c; if (!inputbox->editing) { if (key == KEY_ABUTTON) { StartEditing(inputbox); return 1; } // Backspace or delete erases the contents of the box. if ((key == KEY_DEL || key == KEY_BACKSPACE) && inputbox->widget.widget_class == &txt_inputbox_class) { free(*((char **)inputbox->value)); *((char **) inputbox->value) = strdup(""); } return 0; } if (key == KEY_ABUTTON) { FinishEditing(inputbox); } if (key == KEY_BBUTTON) { inputbox->editing = 0; } if (key == KEY_BACKSPACE) { Backspace(inputbox); } c = TXT_KEY_TO_UNICODE(key); // Add character to the buffer, but only if it's a printable character // that we can represent on the screen. if (isprint(c) || (c >= 128 && TXT_CanDrawCharacter(c))) { AddCharacter(inputbox, c); } return 1; }
static int TXT_InputBoxKeyPress(TXT_UNCAST_ARG(inputbox), int key) { TXT_CAST_ARG(txt_inputbox_t, inputbox); unsigned int c; if (!inputbox->editing) { if (key == KEY_ENTER) { StartEditing(inputbox); return 1; } // Backspace or delete erases the contents of the box. if ((key == KEY_DEL || key == KEY_BACKSPACE) && inputbox->widget.widget_class == &txt_inputbox_class) { free(*((char **)inputbox->value)); *((char **) inputbox->value) = strdup(""); } return 0; } if (key == KEY_ENTER) { FinishEditing(inputbox); } if (key == KEY_ESCAPE) { inputbox->editing = 0; } if (key == KEY_BACKSPACE) { Backspace(inputbox); } c = TXT_KEY_TO_UNICODE(key); if (c >= 128 || isprint(c)) { // Add character to the buffer AddCharacter(inputbox, c); } return 1; }