added worldarea -> will be responsible for world map rendering
[dboe.git] / main.c
blob9e4d39d95efbe6d94d24e32f54dcee7c79b69736
1 #include <gtk/gtk.h>
2 #include <gdk/gdkkeysyms.h>
3 #include "worldarea.h"
5 gboolean key_press_cb(GtkWidget *w, GdkEvent *e, gpointer d) {
6 switch (e->key.keyval) {
7 case GDK_q: gtk_main_quit();
8 break;
9 case GDK_w: printf("joooooooo\n");
10 // game_win->move_up();
11 break;
12 default: return FALSE;
13 break;
16 return TRUE;
19 int main(int argc, char **argv) {
20 gtk_init(&argc, &argv);
22 GtkWidget *main_win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
24 gtk_window_set_title(GTK_WINDOW(main_win), "Deadly Blades of Exile");
26 gtk_widget_add_events(main_win, GDK_KEY_PRESS_MASK);
27 g_signal_connect(main_win, "key-press-event", G_CALLBACK(key_press_cb), NULL);
28 g_signal_connect(main_win, "destroy", G_CALLBACK(gtk_main_quit), NULL);
30 GtkWidget *game_win = world_area_new();
31 // GtkDrawingArea *game_win = GTK_DRAWING_AREA(gtk_drawing_area_new());
32 gtk_drawing_area_size(GTK_DRAWING_AREA(game_win), 400, 400);
33 //g_signal_connect(G_OBJECT(game_win), "expose_event", G_CALLBACK(expose_cb), NULL);
34 //set_keys(game_win, keys)
35 //set_level()
36 //set_position
37 //set_party
39 GtkToolbar *toolbar = GTK_TOOLBAR(gtk_toolbar_new());
40 gtk_toolbar_set_orientation(toolbar, GTK_ORIENTATION_HORIZONTAL);
41 gtk_toolbar_set_style(toolbar, GTK_TOOLBAR_TEXT);
42 gtk_toolbar_set_tooltips(toolbar, FALSE);
44 GtkToolItem *btn1 = gtk_tool_button_new(NULL, "one");
45 GtkToolItem *btn2 = gtk_tool_button_new(NULL, "two");
46 gtk_toolbar_insert(toolbar, btn1, -1);
47 gtk_toolbar_insert(toolbar, btn2, -1);
49 GtkListStore *list1 = gtk_list_store_new(1, G_TYPE_STRING);
50 GtkTreeIter l_i;
51 gtk_list_store_append(list1, &l_i);
52 gtk_list_store_set(list1, &l_i, 0, "Tralala", -1);
53 gtk_list_store_append(list1, &l_i);
54 gtk_list_store_set(list1, &l_i, 0, "Mnum", -1);
56 GtkWidget *tree1 = gtk_tree_view_new_with_model(GTK_TREE_MODEL(list1));
57 GtkTreeViewColumn *col1 = gtk_tree_view_column_new();
58 GtkCellRenderer *cell1 = gtk_cell_renderer_text_new();
60 gtk_tree_view_column_set_title(col1, "Sloupec");
61 gtk_tree_view_append_column(GTK_TREE_VIEW(tree1), col1);
62 gtk_tree_view_column_pack_start(col1, cell1, TRUE);
63 gtk_tree_view_column_add_attribute(col1, cell1, "text", 0);
65 GtkWidget *v_gt = gtk_vbox_new(FALSE, 0);
66 GtkWidget *v_inv = gtk_vbox_new(FALSE, 0);
67 GtkWidget *h_all = gtk_hbox_new(FALSE, 0);
68 gtk_box_pack_start(GTK_BOX(v_gt), GTK_WIDGET(game_win), FALSE, FALSE, 0);
69 gtk_box_pack_start(GTK_BOX(v_gt), GTK_WIDGET(toolbar), FALSE, FALSE, 0);
70 gtk_box_pack_start(GTK_BOX(v_inv), GTK_WIDGET(tree1), FALSE, FALSE, 0);
71 gtk_box_pack_start(GTK_BOX(h_all), v_gt, FALSE, FALSE, 0);
72 gtk_box_pack_start(GTK_BOX(h_all), v_inv, TRUE, TRUE, 0);
73 gtk_container_add(GTK_CONTAINER(main_win), GTK_WIDGET(h_all));
75 GdkColor color;
76 gdk_color_parse("#FF0000", &color);
77 gtk_widget_modify_bg(GTK_WIDGET(game_win), GTK_STATE_NORMAL, &color);
78 gdk_color_parse("#00FF00", &color);
79 gtk_widget_modify_bg(GTK_WIDGET(toolbar), GTK_STATE_NORMAL, &color);
80 gdk_color_parse("#0000FF", &color);
81 gtk_widget_modify_bg(GTK_WIDGET(tree1), GTK_STATE_NORMAL, &color);
83 gtk_widget_show_all(main_win);
85 gtk_main();
87 return 0;