00001 #ifndef HEADER_GUI
00002 #define HEADER_GUI
00003
00008 #include <stdio.h>
00009 #include <stdlib.h>
00010 #include <string.h>
00011 #include <malloc.h>
00012 #include <assert.h>
00013 #include <time.h>
00014 #include <glade/glade.h>
00015 #include <gtk/gtk.h>
00016 #include <gdk/gdkkeysyms.h>
00017 #include <dirent.h>
00018 #include "define.h"
00019 #include "object.h"
00020 #include "schemaGameUtility.h"
00021 #include "bestroute.h"
00022 #include "gameIOManager.h"
00023 #include "schemaGameGenerator.h"
00024
00025
00026
00027
00029 static const char GLADE_GUI_FILE_NAME[] = "gui.glade";
00031 static const char MAIN_WINDOW_NAME[] = "mainwindow";
00033 static const char DRAW_AREA_NAME[] = "drawarea";
00035 static const char DOWN_LABEL_NAME[] = "downlabel";
00036
00037
00043 void gui( int argc,
00044 char **argv
00045 );
00046
00047
00051 gboolean delete_event( GtkWidget *window,
00052 GdkEvent *event,
00053 gpointer data
00054 );
00055
00061 void new_tournament( GtkWidget *window,
00062 GtkWidget *widget,
00063 gpointer data
00064 );
00065
00070 void drawschema();
00071
00075 gboolean configure_event( GtkWidget *widget,
00077 GdkEventConfigure *event,
00079 gpointer data
00080 );
00081
00085 gboolean expose_event( GtkWidget *widget,
00086 GdkEventExpose *event,
00087 gpointer data
00088 );
00089
00093 void draw_brush( GtkWidget *widget,
00094 gdouble x,
00095 gdouble y,
00096 gdouble width,
00097 gdouble height,
00098 char *col
00099 );
00100
00104 void keypressed( GtkWidget *window,
00105 GdkEventKey *event,
00106 gpointer data
00107 );
00108
00109
00114 void checkKeyPressed( int keyval,
00115 char *key,
00116 GtkWidget *drawarea,
00117 unsigned int drawX,
00118 unsigned int drawY
00119 );
00120
00121
00126 void updateSchemaCell(GtkWidget *drawarea,
00127 unsigned int drawX,
00128 unsigned int drawY
00129 );
00130
00131
00138 void win( );
00139
00140
00144 void show_records( GtkWidget *widget,
00145 GtkWindow *window
00146 );
00147
00155 bool get_player_name( GtkWidget *window,
00156 gchar *input_text
00157 );
00158
00164 bool checkResponseNameError( GtkWidget *window,
00165 char *input_text
00166 );
00167
00173 void drawingAndSetSchemaInfo( double loadsuccess
00175 );
00176
00181 void open_game( GtkWidget *window,
00182 GtkWidget *widget,
00183 gpointer data
00184 );
00185
00186
00193 void generate_game( GtkWidget *widget,
00194 GtkWindow *window
00195 );
00196
00197
00204 bool request_generate_parameters( GtkWindow *window,
00206 unsigned int *rows,
00207 unsigned int *cols,
00208 unsigned int *difficult
00209 );
00210
00211
00217 bool checkResponseErrorGenerateParameters(GtkWindow *window,
00219 char *rows_text,
00221 char *cols_text,
00223 char *difficult_text,
00226 unsigned int *rows,
00228 unsigned int *cols,
00230 unsigned int *difficult
00232 );
00233
00238 char *set_gtk_entry_text_from_num( unsigned int number,
00239 GtkWidget *entry
00240 );
00241
00245 void show_help( GtkWidget *widget,
00246 GtkWidget *window,
00247 gpointer data
00248 );
00249
00253 void show_about( GtkWidget *widget,
00254 GtkWidget *window
00255 );
00256
00257
00258
00259
00260 #endif