#include #include #include #include using namespace std; void submit_button_clicked (GtkWidget *widget, gpointer user_data) { GtkEntry* edit = (GtkEntry*)glade_xml_get_widget((GladeXML*)user_data, "message_entry"); string str = string(gtk_entry_get_text(edit)); GtkTextView* log = (GtkTextView*)glade_xml_get_widget((GladeXML*)user_data, "log_textview"); GtkTextBuffer* text = gtk_text_view_get_buffer(log); gtk_text_buffer_insert_at_cursor(text, (str + "\n").c_str(), -1); gtk_entry_set_text(edit, ""); } int main (int argc, char *argv[]) { GladeXML *main_window; gtk_init (&argc, &argv); main_window = glade_xml_new ("yann.glade", NULL, NULL); GtkWidget* widget = glade_xml_get_widget (main_window, "submit_button"); g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (submit_button_clicked), main_window); widget = glade_xml_get_widget (main_window, "main_window"); g_signal_connect (G_OBJECT (widget), "delete_event", G_CALLBACK (gtk_main_quit), NULL); gtk_main (); return 0; }