#include #include #include "conf.h" #include "log.h" #include "main.h" #include "globales.h" #include void write_msg(GtkWidget *pEntry, gpointer data); struct session s1, s2; void function_quit(GtkWidget *widget, gpointer data) { gtk_main_quit (); } void function_log(GtkWidget *widget, gpointer data) { dir_conf ((GtkWidget *)widget, (gpointer) data); log_conf ((GtkWidget *)widget, (gpointer) data); } int init_gtk () { GtkWidget* MainWindow; GtkWidget *vbox1; GtkWidget *hbox1; GtkWidget *toolbar1; GtkWidget *label1; GtkWidget *eButton; GtkWidget *menubar1; GtkWidget *menu1; GtkWidget *menuitem; GtkWidget *frame1; GtkWidget *VBoxFrame; GtkWidget *pScrolled; MainWindow = gtk_window_new (GTK_WINDOW_TOPLEVEL); vbox1 =gtk_vbox_new (FALSE, 0); hbox1 = gtk_hbox_new (FALSE, 0); toolbar1 = gtk_toolbar_new (); label1 = gtk_label_new ("#Channel"); eButton = gtk_button_new_with_label ("Valid"); entry1 = gtk_entry_new (); textview1 = gtk_text_view_new (); menubar1 = gtk_menu_bar_new(); menu1 = gtk_menu_new(); frame1 = gtk_frame_new("Messages"); VBoxFrame = gtk_vbox_new(FALSE, 0); pScrolled = gtk_scrolled_window_new(NULL, NULL); g_signal_connect (G_OBJECT (MainWindow), "show", G_CALLBACK ( function_log ), (gpointer) textview1); g_signal_connect (G_OBJECT (MainWindow), "show", G_CALLBACK ( start_session_log ), (gpointer) textview1); menuitem = gtk_menu_item_new_with_label("Connect"); gtk_menu_shell_append(GTK_MENU_SHELL(menu1), menuitem); //g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK ( func_connect ), (gpointer) textview1); menuitem = gtk_menu_item_new_with_label("Change server"); gtk_menu_shell_append(GTK_MENU_SHELL(menu1), menuitem); menuitem = gtk_menu_item_new_with_label("View log"); gtk_menu_shell_append(GTK_MENU_SHELL(menu1), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK ( show_log ), (gpointer) textview1); menuitem = gtk_menu_item_new_with_label("Clean log"); gtk_menu_shell_append(GTK_MENU_SHELL(menu1), menuitem); menuitem = gtk_menu_item_new_with_label("Quit"); gtk_menu_shell_append(GTK_MENU_SHELL(menu1), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK ( function_quit ), (GtkWidget*) MainWindow); menuitem = gtk_menu_item_new_with_label("Irchat"); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menu1); gtk_menu_shell_append(GTK_MENU_SHELL(menubar1), menuitem); menu1 = gtk_menu_new(); menuitem = gtk_menu_item_new_with_label("About..."); gtk_menu_shell_append(GTK_MENU_SHELL(menu1), menuitem); menuitem = gtk_menu_item_new_with_label("About"); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menu1); gtk_menu_shell_append(GTK_MENU_SHELL(menubar1), menuitem); gtk_container_add (GTK_CONTAINER (MainWindow), vbox1); gtk_container_add (GTK_CONTAINER (frame1), VBoxFrame); gtk_container_set_border_width(GTK_CONTAINER(frame1), 5); gtk_container_set_border_width(GTK_CONTAINER(VBoxFrame), 5); gtk_box_pack_start (GTK_BOX (vbox1), menubar1, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox1), toolbar1, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox1), frame1, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(VBoxFrame), pScrolled, TRUE, TRUE, 5); gtk_container_add(GTK_CONTAINER(pScrolled), textview1); gtk_box_pack_start (GTK_BOX (vbox1), hbox1, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox1), label1, FALSE, FALSE, 5); gtk_box_pack_start (GTK_BOX (hbox1), entry1, TRUE, TRUE, 5); gtk_box_pack_start (GTK_BOX (hbox1), eButton, FALSE, FALSE, 5); gtk_text_view_set_editable(GTK_TEXT_VIEW(textview1), FALSE); gtk_entry_set_max_length(GTK_ENTRY(entry1), 510); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(pScrolled), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_toolbar_insert_stock (GTK_TOOLBAR (toolbar1), GTK_STOCK_NEW, "New", NULL, NULL, NULL, -1); gtk_toolbar_insert_stock (GTK_TOOLBAR (toolbar1), GTK_STOCK_OPEN, "Open", NULL, NULL, NULL, -1); gtk_toolbar_insert_stock (GTK_TOOLBAR (toolbar1), GTK_STOCK_SAVE, "Save", NULL, NULL, NULL, -1); gtk_toolbar_insert_stock (GTK_TOOLBAR (toolbar1), GTK_STOCK_QUIT, "Quit", NULL, G_CALLBACK (gtk_main_quit), NULL, -1); gtk_toolbar_set_style (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_ICONS); g_signal_connect(G_OBJECT(entry1), "activate", G_CALLBACK(write_msg), (GtkWidget*) textview1); g_signal_connect(G_OBJECT(eButton), "clicked", G_CALLBACK(write_msg), (GtkWidget*) textview1); g_signal_connect (G_OBJECT (MainWindow), "delete-event", G_CALLBACK ( function_quit ), NULL); gtk_window_set_title (GTK_WINDOW (MainWindow), "Fenetre irchat"); gtk_window_set_default_size (GTK_WINDOW (MainWindow), 800, 600); gtk_window_set_position (GTK_WINDOW (MainWindow), GTK_WIN_POS_CENTER); gtk_widget_show_all (MainWindow); gtk_main (); gtk_exit (EXIT_SUCCESS); return EXIT_SUCCESS; }