source: svn/trunk/newcon3bcm2_21bu/dta/src/sim/gtk_cb.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: 7.0 KB
Line 
1#include "gtk_cb.h"
2#include "gtk_app_p.h"
3#include "gtk_app.h"
4
5void gtk_cb_file_new( GtkWidget *menu_item,
6                                          gpointer   callback_data )
7{
8        gtk_app_h h_gtk_app = (gtk_app_h)callback_data;
9        const gchar *label = gtk_menu_item_get_label(GTK_MENU_ITEM (menu_item));   
10
11        g_print ("%s - %s\n",__FUNCTION__,label);
12        //gtk_app_new();
13}
14void gtk_cb_file_open( GtkWidget *menu_item,
15                                           gpointer   callback_data )
16{
17        gtk_app_h h_gtk_app = (gtk_app_h)callback_data;
18        const gchar *label = gtk_menu_item_get_label(GTK_MENU_ITEM (menu_item));   
19
20        g_print ("%s - %s\n",__FUNCTION__,label);
21        //gtk_app_open();
22}
23void gtk_cb_file_save( GtkWidget *menu_item,
24                                           gpointer   callback_data )
25{
26        gtk_app_h h_gtk_app = (gtk_app_h)callback_data;
27        const gchar *label = gtk_menu_item_get_label(GTK_MENU_ITEM (menu_item));   
28
29        g_print ("%s - %s\n",__FUNCTION__,label);
30
31        //gtk_doc_save(h_doc);
32}
33void gtk_cb_file_saveas( GtkWidget *menu_item,
34                                                 gpointer   callback_data )
35{
36        gtk_app_h h_gtk_app = (gtk_app_h)callback_data;
37        const gchar *label = gtk_menu_item_get_label(GTK_MENU_ITEM (menu_item));   
38
39        g_print ("%s - %s\n",__FUNCTION__,label);
40        //gtk_doc_saveas(h_doc);
41}
42void gtk_cb_file_quit( GtkWidget *menu_item,
43                                           gpointer   callback_data )
44{
45        gtk_app_h h_gtk_app = (gtk_app_h)callback_data;
46        const gchar *label = gtk_menu_item_get_label(GTK_MENU_ITEM (menu_item));   
47
48        g_print ("%s - %s\n",__FUNCTION__,label);
49        gtk_app_quit();
50}
51void gtk_cb_edit_cut( GtkWidget *menu_item,
52                                          gpointer   callback_data)
53{
54        gtk_app_h h_gtk_app = (gtk_app_h)callback_data;
55        const gchar *label = gtk_menu_item_get_label(GTK_MENU_ITEM (menu_item));   
56
57        g_print ("%s - %s\n",__FUNCTION__,label);
58}
59void gtk_cb_edit_copy( GtkWidget *menu_item,
60                                           gpointer   callback_data)
61{
62        gtk_app_h h_gtk_app = (gtk_app_h)callback_data;
63        const gchar *label = gtk_menu_item_get_label(GTK_MENU_ITEM (menu_item));   
64
65        g_print ("%s - %s\n",__FUNCTION__,label);
66}
67void gtk_cb_edit_paste( GtkWidget *menu_item,
68                                                gpointer   callback_data)
69{
70        gtk_app_h h_gtk_app = (gtk_app_h)callback_data;
71        const gchar *label = gtk_menu_item_get_label(GTK_MENU_ITEM (menu_item));   
72
73        g_print ("%s - %s\n",__FUNCTION__,label);
74}
75void gtk_cb_edit_delete( GtkWidget *menu_item,
76                                                 gpointer   callback_data)
77{
78        gtk_app_h h_gtk_app = (gtk_app_h)callback_data;
79        const gchar *label = gtk_menu_item_get_label(GTK_MENU_ITEM (menu_item));   
80
81        g_print ("%s - %s\n",__FUNCTION__,label);
82}
83void gtk_cb_about_menu( GtkWidget *menu_item,
84                                                gpointer   callback_data)
85{
86        gtk_app_h h_gtk_app = (gtk_app_h)callback_data;
87
88        gtk_dialog_run(h_gtk_app->about_dlg);
89        gtk_widget_hide( GTK_WIDGET(h_gtk_app->about_dlg) );
90}
91
92extern void gtk_remote_clicked(GtkWidget      *widget,
93                                                           GdkEventButton *event,
94                                                           gpointer        user_data);
95
96gboolean gtk_cb_remote_clicked (GtkWidget      *widget,
97                                                                GdkEventButton *event,
98                                                                gpointer        user_data) 
99{
100        gtk_app_h h_gtk_app = (gtk_app_h)user_data;
101
102        g_print ("gtk_cb_remote_clicked - %3.2f,%3.2f\n",event->x,event->y);
103        gtk_remote_clicked(widget,event,user_data);
104}
105
106
107void gtk_cb_item_init( gtk_app_h h_gtk_app,GtkBuilder *builder)
108{
109#if 0
110        GtkWidget *widget;
111
112        widget = GTK_WIDGET( gtk_builder_get_object( builder, "toolbar_images_add" ) );
113        NTV_ASSERT(widget);
114        g_signal_connect (G_OBJECT (widget), "clicked",
115                                          G_CALLBACK (gtk_cb_option_add_image), h_doc);
116
117        widget = GTK_WIDGET( gtk_builder_get_object( builder, "toolbar_images_delete" ) );
118        NTV_ASSERT(widget);
119        g_signal_connect (G_OBJECT (widget), "clicked",
120                                          G_CALLBACK (gtk_cb_option_delete_image), h_doc);
121#endif
122}
123
124void gtk_cb_menu_init( gtk_app_h h_gtk_app,GtkBuilder *builder)
125{
126        GtkWidget *widget;
127
128        gtk_cb_item_init(h_gtk_app,builder);
129
130        widget = GTK_WIDGET( gtk_builder_get_object( builder, "file.new" ) );
131        APP_ASSERT(widget);
132        g_signal_connect (G_OBJECT (widget), "activate",
133                                          G_CALLBACK (gtk_cb_file_new), h_gtk_app);
134
135        widget = GTK_WIDGET( gtk_builder_get_object( builder, "file.open" ) );
136        APP_ASSERT(widget);
137        g_signal_connect (G_OBJECT (widget), "activate",
138                                          G_CALLBACK (gtk_cb_file_open), h_gtk_app);
139
140        widget = GTK_WIDGET( gtk_builder_get_object( builder, "file.save" ) );
141        APP_ASSERT(widget);
142        g_signal_connect (G_OBJECT (widget), "activate",
143                                          G_CALLBACK (gtk_cb_file_save), h_gtk_app);
144
145        widget = GTK_WIDGET( gtk_builder_get_object( builder, "file.saveas" ) );
146        APP_ASSERT(widget);
147        g_signal_connect (G_OBJECT (widget), "activate",
148                                          G_CALLBACK (gtk_cb_file_saveas), h_gtk_app);
149
150        widget = GTK_WIDGET( gtk_builder_get_object( builder, "file.quit" ) );
151        APP_ASSERT(widget);
152        g_signal_connect (G_OBJECT (widget), "activate",
153                                          G_CALLBACK (gtk_cb_file_quit), h_gtk_app);
154
155        widget = GTK_WIDGET( gtk_builder_get_object( builder, "edit.cut" ) );
156        APP_ASSERT(widget);
157        g_signal_connect (G_OBJECT (widget), "activate",
158                                          G_CALLBACK (gtk_cb_edit_cut), h_gtk_app);
159
160        widget = GTK_WIDGET( gtk_builder_get_object( builder, "edit.copy" ) );
161        APP_ASSERT(widget);
162        g_signal_connect (G_OBJECT (widget), "activate",
163                                          G_CALLBACK (gtk_cb_edit_copy), h_gtk_app);
164
165        widget = GTK_WIDGET( gtk_builder_get_object( builder, "edit.paste" ) );
166        APP_ASSERT(widget);
167        g_signal_connect (G_OBJECT (widget), "activate",
168                                          G_CALLBACK (gtk_cb_edit_paste), h_gtk_app);
169
170        widget = GTK_WIDGET( gtk_builder_get_object( builder, "edit.delete" ) );
171        APP_ASSERT(widget);
172        g_signal_connect (G_OBJECT (widget), "activate",
173                                          G_CALLBACK (gtk_cb_edit_delete), h_gtk_app);
174
175        widget = GTK_WIDGET( gtk_builder_get_object( builder, "help.about" ) );
176        APP_ASSERT(widget);
177        g_signal_connect (G_OBJECT (widget), "activate",
178                                          G_CALLBACK (gtk_cb_about_menu), h_gtk_app);
179
180}
181
182void gtk_cb_screen_select(GtkTreeView        *treeview,
183                       GtkTreePath        *path,
184                       GtkTreeViewColumn  *col,
185                       gpointer            userdata)
186{
187        gtk_app_h h_gtk_app = (gtk_app_h)userdata;
188        int *i;
189        GtkTreeSelection *tvs = gtk_tree_view_get_selection(h_gtk_app->screen_list);
190        i = gtk_tree_path_get_indices ( path ) ;
191        if (!i)
192                return;
193
194        sim_screen_set_screen(h_gtk_app->h_sim,i[0]);
195
196        //gtk_tree_selection_unselect_all(tvs);
197}
198#if 0
199void insert_text_handler (GtkEntry    *entry,
200                                                  const gchar *text,
201                                                  gint         length,
202                                                  gint        *position,
203                                                  gpointer     data)
204{
205        GtkEditable *editable = GTK_EDITABLE(entry);
206        int i, count=0;
207        gchar *result = g_new (gchar, length);
208
209        for (i=0; i < length; i++)
210        {
211                if (!isalpha(text[i]))
212                        continue;
213                result[count++] = islower(text[i]) ? toupper(text[i]) : text[i];
214        }
215        if (count > 0)
216        {
217                g_signal_handlers_block_by_func (G_OBJECT (editable),
218                                                                                 G_CALLBACK (insert_text_handler),
219                                                                                 data);
220                gtk_editable_insert_text (editable, result, count, position);
221                g_signal_handlers_unblock_by_func (G_OBJECT (editable),
222                                                                                   G_CALLBACK (insert_text_handler),
223                                                                                   data);
224        }
225        g_signal_stop_emission_by_name (G_OBJECT (editable), "insert_text");
226
227        g_free (result);
228}
229g_signal_connect(G_OBJECT(entry), "insert_text",
230                     G_CALLBACK(insert_text_handler),
231                     NULL);
232#endif
233
Note: See TracBrowser for help on using the repository browser.