void InitWidgetStatus(ConfigFile *config_file) { FuncInfo *func = g_load_func; WidgetInfo *widget = NULL; WidgetInformation *lib = NULL; while(func != NULL){ widget = func->widget_list; while(widget != NULL){ char *widget_type = widget->type; lib = widget_table; if(widget_type != NULL){ while(lib->widget_name != NULL){ if(strcmp(widget_type, lib->widget_name) == 0){ if(lib->InitWidget != NULL){ lib->InitWidget(g_cngplp_xml, g_cngplp_data, (gpointer *)widget); } if(widget->func != NULL){ lib->SpecialFunction(g_cngplp_data, widget->name); } break; } lib++; } } widget = widget->next; } func = func->next; } }