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))
|
||||
_UI_EXTERN char *uiEntryText(uiEntry *e);
|
||||
_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 uiEntryOnKeyEvent(uiEntry *e, int (*f)(uiEntry *e, uiAreaKeyEvent *event));
|
||||
_UI_EXTERN int uiEntryReadOnly(uiEntry *e);
|
||||
|
|
|
@ -218,6 +218,7 @@ _UI_EXTERN void uiWindowsEnsureGetWindowRect(HWND hwnd, RECT *r);
|
|||
// TODO document
|
||||
_UI_EXTERN char *uiWindowsWindowText(HWND hwnd);
|
||||
_UI_EXTERN void uiWindowsSetWindowText(HWND hwnd, const char *text);
|
||||
_UI_EXTERN void uiWindowsSetlectWindowText(HWND hwnd, int start, int end);
|
||||
|
||||
// TODO document
|
||||
_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
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
e->onChanged = f;
|
||||
|
|
|
@ -106,6 +106,11 @@ void uiWindowsSetWindowText(HWND hwnd, const char *text)
|
|||
uiprivFree(wtext);
|
||||
}
|
||||
|
||||
void uiWindowsSetlectWindowText(HWND hwnd, int start, int end)
|
||||
{
|
||||
SendMessage(hwnd, EM_SETSEL, 0, -1);
|
||||
}
|
||||
|
||||
int uiprivStricmp(const char *a, const char *b)
|
||||
{
|
||||
WCHAR *wa, *wb;
|
||||
|
|
Loading…
Reference in New Issue