#include <gtk/gtk.h>
#include<string.h>
#include<stdlib.h>


void destroy(GtkWidget *widget, gpointer data){
	gtk_main_quit();
}

void click(GtkWidget *widget, GdkEventButton *data, gpointer *po);

int main( int   argc,
          char *argv[] )
{
    	GtkWidget *window,*text[10],*box,*button[10],*box1,*box2,*box3,*box4,*sep;
	int t,padding=0,space=0;
	char name[15],no,isim[10][15]={"Expand FALSE","Fill FALSE","Padding 10","Homojen FALSE","Spacing 0","Expand TRUE","Fill TRUE","Padding 0","Homojen TRUE","Spacing 10"}, labelisim[6][15]={"expand = ","fill = ","padding  = ","homojen = ","spacing = "};
	gboolean expand=0,fill=0,homogen=0;
	
	
void click(GtkWidget *widget, GdkEventButton *data, gpointer *po){
	
	if(!strcmp(gtk_widget_get_name(GTK_WIDGET(po)),"button5"))
		expand=1;
	else if(!strcmp(gtk_widget_get_name(GTK_WIDGET(po)),"button0"))
		expand=0;
	else if(!strcmp(gtk_widget_get_name(GTK_WIDGET(po)),"button6"))
		fill=1;
	else if(!strcmp(gtk_widget_get_name(GTK_WIDGET(po)),"button1"))
		fill=0;
	else if(!strcmp(gtk_widget_get_name(GTK_WIDGET(po)),"button7"))
		padding=0;
	else if(!strcmp(gtk_widget_get_name(GTK_WIDGET(po)),"button2"))
		padding=10;
	else if(!strcmp(gtk_widget_get_name(GTK_WIDGET(po)),"button8"))
		homogen=1;
	else if(!strcmp(gtk_widget_get_name(GTK_WIDGET(po)),"button3"))	
		homogen=0;
	else if(!strcmp(gtk_widget_get_name(GTK_WIDGET(po)),"button9"))
		space=10;
	else if(!strcmp(gtk_widget_get_name(GTK_WIDGET(po)),"button4"))
		space=0;
	else g_print("ALOO");
	
	gtk_box_set_homogeneous(GTK_BOX(box3),homogen);
	gtk_box_set_spacing(GTK_BOX(box3),space);
	gtk_box_set_homogeneous(GTK_BOX(box4),homogen);
	gtk_box_set_spacing(GTK_BOX(box4),space);
	
	for(t=4;t<5;t++){
		gtk_box_set_child_packing (GTK_BOX(box3),text[t],expand,fill,padding,GTK_PACK_START);
		gtk_box_set_child_packing (GTK_BOX(box4),button[t],expand,fill,padding,GTK_PACK_START);
	}
	
	strcpy(name,labelisim[4]);
	if(space==0)
		strcat(name,"0");
	else
		strcat(name,"10");
	
	gtk_label_set_text(GTK_LABEL(text[4]),name);
	
	strcpy(name,labelisim[0]);
	t=strlen(name);
	name[t]=expand+48;
	name[t+1]=0;
	gtk_label_set_text(GTK_LABEL(text[0]),name);

	strcpy(name,labelisim[1]);
	t=strlen(name);
	name[t]=fill+48;
	name[t+1]=0;
	gtk_label_set_text(GTK_LABEL(text[1]),name);

	strcpy(name,labelisim[2]);
	if(padding==0)
		strcat(name,"0");
	else
		strcat(name,"10");

	gtk_label_set_text(GTK_LABEL(text[2]),name);

	strcpy(name,labelisim[3]);
	t=strlen(name);
	name[t]=homogen+48;
	name[t+1]=0;
	gtk_label_set_text(GTK_LABEL(text[3]),name);

	



}

    	gtk_init (&argc, &argv);

    	window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    	gtk_window_set_title((GtkWindow *)window,"�lk Program");
	gtk_widget_set_usize(window,700,200);
    	gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
    	gtk_signal_connect_object(GTK_OBJECT(window),"destroy",GTK_SIGNAL_FUNC(destroy),NULL);
	
	gtk_container_set_border_width (GTK_CONTAINER (window), 10);
   
	
	box1=gtk_hbox_new(TRUE,0);
	box=gtk_hbox_new(TRUE,0);
	box2=gtk_vbox_new(FALSE,0);
	box3=gtk_hbox_new(homogen,space);
	box4=gtk_hbox_new(homogen,space);
	
	sep=gtk_hseparator_new();
	
	for(t=0;t<5;t++){
		strcpy(name,"label");
		name[6]=t+48;
		name[7]='\0';
		text[t]=gtk_label_new(labelisim[t]);
		gtk_label_set_justify(GTK_LABEL(text[t]),GTK_JUSTIFY_FILL);
		gtk_box_pack_start(GTK_BOX(box3),text[t],expand,fill,space);
		
		gtk_widget_show(text[t]);
	}
	
	gtk_box_pack_start(GTK_BOX(box2),box3,FALSE,FALSE,0);
	gtk_widget_show(box3);
	
		
	for(t=0;t<10;t++){
		strcpy(name,"button");
		name[6]=t+48;
		name[7]='\0';
		button[t]=gtk_button_new_with_label(isim[t]);
		gtk_widget_set_name(GTK_WIDGET(button[t]),name);
		gtk_widget_set_usize(button[t],100,20);
		gtk_signal_connect_object(GTK_OBJECT(button[t]),"button_release_event",GTK_SIGNAL_FUNC(click),(gpointer)box3);
		if(t>4)
			gtk_box_pack_start(GTK_BOX(box1),button[t],FALSE,FALSE,0);
		else
			gtk_box_pack_start(GTK_BOX(box),button[t],FALSE,FALSE,0);
		gtk_widget_show(button[t]);
	}

	for(t=0;t<5;t++){
		button[t]=gtk_button_new_with_label("button");
		gtk_box_pack_start(GTK_BOX(box4),button[t],expand,fill,space);
		gtk_widget_show(button[t]);
	}
	
	gtk_box_pack_start (GTK_BOX (box2), box4,FALSE,FALSE,0);
	gtk_widget_show(box4);
	gtk_box_pack_start(GTK_BOX(box2), sep,FALSE,FALSE,10);
	gtk_widget_show(sep);
	gtk_box_pack_start (GTK_BOX (box2), box1,FALSE,FALSE,0);
	gtk_widget_show(box1);
	gtk_box_pack_start (GTK_BOX (box2), box,FALSE,FALSE,0);
	gtk_widget_show(box);
	gtk_container_add (GTK_CONTAINER (window), box2);
	gtk_widget_show(box2);
	


	gtk_widget_show  (window);

 	gtk_main ();


 	return(0);
}