Added new GUI based on wxWidgets. Patch from bit.
This commit is contained in:
parent
a2f44b8ea7
commit
7fe91626d6
60 changed files with 11647 additions and 78 deletions
30
src/pc.c
30
src/pc.c
|
|
@ -586,6 +586,22 @@ void closepc()
|
|||
|
||||
END_OF_MAIN();*/
|
||||
|
||||
typedef struct config_callback_t
|
||||
{
|
||||
void(*loadconfig)();
|
||||
void(*saveconfig)();
|
||||
void(*onloaded)();
|
||||
} config_callback_t;
|
||||
config_callback_t config_callbacks[10];
|
||||
int num_config_callbacks = 0;
|
||||
|
||||
void add_config_callback(void(*loadconfig)(), void(*saveconfig)(), void(*onloaded)())
|
||||
{
|
||||
config_callbacks[num_config_callbacks].loadconfig = loadconfig;
|
||||
config_callbacks[num_config_callbacks].saveconfig = saveconfig;
|
||||
config_callbacks[num_config_callbacks].onloaded = onloaded;
|
||||
num_config_callbacks++;
|
||||
}
|
||||
|
||||
void loadconfig(char *fn)
|
||||
{
|
||||
|
|
@ -734,6 +750,16 @@ void loadconfig(char *fn)
|
|||
}
|
||||
|
||||
enable_sync = config_get_int(CFG_MACHINE, NULL, "enable_sync", 1);
|
||||
|
||||
|
||||
for (d = 0; d < num_config_callbacks; ++d)
|
||||
if (config_callbacks[d].loadconfig)
|
||||
config_callbacks[d].loadconfig();
|
||||
|
||||
|
||||
for (d = 0; d < num_config_callbacks; ++d)
|
||||
if (config_callbacks[d].onloaded)
|
||||
config_callbacks[d].onloaded();
|
||||
}
|
||||
|
||||
void saveconfig(char *fn)
|
||||
|
|
@ -837,6 +863,10 @@ void saveconfig(char *fn)
|
|||
|
||||
config_set_int(CFG_MACHINE, NULL, "enable_sync", enable_sync);
|
||||
|
||||
for (d = 0; d < num_config_callbacks; ++d)
|
||||
if (config_callbacks[d].saveconfig)
|
||||
config_callbacks[d].saveconfig();
|
||||
|
||||
pclog("config_save(%s)\n", config_file_default);
|
||||
if (fn)
|
||||
config_save(CFG_MACHINE, fn);
|
||||
|
|
|
|||
Loading…
Reference in a new issue