uiControl: add uiControlSetFocus to windows part
This commit is contained in:
parent
7e671da5d0
commit
e07bbebe93
|
@ -57,6 +57,11 @@ void uiControlDisable(uiControl *c)
|
||||||
(*(c->Disable))(c);
|
(*(c->Disable))(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void uiControlSetFocus(uiControl *c)
|
||||||
|
{
|
||||||
|
(*(c->SetFocus))(c);
|
||||||
|
}
|
||||||
|
|
||||||
#define uiprivControlSignature 0x7569436F
|
#define uiprivControlSignature 0x7569436F
|
||||||
|
|
||||||
uiControl *uiAllocControl(size_t size, uint32_t OSsig, uint32_t typesig, const char *typenamestr)
|
uiControl *uiAllocControl(size_t size, uint32_t OSsig, uint32_t typesig, const char *typenamestr)
|
||||||
|
|
2
ui.h
2
ui.h
|
@ -97,6 +97,7 @@ struct uiControl {
|
||||||
int (*Enabled)(uiControl *);
|
int (*Enabled)(uiControl *);
|
||||||
void (*Enable)(uiControl *);
|
void (*Enable)(uiControl *);
|
||||||
void (*Disable)(uiControl *);
|
void (*Disable)(uiControl *);
|
||||||
|
void (*SetFocus)(uiControl *);
|
||||||
};
|
};
|
||||||
// TOOD add argument names to all arguments
|
// TOOD add argument names to all arguments
|
||||||
#define uiControl(this) ((uiControl *) (this))
|
#define uiControl(this) ((uiControl *) (this))
|
||||||
|
@ -111,6 +112,7 @@ _UI_EXTERN void uiControlHide(uiControl *);
|
||||||
_UI_EXTERN int uiControlEnabled(uiControl *);
|
_UI_EXTERN int uiControlEnabled(uiControl *);
|
||||||
_UI_EXTERN void uiControlEnable(uiControl *);
|
_UI_EXTERN void uiControlEnable(uiControl *);
|
||||||
_UI_EXTERN void uiControlDisable(uiControl *);
|
_UI_EXTERN void uiControlDisable(uiControl *);
|
||||||
|
_UI_EXTERN void uiControlSetFocus(uiControl *);
|
||||||
|
|
||||||
_UI_EXTERN uiControl *uiAllocControl(size_t n, uint32_t OSsig, uint32_t typesig, const char *typenamestr);
|
_UI_EXTERN uiControl *uiAllocControl(size_t n, uint32_t OSsig, uint32_t typesig, const char *typenamestr);
|
||||||
_UI_EXTERN void uiFreeControl(uiControl *);
|
_UI_EXTERN void uiFreeControl(uiControl *);
|
||||||
|
|
|
@ -102,6 +102,11 @@ _UI_EXTERN void uiWindowsControlChildVisibilityChanged(uiWindowsControl *);
|
||||||
uiWindowsControl(c)->enabled = 0; \
|
uiWindowsControl(c)->enabled = 0; \
|
||||||
uiWindowsControlSyncEnableState(uiWindowsControl(c), uiControlEnabledToUser(c)); \
|
uiWindowsControlSyncEnableState(uiWindowsControl(c), uiControlEnabledToUser(c)); \
|
||||||
}
|
}
|
||||||
|
#define uiWindowsControlDefaultSetFocus(type) \
|
||||||
|
static void type ## SetFocus(uiControl *c) \
|
||||||
|
{ \
|
||||||
|
uiWindowsSetFocus(type(c)->hwnd); \
|
||||||
|
}
|
||||||
#define uiWindowsControlDefaultSyncEnableState(type) \
|
#define uiWindowsControlDefaultSyncEnableState(type) \
|
||||||
static void type ## SyncEnableState(uiWindowsControl *c, int enabled) \
|
static void type ## SyncEnableState(uiWindowsControl *c, int enabled) \
|
||||||
{ \
|
{ \
|
||||||
|
@ -152,6 +157,7 @@ _UI_EXTERN void uiWindowsControlChildVisibilityChanged(uiWindowsControl *);
|
||||||
uiWindowsControlDefaultEnabled(type) \
|
uiWindowsControlDefaultEnabled(type) \
|
||||||
uiWindowsControlDefaultEnable(type) \
|
uiWindowsControlDefaultEnable(type) \
|
||||||
uiWindowsControlDefaultDisable(type) \
|
uiWindowsControlDefaultDisable(type) \
|
||||||
|
uiWindowsControlDefaultSetFocus(type) \
|
||||||
uiWindowsControlDefaultSyncEnableState(type) \
|
uiWindowsControlDefaultSyncEnableState(type) \
|
||||||
uiWindowsControlDefaultSetParentHWND(type) \
|
uiWindowsControlDefaultSetParentHWND(type) \
|
||||||
uiWindowsControlDefaultMinimumSizeChanged(type) \
|
uiWindowsControlDefaultMinimumSizeChanged(type) \
|
||||||
|
@ -177,6 +183,7 @@ _UI_EXTERN void uiWindowsControlChildVisibilityChanged(uiWindowsControl *);
|
||||||
uiControl(var)->Enabled = type ## Enabled; \
|
uiControl(var)->Enabled = type ## Enabled; \
|
||||||
uiControl(var)->Enable = type ## Enable; \
|
uiControl(var)->Enable = type ## Enable; \
|
||||||
uiControl(var)->Disable = type ## Disable; \
|
uiControl(var)->Disable = type ## Disable; \
|
||||||
|
uiControl(var)->SetFocus = type ## SetFocus; \
|
||||||
uiWindowsControl(var)->SyncEnableState = type ## SyncEnableState; \
|
uiWindowsControl(var)->SyncEnableState = type ## SyncEnableState; \
|
||||||
uiWindowsControl(var)->SetParentHWND = type ## SetParentHWND; \
|
uiWindowsControl(var)->SetParentHWND = type ## SetParentHWND; \
|
||||||
uiWindowsControl(var)->MinimumSize = type ## MinimumSize; \
|
uiWindowsControl(var)->MinimumSize = type ## MinimumSize; \
|
||||||
|
@ -199,6 +206,8 @@ _UI_EXTERN void uiWindowsEnsureDestroyWindow(HWND hwnd);
|
||||||
// TODO document that this should only be used in SetParentHWND() implementations
|
// TODO document that this should only be used in SetParentHWND() implementations
|
||||||
_UI_EXTERN void uiWindowsEnsureSetParentHWND(HWND hwnd, HWND parent);
|
_UI_EXTERN void uiWindowsEnsureSetParentHWND(HWND hwnd, HWND parent);
|
||||||
|
|
||||||
|
_UI_EXTERN void uiWindowsSetFocus(HWND hwnd);
|
||||||
|
|
||||||
// TODO document
|
// TODO document
|
||||||
_UI_EXTERN void uiWindowsEnsureAssignControlIDZOrder(HWND hwnd, LONG_PTR *controlID, HWND *insertAfter);
|
_UI_EXTERN void uiWindowsEnsureAssignControlIDZOrder(HWND hwnd, LONG_PTR *controlID, HWND *insertAfter);
|
||||||
|
|
||||||
|
|
|
@ -143,6 +143,7 @@ uiWindowsControlDefaultHide(uiBox)
|
||||||
uiWindowsControlDefaultEnabled(uiBox)
|
uiWindowsControlDefaultEnabled(uiBox)
|
||||||
uiWindowsControlDefaultEnable(uiBox)
|
uiWindowsControlDefaultEnable(uiBox)
|
||||||
uiWindowsControlDefaultDisable(uiBox)
|
uiWindowsControlDefaultDisable(uiBox)
|
||||||
|
uiWindowsControlDefaultSetFocus(uiBox)
|
||||||
|
|
||||||
static void uiBoxSyncEnableState(uiWindowsControl *c, int enabled)
|
static void uiBoxSyncEnableState(uiWindowsControl *c, int enabled)
|
||||||
{
|
{
|
||||||
|
|
|
@ -147,6 +147,7 @@ uiWindowsControlDefaultHide(uiForm)
|
||||||
uiWindowsControlDefaultEnabled(uiForm)
|
uiWindowsControlDefaultEnabled(uiForm)
|
||||||
uiWindowsControlDefaultEnable(uiForm)
|
uiWindowsControlDefaultEnable(uiForm)
|
||||||
uiWindowsControlDefaultDisable(uiForm)
|
uiWindowsControlDefaultDisable(uiForm)
|
||||||
|
uiWindowsControlDefaultSetFocus(uiForm)
|
||||||
|
|
||||||
static void uiFormSyncEnableState(uiWindowsControl *c, int enabled)
|
static void uiFormSyncEnableState(uiWindowsControl *c, int enabled)
|
||||||
{
|
{
|
||||||
|
|
|
@ -436,6 +436,7 @@ uiWindowsControlDefaultHide(uiGrid)
|
||||||
uiWindowsControlDefaultEnabled(uiGrid)
|
uiWindowsControlDefaultEnabled(uiGrid)
|
||||||
uiWindowsControlDefaultEnable(uiGrid)
|
uiWindowsControlDefaultEnable(uiGrid)
|
||||||
uiWindowsControlDefaultDisable(uiGrid)
|
uiWindowsControlDefaultDisable(uiGrid)
|
||||||
|
uiWindowsControlDefaultSetFocus(uiGrid)
|
||||||
|
|
||||||
static void uiGridSyncEnableState(uiWindowsControl *c, int enabled)
|
static void uiGridSyncEnableState(uiWindowsControl *c, int enabled)
|
||||||
{
|
{
|
||||||
|
|
|
@ -75,6 +75,7 @@ uiWindowsControlDefaultHide(uiGroup)
|
||||||
uiWindowsControlDefaultEnabled(uiGroup)
|
uiWindowsControlDefaultEnabled(uiGroup)
|
||||||
uiWindowsControlDefaultEnable(uiGroup)
|
uiWindowsControlDefaultEnable(uiGroup)
|
||||||
uiWindowsControlDefaultDisable(uiGroup)
|
uiWindowsControlDefaultDisable(uiGroup)
|
||||||
|
uiWindowsControlDefaultSetFocus(uiGroup)
|
||||||
|
|
||||||
static void uiGroupSyncEnableState(uiWindowsControl *c, int enabled)
|
static void uiGroupSyncEnableState(uiWindowsControl *c, int enabled)
|
||||||
{
|
{
|
||||||
|
|
|
@ -112,6 +112,7 @@ uiWindowsControlDefaultHide(uiTab)
|
||||||
uiWindowsControlDefaultEnabled(uiTab)
|
uiWindowsControlDefaultEnabled(uiTab)
|
||||||
uiWindowsControlDefaultEnable(uiTab)
|
uiWindowsControlDefaultEnable(uiTab)
|
||||||
uiWindowsControlDefaultDisable(uiTab)
|
uiWindowsControlDefaultDisable(uiTab)
|
||||||
|
uiWindowsControlDefaultSetFocus(uiTab)
|
||||||
|
|
||||||
static void uiTabSyncEnableState(uiWindowsControl *c, int enabled)
|
static void uiTabSyncEnableState(uiWindowsControl *c, int enabled)
|
||||||
{
|
{
|
||||||
|
|
|
@ -236,6 +236,7 @@ uiWindowsControlDefaultDisable(uiWindow)
|
||||||
uiWindowsControlDefaultSyncEnableState(uiWindow)
|
uiWindowsControlDefaultSyncEnableState(uiWindow)
|
||||||
// TODO
|
// TODO
|
||||||
uiWindowsControlDefaultSetParentHWND(uiWindow)
|
uiWindowsControlDefaultSetParentHWND(uiWindow)
|
||||||
|
uiWindowsControlDefaultSetFocus(uiWindow)
|
||||||
|
|
||||||
static void uiWindowMinimumSize(uiWindowsControl *c, int *width, int *height)
|
static void uiWindowMinimumSize(uiWindowsControl *c, int *width, int *height)
|
||||||
{
|
{
|
||||||
|
|
|
@ -59,3 +59,9 @@ void uiWindowsEnsureGetWindowRect(HWND hwnd, RECT *r)
|
||||||
r->bottom = 0;
|
r->bottom = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void uiWindowsSetFocus(HWND hwnd)
|
||||||
|
{
|
||||||
|
if (SetFocus(hwnd) == 0)
|
||||||
|
logLastError(L"error setting ficus");
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue