Velha Jedi  1.1
Jogo da velha invencível
menu.cpp
Vá para a documentação deste arquivo.
1 
8 #include<gtk/gtk.h>
9 #include<cstdlib>
10 #include"menu.hpp"
11 
15 void Menu::crie(){
16  menubar = gtk_menu_bar_new();
17  item_jogo = gtk_menu_item_new_with_label("Jogo");
18  menu_jogo = gtk_menu_new();
19  item_novo_jogo = gtk_menu_item_new_with_label("Novo jogo");
20  item_sair = gtk_menu_item_new_with_label("Sair");
21  item_ajuda = gtk_menu_item_new_with_label("Ajuda");
22  menu_ajuda = gtk_menu_new();
23  item_sobre = gtk_menu_item_new_with_label("Sobre");
24 }
25 
31  gtk_container_add(GTK_CONTAINER(menu_jogo), item_novo_jogo);
32  gtk_container_add(GTK_CONTAINER(menu_jogo), item_sair);
33  gtk_menu_item_set_submenu(GTK_MENU_ITEM(item_jogo), menu_jogo);
34  gtk_container_add(GTK_CONTAINER(menubar), item_jogo);
35  gtk_container_add(GTK_CONTAINER(menu_ajuda), item_sobre);
36  gtk_menu_item_set_submenu(GTK_MENU_ITEM(item_ajuda), menu_ajuda);
37  gtk_container_add(GTK_CONTAINER(menubar), item_ajuda);
38 }
39 
43 void Menu::func_novo_jogo(GtkWidget *widget, gpointer data){
44  Jogo *jogo = (Jogo*)data;
45  jogo->novo_jogo();
46 }
47 
51 void Menu::func_sair(){exit(0);}
52 
56 void Menu::func_sobre(GtkWidget *widget, gpointer data){
57  Jogo *jogo = (Jogo*)data;
58  jogo->sobre->mostre();
59 }
60 
64 void Menu::mostre(){
65  gtk_widget_show(item_novo_jogo);
66  gtk_widget_show(item_sair);
67  gtk_widget_show(item_sobre);
68  gtk_widget_show(item_jogo);
69  gtk_widget_show(item_ajuda);
70  gtk_widget_show(menubar);
71 }
72 
78  jogo = j;
79  g_signal_connect(item_novo_jogo, "activate",
80  G_CALLBACK(func_novo_jogo),
81  jogo);
82  g_signal_connect(item_sobre, "activate",
83  G_CALLBACK(func_sobre),
84  jogo);
85  g_signal_connect(item_sair, "activate",
86  G_CALLBACK(func_sair),
87  NULL);
88 }
void novo_jogo()
Definition: jogo.cpp:40
Classe que define o jogo em si.
Definition: jogo.hpp:19
void mostre()
Definition: menu.cpp:64
static void func_sair()
Definition: menu.cpp:51
void empacote()
Definition: menu.cpp:30
void conecte_callbacks(Jogo *)
Definition: menu.cpp:77
static void func_novo_jogo(GtkWidget *, gpointer)
Definition: menu.cpp:43
static void func_sobre(GtkWidget *, gpointer)
Definition: menu.cpp:56
void crie()
Definition: menu.cpp:15