/* image-viewer.c */

#include 
#include 
//#include 
#include 

#include "gtk_lib.h"

/* 並べるWidgetの総数 */
#define MAX_WIDGET 7
/* 横方向に並べる最大数,残りは次の行 */
#define MAX_HBOX 1

GtkWidget * start(GtkWidget *);
GtkWidget * play(GtkWidget *);
GtkWidget * mondai(GtkWidget *);
GtkWidget * mongai2(GtkWidget *);
GtkWidget * mongai4(GtkWidget *);
GtkWidget * seikai(GtkWidget *);
GtkWidget * huseikai(GtkWidget *);
GtkWidget * risult(GtkWidget *);
GtkWidget * kiugi(GtkWidget *);

void app_quit(); // 強制終了
void practice(); // 練習問題

GtkWidget *window;
GtkWidget *vbox;
GtkWidget *hbox;

int pra = 0; // 練習問題をやったら1になる
guint timer_id;

/* ボタンがクリックされたときに呼び出される関数 */
static void cb_button_clicked (GtkWidget *button, gpointer user_data){

  /* メインループを終了 */  
  gtk_main_quit ();
}
		   
/* メイン関数 */
int main (int argc, char **argv){
  gtk_init (&argc, &argv);

  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_widget_set_size_request (window, 640, 480);
  gtk_window_set_title(GTK_WINDOW(window), "がんちゃん 単位をください");
  
 TOP:
  pra = 0;

  while(1){
    // スタート画面
    gtk_widget_destroy(vbox); // vboxが消える
    gtk_widget_show_all (start(window)); // ウィンドウの表示
    gtk_main ();  // メインループ

    if(pra == 1){
      goto TOP;
    } 
 
    int x = 0; // ターン数
    while(x < 3){
      // プレイ画面
      gtk_widget_destroy(vbox);
      gtk_widget_show_all (play(window));
      gtk_main ();
  
      // 教科画面
      gtk_widget_destroy(vbox);
      gtk_widget_show_all (mondai(window));
      gtk_main ();

      // 問題画面
      gtk_widget_destroy(vbox);
      if(return_item_number() == 2)
	{
	  gtk_widget_show_all (mongai2(window));
	}else{
	gtk_widget_show_all (mongai4(window));
      }
      gtk_main ();

      // 採点
      if(saiten() == 1){
	// 正解画面
	gtk_widget_destroy(vbox);
	gtk_widget_show_all (seikai(window));
	gtk_main ();
      }else{
	// 不正解画面
	gtk_widget_destroy(vbox);
	gtk_widget_show_all (huseikai(window));
	gtk_main ();
      }
      x++; // ターン数増加
    }

    // 成績発表画面
    gtk_widget_destroy(vbox);
    gtk_widget_show_all (kiugi(window));
    gtk_main ();

    // 成績画面
    gtk_widget_destroy(vbox);
    gtk_widget_show_all (risult(window));
    gtk_main ();
  }

  return 0;
}