All pastes #676127 Raw Edit

Miscellany

public text v1 · immutable
#676127 ·published 2007-08-30 20:05 UTC
rendered paste body
#include <stdlib.h>
#include <gtk/gtk.h>
#include "conf.h"
#include "log.h"
#include "main.h"
#include "globales.h"
#include <string.h>

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;
}