source: svn/trunk/newcon3bcm2_21bu/dta/src/sim/gtk_dlg.c @ 2

Last change on this file since 2 was 2, checked in by phkim, 11 years ago

1.phkim

  1. revision copy newcon3sk r27
  • Property svn:executable set to *
File size: 2.1 KB
Line 
1#include <gtk/gtk.h>
2#include <assert.h>
3#include <stdlib.h>
4#include <string.h>
5#include "gtk_dlg.h"
6#include "gtk_app_types.h"
7
8
9
10void insert_number_text_handler (GtkEntry    *entry,
11                                                  const gchar *text,
12                                                  gint         length,
13                                                  gint        *position,
14                                                  gpointer     data)
15{
16#if 0
17        GtkEditable *editable = GTK_EDITABLE(entry);
18        int i, count=0;
19        gchar *result = g_new (gchar, length);
20
21        for (i=0; i < length; i++)
22        {
23                if (!isalpha(text[i]))
24                        continue;
25                result[count++] = islower(text[i]) ? toupper(text[i]) : text[i];
26        }
27        if (count > 0)
28        {
29                g_signal_handlers_block_by_func (G_OBJECT (editable),
30                                                                                 G_CALLBACK (insert_number_text_handler),
31                                                                                 data);
32                gtk_editable_insert_text (editable, result, count, position);
33                g_signal_handlers_unblock_by_func (G_OBJECT (editable),
34                                                                                   G_CALLBACK (insert_number_text_handler),
35                                                                                   data);
36        }
37
38        g_signal_stop_emission_by_name (G_OBJECT (editable), "insert_text");
39
40        g_free (result);
41#endif
42        int i;
43        GtkEditable *editable = GTK_EDITABLE(entry);
44        for (i=0; i < length; i++)
45        {
46                if (!isdigit(text[i]))
47                        g_signal_stop_emission_by_name (G_OBJECT (editable), "insert_text");
48        }
49}
50
51void gtk_confirm_dlg_init(confirm_dlg_t *p_dlg,GtkBuilder *builder)
52{
53        p_dlg->confirm_dlg = GTK_MESSAGE_DIALOG( gtk_builder_get_object( builder, "message_dialog" ) );
54        APP_ASSERT(p_dlg->confirm_dlg);
55}
56
57bool gtk_confirm_dlg(confirm_dlg_t *p_dlg, char * warning)
58{
59        gint response;
60
61        /* Populate the dialog */
62        gtk_message_dialog_set_markup(p_dlg->confirm_dlg,warning);
63
64        response = gtk_dialog_run(GTK_DIALOG(p_dlg->confirm_dlg));
65        gtk_widget_hide( GTK_WIDGET(p_dlg->confirm_dlg) );
66
67        return ( response == GTK_RESPONSE_OK) ? true : false;
68}
69
70void gtk_alert_dlg_init(alert_dlg_t *p_dlg,GtkBuilder *builder)
71{
72        p_dlg->dlg = GTK_MESSAGE_DIALOG( gtk_builder_get_object( builder, "alert_dialog" ) );
73        APP_ASSERT(p_dlg->dlg);
74}
75
76void gtk_alert_dlg(alert_dlg_t *p_dlg, char * message)
77{
78        /* Populate the dialog */
79        gtk_message_dialog_set_markup(p_dlg->dlg,message);
80
81        gtk_dialog_run(GTK_DIALOG(p_dlg->dlg));
82        gtk_widget_hide( GTK_WIDGET(p_dlg->dlg) );
83}
84
Note: See TracBrowser for help on using the repository browser.