[melonDS] uiControlSetFocus
This commit is contained in:
parent
5bd78c1932
commit
0de1a8ec30
|
@ -57,6 +57,11 @@ void uiControlDisable(uiControl *c)
|
|||
(*(c->Disable))(c);
|
||||
}
|
||||
|
||||
void uiControlSetFocus(uiControl *c)
|
||||
{
|
||||
(*(c->SetFocus))(c);
|
||||
}
|
||||
|
||||
#define uiprivControlSignature 0x7569436F
|
||||
|
||||
uiControl *uiAllocControl(size_t size, uint32_t OSsig, uint32_t typesig, const char *typenamestr)
|
||||
|
|
2
ui.h
2
ui.h
|
@ -91,6 +91,7 @@ struct uiControl {
|
|||
int (*Enabled)(uiControl *);
|
||||
void (*Enable)(uiControl *);
|
||||
void (*Disable)(uiControl *);
|
||||
void (*SetFocus)(uiControl *);
|
||||
};
|
||||
// TOOD add argument names to all arguments
|
||||
#define uiControl(this) ((uiControl *) (this))
|
||||
|
@ -105,6 +106,7 @@ _UI_EXTERN void uiControlHide(uiControl *);
|
|||
_UI_EXTERN int uiControlEnabled(uiControl *);
|
||||
_UI_EXTERN void uiControlEnable(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 void uiFreeControl(uiControl *);
|
||||
|
|
|
@ -83,6 +83,11 @@ _UI_EXTERN void uiUnixControlSetContainer(uiUnixControl *, GtkContainer *, gbool
|
|||
{ \
|
||||
gtk_widget_set_sensitive(type(c)->widget, FALSE); \
|
||||
}
|
||||
#define uiUnixControlDefaultSetFocus(type) \
|
||||
static void type ## SetFocus(uiControl *c) \
|
||||
{ \
|
||||
gtk_widget_grab_focus(type(c)->widget); \
|
||||
}
|
||||
// TODO this whole addedBefore stuff is a MASSIVE HACK.
|
||||
#define uiUnixControlDefaultSetContainer(type) \
|
||||
static void type ## SetContainer(uiUnixControl *c, GtkContainer *container, gboolean remove) \
|
||||
|
@ -110,6 +115,7 @@ _UI_EXTERN void uiUnixControlSetContainer(uiUnixControl *, GtkContainer *, gbool
|
|||
uiUnixControlDefaultEnabled(type) \
|
||||
uiUnixControlDefaultEnable(type) \
|
||||
uiUnixControlDefaultDisable(type) \
|
||||
uiUnixControlDefaultSetFocus(type) \
|
||||
uiUnixControlDefaultSetContainer(type)
|
||||
|
||||
#define uiUnixControlAllDefaults(type) \
|
||||
|
@ -130,6 +136,7 @@ _UI_EXTERN void uiUnixControlSetContainer(uiUnixControl *, GtkContainer *, gbool
|
|||
uiControl(var)->Enabled = type ## Enabled; \
|
||||
uiControl(var)->Enable = type ## Enable; \
|
||||
uiControl(var)->Disable = type ## Disable; \
|
||||
uiControl(var)->SetFocus = type ## SetFocus; \
|
||||
uiUnixControl(var)->SetContainer = type ## SetContainer;
|
||||
// TODO document
|
||||
_UI_EXTERN uiUnixControl *uiUnixAllocControl(size_t n, uint32_t typesig, const char *typenamestr);
|
||||
|
|
|
@ -102,6 +102,11 @@ _UI_EXTERN void uiWindowsControlChildVisibilityChanged(uiWindowsControl *);
|
|||
uiWindowsControl(c)->enabled = 0; \
|
||||
uiWindowsControlSyncEnableState(uiWindowsControl(c), uiControlEnabledToUser(c)); \
|
||||
}
|
||||
#define uiWindowsControlDefaultSetFocus(type) \
|
||||
static void type ## SetFocus(uiControl *c) \
|
||||
{ \
|
||||
SetFocus(type(c)->hwnd); \
|
||||
}
|
||||
#define uiWindowsControlDefaultSyncEnableState(type) \
|
||||
static void type ## SyncEnableState(uiWindowsControl *c, int enabled) \
|
||||
{ \
|
||||
|
@ -152,6 +157,7 @@ _UI_EXTERN void uiWindowsControlChildVisibilityChanged(uiWindowsControl *);
|
|||
uiWindowsControlDefaultEnabled(type) \
|
||||
uiWindowsControlDefaultEnable(type) \
|
||||
uiWindowsControlDefaultDisable(type) \
|
||||
uiWindowsControlDefaultSetFocus(type) \
|
||||
uiWindowsControlDefaultSyncEnableState(type) \
|
||||
uiWindowsControlDefaultSetParentHWND(type) \
|
||||
uiWindowsControlDefaultMinimumSizeChanged(type) \
|
||||
|
@ -177,6 +183,7 @@ _UI_EXTERN void uiWindowsControlChildVisibilityChanged(uiWindowsControl *);
|
|||
uiControl(var)->Enabled = type ## Enabled; \
|
||||
uiControl(var)->Enable = type ## Enable; \
|
||||
uiControl(var)->Disable = type ## Disable; \
|
||||
uiControl(var)->SetFocus = type ## SetFocus; \
|
||||
uiWindowsControl(var)->SyncEnableState = type ## SyncEnableState; \
|
||||
uiWindowsControl(var)->SetParentHWND = type ## SetParentHWND; \
|
||||
uiWindowsControl(var)->MinimumSize = type ## MinimumSize; \
|
||||
|
|
|
@ -112,6 +112,7 @@ uiUnixControlDefaultHide(uiWindow)
|
|||
uiUnixControlDefaultEnabled(uiWindow)
|
||||
uiUnixControlDefaultEnable(uiWindow)
|
||||
uiUnixControlDefaultDisable(uiWindow)
|
||||
uiUnixControlDefaultSetFocus(uiWindow)
|
||||
// TODO?
|
||||
uiUnixControlDefaultSetContainer(uiWindow)
|
||||
|
||||
|
|
|
@ -143,6 +143,7 @@ uiWindowsControlDefaultHide(uiBox)
|
|||
uiWindowsControlDefaultEnabled(uiBox)
|
||||
uiWindowsControlDefaultEnable(uiBox)
|
||||
uiWindowsControlDefaultDisable(uiBox)
|
||||
uiWindowsControlDefaultSetFocus(uiBox)
|
||||
|
||||
static void uiBoxSyncEnableState(uiWindowsControl *c, int enabled)
|
||||
{
|
||||
|
|
|
@ -147,6 +147,7 @@ uiWindowsControlDefaultHide(uiForm)
|
|||
uiWindowsControlDefaultEnabled(uiForm)
|
||||
uiWindowsControlDefaultEnable(uiForm)
|
||||
uiWindowsControlDefaultDisable(uiForm)
|
||||
uiWindowsControlDefaultSetFocus(uiForm)
|
||||
|
||||
static void uiFormSyncEnableState(uiWindowsControl *c, int enabled)
|
||||
{
|
||||
|
|
|
@ -436,6 +436,7 @@ uiWindowsControlDefaultHide(uiGrid)
|
|||
uiWindowsControlDefaultEnabled(uiGrid)
|
||||
uiWindowsControlDefaultEnable(uiGrid)
|
||||
uiWindowsControlDefaultDisable(uiGrid)
|
||||
uiWindowsControlDefaultSetFocus(uiGrid)
|
||||
|
||||
static void uiGridSyncEnableState(uiWindowsControl *c, int enabled)
|
||||
{
|
||||
|
|
|
@ -75,6 +75,7 @@ uiWindowsControlDefaultHide(uiGroup)
|
|||
uiWindowsControlDefaultEnabled(uiGroup)
|
||||
uiWindowsControlDefaultEnable(uiGroup)
|
||||
uiWindowsControlDefaultDisable(uiGroup)
|
||||
uiWindowsControlDefaultSetFocus(uiGroup)
|
||||
|
||||
static void uiGroupSyncEnableState(uiWindowsControl *c, int enabled)
|
||||
{
|
||||
|
|
|
@ -112,6 +112,7 @@ uiWindowsControlDefaultHide(uiTab)
|
|||
uiWindowsControlDefaultEnabled(uiTab)
|
||||
uiWindowsControlDefaultEnable(uiTab)
|
||||
uiWindowsControlDefaultDisable(uiTab)
|
||||
uiWindowsControlDefaultSetFocus(uiTab)
|
||||
|
||||
static void uiTabSyncEnableState(uiWindowsControl *c, int enabled)
|
||||
{
|
||||
|
|
|
@ -232,6 +232,7 @@ static void uiWindowHide(uiControl *c)
|
|||
uiWindowsControlDefaultEnabled(uiWindow)
|
||||
uiWindowsControlDefaultEnable(uiWindow)
|
||||
uiWindowsControlDefaultDisable(uiWindow)
|
||||
uiWindowsControlDefaultSetFocus(uiWindow)
|
||||
// TODO we need to do something about undocumented fields in the OS control types
|
||||
uiWindowsControlDefaultSyncEnableState(uiWindow)
|
||||
// TODO
|
||||
|
|
Loading…
Reference in New Issue