mirror of
https://github.com/lvgl/lvgl.git
synced 2025-01-28 07:03:00 +08:00
Added POS1 and END support to lv_ta
This commit is contained in:
parent
84781c62c2
commit
86b34460dd
@ -36,6 +36,8 @@ extern "C" {
|
|||||||
#define LV_GROUP_KEY_ENTER 10 /*0x0A, '\n'*/
|
#define LV_GROUP_KEY_ENTER 10 /*0x0A, '\n'*/
|
||||||
#define LV_GROUP_KEY_NEXT 9 /*0x09, '\t'*/
|
#define LV_GROUP_KEY_NEXT 9 /*0x09, '\t'*/
|
||||||
#define LV_GROUP_KEY_PREV 11 /*0x0B, '*/
|
#define LV_GROUP_KEY_PREV 11 /*0x0B, '*/
|
||||||
|
#define LV_GROUP_KEY_POS1 2 /*0x02, STX*/
|
||||||
|
#define LV_GROUP_KEY_END 3 /*0x03, ETX*/
|
||||||
|
|
||||||
#if USE_LV_GROUP != 0
|
#if USE_LV_GROUP != 0
|
||||||
/**********************
|
/**********************
|
||||||
|
@ -351,6 +351,17 @@ void lv_ta_del_char(lv_obj_t * ta)
|
|||||||
lv_ta_set_cursor_pos(ta, ext->cursor.pos - 1);
|
lv_ta_set_cursor_pos(ta, ext->cursor.pos - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete the right character from the current cursor position
|
||||||
|
* @param ta pointer to a text area object
|
||||||
|
*/
|
||||||
|
void lv_ta_del_char_forward(lv_obj_t * ta)
|
||||||
|
{
|
||||||
|
uint16_t cp = lv_ta_get_cursor_pos(ta);
|
||||||
|
lv_ta_set_cursor_pos(ta, cp + 1);
|
||||||
|
if(cp != lv_ta_get_cursor_pos(ta)) lv_ta_del_char(ta);
|
||||||
|
}
|
||||||
|
|
||||||
/*=====================
|
/*=====================
|
||||||
* Setter functions
|
* Setter functions
|
||||||
*====================*/
|
*====================*/
|
||||||
@ -1051,11 +1062,9 @@ static lv_res_t lv_ta_signal(lv_obj_t * ta, lv_signal_t sign, void * param)
|
|||||||
else if(c == LV_GROUP_KEY_UP) lv_ta_cursor_up(ta);
|
else if(c == LV_GROUP_KEY_UP) lv_ta_cursor_up(ta);
|
||||||
else if(c == LV_GROUP_KEY_DOWN) lv_ta_cursor_down(ta);
|
else if(c == LV_GROUP_KEY_DOWN) lv_ta_cursor_down(ta);
|
||||||
else if(c == LV_GROUP_KEY_BACKSPACE) lv_ta_del_char(ta);
|
else if(c == LV_GROUP_KEY_BACKSPACE) lv_ta_del_char(ta);
|
||||||
else if(c == LV_GROUP_KEY_DEL) {
|
else if(c == LV_GROUP_KEY_DEL) lv_ta_del_char_forward(ta);
|
||||||
uint16_t cp = lv_ta_get_cursor_pos(ta);
|
else if(c == LV_GROUP_KEY_POS1) lv_ta_set_cursor_pos(ta, 0);
|
||||||
lv_ta_set_cursor_pos(ta, cp + 1);
|
else if(c == LV_GROUP_KEY_END) lv_ta_set_cursor_pos(ta, LV_TA_CURSOR_LAST);
|
||||||
if(cp != lv_ta_get_cursor_pos(ta)) lv_ta_del_char(ta);
|
|
||||||
}
|
|
||||||
else {
|
else {
|
||||||
lv_ta_add_char(ta, c);
|
lv_ta_add_char(ta, c);
|
||||||
}
|
}
|
||||||
|
@ -122,6 +122,12 @@ void lv_ta_add_text(lv_obj_t * ta, const char * txt);
|
|||||||
*/
|
*/
|
||||||
void lv_ta_del_char(lv_obj_t * ta);
|
void lv_ta_del_char(lv_obj_t * ta);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete the right character from the current cursor position
|
||||||
|
* @param ta pointer to a text area object
|
||||||
|
*/
|
||||||
|
void lv_ta_del_char_forward(lv_obj_t * ta);
|
||||||
|
|
||||||
/*=====================
|
/*=====================
|
||||||
* Setter functions
|
* Setter functions
|
||||||
*====================*/
|
*====================*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user