#include #include #include #include #include "gtk_dlg.h" #include "gtk_app_types.h" void insert_number_text_handler (GtkEntry *entry, const gchar *text, gint length, gint *position, gpointer data) { #if 0 GtkEditable *editable = GTK_EDITABLE(entry); int i, count=0; gchar *result = g_new (gchar, length); for (i=0; i < length; i++) { if (!isalpha(text[i])) continue; result[count++] = islower(text[i]) ? toupper(text[i]) : text[i]; } if (count > 0) { g_signal_handlers_block_by_func (G_OBJECT (editable), G_CALLBACK (insert_number_text_handler), data); gtk_editable_insert_text (editable, result, count, position); g_signal_handlers_unblock_by_func (G_OBJECT (editable), G_CALLBACK (insert_number_text_handler), data); } g_signal_stop_emission_by_name (G_OBJECT (editable), "insert_text"); g_free (result); #endif int i; GtkEditable *editable = GTK_EDITABLE(entry); for (i=0; i < length; i++) { if (!isdigit(text[i])) g_signal_stop_emission_by_name (G_OBJECT (editable), "insert_text"); } } void gtk_confirm_dlg_init(confirm_dlg_t *p_dlg,GtkBuilder *builder) { p_dlg->confirm_dlg = GTK_MESSAGE_DIALOG( gtk_builder_get_object( builder, "message_dialog" ) ); APP_ASSERT(p_dlg->confirm_dlg); } bool gtk_confirm_dlg(confirm_dlg_t *p_dlg, char * warning) { gint response; /* Populate the dialog */ gtk_message_dialog_set_markup(p_dlg->confirm_dlg,warning); response = gtk_dialog_run(GTK_DIALOG(p_dlg->confirm_dlg)); gtk_widget_hide( GTK_WIDGET(p_dlg->confirm_dlg) ); return ( response == GTK_RESPONSE_OK) ? true : false; } void gtk_alert_dlg_init(alert_dlg_t *p_dlg,GtkBuilder *builder) { p_dlg->dlg = GTK_MESSAGE_DIALOG( gtk_builder_get_object( builder, "alert_dialog" ) ); APP_ASSERT(p_dlg->dlg); } void gtk_alert_dlg(alert_dlg_t *p_dlg, char * message) { /* Populate the dialog */ gtk_message_dialog_set_markup(p_dlg->dlg,message); gtk_dialog_run(GTK_DIALOG(p_dlg->dlg)); gtk_widget_hide( GTK_WIDGET(p_dlg->dlg) ); }