Added new GUI based on wxWidgets. Patch from bit.

This commit is contained in:
pcem_emulator 2017-05-29 15:38:48 +01:00
commit 7fe91626d6
60 changed files with 11647 additions and 78 deletions

View file

@ -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);