diff --git a/include/Mw/TypeDefs.h b/include/Mw/TypeDefs.h index 285b2b9..e9cf0f0 100644 --- a/include/Mw/TypeDefs.h +++ b/include/Mw/TypeDefs.h @@ -103,6 +103,7 @@ struct _MwMenu { struct _MwEntry { int cursor; + int right; }; #define MwCursorDataHeight 16 diff --git a/src/widget/entry.c b/src/widget/entry.c index 91a8f7b..1cbb2da 100644 --- a/src/widget/entry.c +++ b/src/widget/entry.c @@ -28,7 +28,7 @@ static void draw(MwWidget handle) { r.x = 0; r.y = 0; - r.width = MwGetInteger(handle, MwNwidth); + r.width = MwGetInteger(handle, MwNwidth) - t->right; r.height = MwGetInteger(handle, MwNheight); MwDrawFrame(handle, &r, base, (handle->pressed || MwGetInteger(handle, MwNchecked)) ? 1 : 0); diff --git a/src/widget/numberentry.c b/src/widget/numberentry.c index 3835971..c47f9de 100644 --- a/src/widget/numberentry.c +++ b/src/widget/numberentry.c @@ -3,9 +3,13 @@ static int create(MwWidget handle) { int st; + MwEntry e; if((st = MwEntryClass->create(handle)) != 0) return st; + e = handle->internal; + e->right = 32; + return 0; } @@ -29,6 +33,8 @@ static void key(MwWidget handle, int code) { ok = 1; } else if(code == '.' && strchr(str, (int)'.') == NULL) { ok = 1; + }else if(code == MwLLKeyBackSpace || code == MwLLKeyLeft || code == MwLLKeyRight){ + ok = 1; } if(ok) MwEntryClass->key(handle, code);