static void QueryPeriodicCallback(TXT_UNCAST_ARG(results_table)) { TXT_CAST_ARG(txt_table_t, results_table); if (!NET_Query_Poll(QueryResponseCallback, results_table)) { TXT_SetPeriodicCallback(NULL, NULL, 0); if (query_servers_found == 0) { TXT_AddWidget(results_table, NULL); TXT_AddWidget(results_table, TXT_NewLabel("No servers found.")); } } }
static void ServerQueryWindow(const char *title) { txt_table_t *results_table; query_servers_found = 0; query_window = TXT_NewWindow(title); TXT_AddWidget(query_window, TXT_NewScrollPane(70, 10, results_table = TXT_NewTable(3))); TXT_SetColumnWidths(results_table, 7, 22, 40); TXT_SetPeriodicCallback(QueryPeriodicCallback, results_table, 1); TXT_SignalConnect(query_window, "closed", QueryWindowClosed, NULL); }
static void QueryWindowClosed(TXT_UNCAST_ARG(window), void *unused) { TXT_SetPeriodicCallback(NULL, NULL, 0); }