entry: add text selection abilities. windows part
This commit is contained in:
parent
75e769b0cc
commit
e6b7670e97
2
ui.h
2
ui.h
|
@ -171,6 +171,8 @@ typedef struct uiEntry uiEntry;
|
||||||
#define uiEntry(this) ((uiEntry *) (this))
|
#define uiEntry(this) ((uiEntry *) (this))
|
||||||
_UI_EXTERN char *uiEntryText(uiEntry *e);
|
_UI_EXTERN char *uiEntryText(uiEntry *e);
|
||||||
_UI_EXTERN void uiEntrySetText(uiEntry *e, const char *text);
|
_UI_EXTERN void uiEntrySetText(uiEntry *e, const char *text);
|
||||||
|
_UI_EXTERN void uiEntrySelectText(uiEntry *e, int start, int end);
|
||||||
|
_UI_EXTERN void uiEntrySelectAllText(uiEntry *e);
|
||||||
_UI_EXTERN void uiEntryOnChanged(uiEntry *e, void (*f)(uiEntry *e, void *data), void *data);
|
_UI_EXTERN void uiEntryOnChanged(uiEntry *e, void (*f)(uiEntry *e, void *data), void *data);
|
||||||
_UI_EXTERN void uiEntryOnKeyEvent(uiEntry *e, int (*f)(uiEntry *e, uiAreaKeyEvent *event));
|
_UI_EXTERN void uiEntryOnKeyEvent(uiEntry *e, int (*f)(uiEntry *e, uiAreaKeyEvent *event));
|
||||||
_UI_EXTERN int uiEntryReadOnly(uiEntry *e);
|
_UI_EXTERN int uiEntryReadOnly(uiEntry *e);
|
||||||
|
|
|
@ -218,6 +218,7 @@ _UI_EXTERN void uiWindowsEnsureGetWindowRect(HWND hwnd, RECT *r);
|
||||||
// TODO document
|
// TODO document
|
||||||
_UI_EXTERN char *uiWindowsWindowText(HWND hwnd);
|
_UI_EXTERN char *uiWindowsWindowText(HWND hwnd);
|
||||||
_UI_EXTERN void uiWindowsSetWindowText(HWND hwnd, const char *text);
|
_UI_EXTERN void uiWindowsSetWindowText(HWND hwnd, const char *text);
|
||||||
|
_UI_EXTERN void uiWindowsSetlectWindowText(HWND hwnd, int start, int end);
|
||||||
|
|
||||||
// TODO document
|
// TODO document
|
||||||
_UI_EXTERN int uiWindowsWindowTextWidth(HWND hwnd);
|
_UI_EXTERN int uiWindowsWindowTextWidth(HWND hwnd);
|
||||||
|
|
|
@ -121,6 +121,18 @@ void uiEntrySetText(uiEntry *e, const char *text)
|
||||||
// don't queue the control for resize; entry sizes are independent of their contents
|
// don't queue the control for resize; entry sizes are independent of their contents
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void uiEntrySelectText(uiEntry *e, int start, int end)
|
||||||
|
{
|
||||||
|
e->inhibitChanged = TRUE;
|
||||||
|
uiWindowsSetlectWindowText(e->hwnd, start, end);
|
||||||
|
e->inhibitChanged = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void uiEntrySelectAllText(uiEntry *e)
|
||||||
|
{
|
||||||
|
uiEntrySelectText(e, 0, -1);
|
||||||
|
}
|
||||||
|
|
||||||
void uiEntryOnChanged(uiEntry *e, void (*f)(uiEntry *, void *), void *data)
|
void uiEntryOnChanged(uiEntry *e, void (*f)(uiEntry *, void *), void *data)
|
||||||
{
|
{
|
||||||
e->onChanged = f;
|
e->onChanged = f;
|
||||||
|
|
|
@ -106,6 +106,11 @@ void uiWindowsSetWindowText(HWND hwnd, const char *text)
|
||||||
uiprivFree(wtext);
|
uiprivFree(wtext);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void uiWindowsSetlectWindowText(HWND hwnd, int start, int end)
|
||||||
|
{
|
||||||
|
SendMessage(hwnd, EM_SETSEL, 0, -1);
|
||||||
|
}
|
||||||
|
|
||||||
int uiprivStricmp(const char *a, const char *b)
|
int uiprivStricmp(const char *a, const char *b)
|
||||||
{
|
{
|
||||||
WCHAR *wa, *wb;
|
WCHAR *wa, *wb;
|
||||||
|
|
Loading…
Reference in New Issue