git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@725 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
NishiOwO
2025-11-14 19:03:01 +00:00
parent 2325c97db3
commit 45c8395839
5 changed files with 21 additions and 4 deletions

View File

@@ -343,8 +343,8 @@ MwWidget MwColorPicker(MwWidget handle, const char* title) {
color_picker_t* wheel;
MwWidget window;
MwSizeHints sh;
int ww = MwGetInteger(handle, MwNwidth);
int wh = MwGetInteger(handle, MwNheight);
int ww = handle == NULL ? 0 : MwGetInteger(handle, MwNwidth);
int wh = handle == NULL ? 0 : MwGetInteger(handle, MwNheight);
int wx;
int wy;

View File

@@ -459,8 +459,8 @@ static void scan(MwWidget handle, const char* path, int record) {
MwWidget MwFileChooser(MwWidget handle, const char* title) {
MwWidget window;
MwPoint p;
int ww = MwGetInteger(handle, MwNwidth);
int wh = MwGetInteger(handle, MwNheight);
int ww = handle == NULL ? 0 : MwGetInteger(handle, MwNwidth);
int wh = handle == NULL ? 0 : MwGetInteger(handle, MwNheight);
int w, h;
filechooser_t* fc = malloc(sizeof(*fc));
char* path;

View File

@@ -6,6 +6,7 @@ static int create(MwWidget handle) {
t->cursor = 0;
t->right = 0;
t->length = 0;
handle->internal = t;
MwSetDefault(handle);
@@ -135,11 +136,24 @@ static void key(MwWidget handle, int code) {
free(out);
}
t->length = MwUTF8Length(MwGetText(handle, MwNtext));
MwForceRender(handle);
}
static void prop_change(MwWidget handle, const char* prop) {
if(strcmp(prop, MwNtext) == 0 || strcmp(prop, MwNhideInput) == 0) MwForceRender(handle);
if(strcmp(prop, MwNtext) == 0) {
MwEntry t = handle->internal;
int len = MwUTF8Length(MwGetText(handle, MwNtext));
if(len < t->cursor) {
t->cursor = len;
} else if(t->length == t->cursor) {
t->cursor = len;
}
t->length = len;
}
}
MwClassRec MwEntryClassRec = {

View File

@@ -458,6 +458,8 @@ static void mwListBoxResetImpl(MwWidget handle) {
lb->selected = -1;
MwSetInteger(lb->vscroll, MwNvalue, 0);
resize(handle);
MwForceRender(lb->frame);
}