forked from pyrite-dev/milsko
fix bug
git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@725 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
parent
2325c97db3
commit
45c8395839
5 changed files with 21 additions and 4 deletions
|
|
@ -102,6 +102,7 @@ struct _MwMenu {
|
|||
struct _MwEntry {
|
||||
int cursor;
|
||||
int right;
|
||||
int length;
|
||||
MwPoint mouse;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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 = {
|
||||
|
|
|
|||
|
|
@ -458,6 +458,8 @@ static void mwListBoxResetImpl(MwWidget handle) {
|
|||
|
||||
lb->selected = -1;
|
||||
|
||||
MwSetInteger(lb->vscroll, MwNvalue, 0);
|
||||
|
||||
resize(handle);
|
||||
MwForceRender(lb->frame);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue