#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
//#include <gtk/gtk.h>
//#include <cairo/cairo.h>
#include <math.h>
#include "gtk_structs.h"
#include "gtk_funcs.h"

int main(int argc, char **argv){
	gtk_init (&argc, &argv);
	gint ret_index = -1;
	const gchar *image_label = "Image";
	const gchar *map_label = "Map";
	struct MainWindow mw_cont;
	struct NoteBook nb_cont;
	struct CairoPicBox Image_win;
	struct CairoPicBox Map_win;
	struct ButtonTable Image_bt;
	struct ButtonTable Map_bt;

	mw_cont.window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
	gtk_container_set_border_width (GTK_CONTAINER(mw_cont.window), 2);
	gtk_window_set_default_size(GTK_WINDOW(mw_cont.window),800,600);
	gtk_window_set_title(GTK_WINDOW(mw_cont.window), "wesmap v0.0.1");

	nb_cont.book        = gtk_notebook_new();
	nb_cont.page_label1 = gtk_label_new(image_label);
	nb_cont.page_label2 = gtk_label_new(map_label);

	Map_win.pane   = gtk_hpaned_new();
	Image_win.pane = gtk_hpaned_new();
	gtk_paned_set_position(GTK_PANED(Image_win.pane), 600);
	gtk_paned_set_position(GTK_PANED(Map_win.pane), 600);

	Map_win.drawing_area   = gtk_drawing_area_new();
	Image_win.drawing_area = gtk_drawing_area_new();

	Image_bt.table = gtk_table_new(3, 1, TRUE);
	Map_bt.table   = gtk_table_new(3, 1, TRUE);

	Image_bt.button1 = gtk_button_new_with_label("test1");
	Image_bt.button2 = gtk_button_new_with_label("test2");
	Image_bt.button3 = gtk_button_new_with_label("test3");
	Map_bt.button1   = gtk_button_new_with_label("test1");
	Map_bt.button2   = gtk_button_new_with_label("test2");
	Map_bt.button3   = gtk_button_new_with_label("test3");

	gtk_table_attach(GTK_TABLE(Image_bt.table), Image_bt.button1, 0, 1, 0, 1, GTK_EXPAND|GTK_FILL, 0, GTK_EXPAND|GTK_FILL, 0);
	gtk_table_attach(GTK_TABLE(Image_bt.table), Image_bt.button2, 0, 1, 1, 2, GTK_EXPAND|GTK_FILL, 0, GTK_EXPAND|GTK_FILL, 0);
	gtk_table_attach(GTK_TABLE(Image_bt.table), Image_bt.button3, 0, 1, 2, 3, GTK_EXPAND|GTK_FILL, 0, GTK_EXPAND|GTK_FILL, 0);

	gtk_table_attach(GTK_TABLE(Map_bt.table),   Map_bt.button1,   0, 1, 0, 1, GTK_EXPAND|GTK_FILL, 0, GTK_EXPAND|GTK_FILL, 0);
	gtk_table_attach(GTK_TABLE(Map_bt.table),   Map_bt.button2,   0, 1, 1, 2, GTK_EXPAND|GTK_FILL, 0, GTK_EXPAND|GTK_FILL, 0);
	gtk_table_attach(GTK_TABLE(Map_bt.table),   Map_bt.button3,   0, 1, 2, 3, GTK_EXPAND|GTK_FILL, 0, GTK_EXPAND|GTK_FILL, 0);

	gtk_paned_pack1(GTK_PANED(Image_win.pane),GTK_WIDGET(Image_win.drawing_area),TRUE, TRUE);
	gtk_paned_pack2(GTK_PANED(Image_win.pane),GTK_WIDGET(Image_bt.table),        TRUE, TRUE);
	gtk_paned_pack1(GTK_PANED(Map_win.pane),  GTK_WIDGET(Map_win.drawing_area),  TRUE, TRUE);
	gtk_paned_pack2(GTK_PANED(Map_win.pane),  GTK_WIDGET(Map_bt.table),          TRUE, TRUE);



	gtk_notebook_append_page(GTK_NOTEBOOK(nb_cont.book), GTK_WIDGET(Image_win.pane), GTK_WIDGET(nb_cont.page_label1));
	gtk_notebook_append_page(GTK_NOTEBOOK(nb_cont.book), GTK_WIDGET(Map_win.pane),   GTK_WIDGET(nb_cont.page_label2));	


	gtk_container_add (GTK_CONTAINER(mw_cont.window), GTK_WIDGET(nb_cont.book));

	gtk_widget_show_all(GTK_WIDGET(mw_cont.window));
	g_signal_connect(GTK_WINDOW(mw_cont.window), "destroy", G_CALLBACK(on_destroy), NULL);

	gtk_main ();

	return 0;
}
