Functions | Variables

project.c File Reference

project.c is quiz and story application,generates the GUI where GTK used as front hand and Mysql as backhand, some file handling also used More...

#include <glib.h>
#include <gtk/gtk.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <mysql/mysql.h>

Go to the source code of this file.

Functions

void create_database ()
 create_database creates database.
void display_row ()
 display_row used to retreive data from database.
static gboolean close_application (GtkWidget *widget, GdkEvent *event, gpointer data)
void destroy (GtkWidget *widget, gpointer data)
void answer_quiz1 (GtkWidget *widget1, gpointer data)
 answer_quiz1 calculates percentage of marks after calculating correct answers.
void callback_quiz1 (GtkWidget *widget, gpointer data)
void callback_quiz1_1 (GtkWidget *widget, gpointer data)
void callback_quiz1_2 (GtkWidget *widget, gpointer data)
void callback_quiz1_3 (GtkWidget *widget, gpointer data)
void callback_quiz1_4 (GtkWidget *widget, gpointer data)
void create_quiz1 ()
 create_quiz1 creates the quiz.
void answer_quiz2 (GtkWidget *widget1, gpointer data)
 answer_quiz2 calculates percentage of marks after calculating correct answers.
void callback_quiz2 (GtkWidget *widget, gpointer data)
void callback_quiz2_1 (GtkWidget *widget, gpointer data)
void callback_quiz2_2 (GtkWidget *widget, gpointer data)
void callback_quiz2_3 (GtkWidget *widget, gpointer data)
void callback_quiz2_4 (GtkWidget *widget, gpointer data)
void create_quiz2 ()
 create_quiz2 creates the quiz.
void answer_quiz3 (GtkWidget *widget1, gpointer data)
 answer_quiz3 calculates percentage of marks after calculating correct answers.
void callback_quiz3 (GtkWidget *widget, gpointer data)
void callback_quiz3_1 (GtkWidget *widget, gpointer data)
void callback_quiz3_2 (GtkWidget *widget, gpointer data)
void callback_quiz3_3 (GtkWidget *widget, gpointer data)
void callback_quiz3_4 (GtkWidget *widget, gpointer data)
void create_quiz3 ()
 create_quiz3 creates the quiz.
void answer_quiz4 (GtkWidget *widget1, gpointer data)
 answer_quiz4 calculates percentage of marks after calculating correct answers.
void callback_quiz4 (GtkWidget *widget, gpointer data)
void callback_quiz4_1 (GtkWidget *widget, gpointer data)
void callback_quiz4_2 (GtkWidget *widget, gpointer data)
void callback_quiz4_3 (GtkWidget *widget, gpointer data)
void callback_quiz4_4 (GtkWidget *widget, gpointer data)
void create_quiz4 ()
 create_quiz4 creates the number quiz 4.
void answer_quiz5 (GtkWidget *widget1, gpointer data)
 answer_quiz5 calculates percentage of marks after calculating correct answers.
void callback_quiz5 (GtkWidget *widget, gpointer data)
void callback_quiz5_1 (GtkWidget *widget, gpointer data)
void callback_quiz5_2 (GtkWidget *widget, gpointer data)
void callback_quiz5_3 (GtkWidget *widget, gpointer data)
void callback_quiz5_4 (GtkWidget *widget, gpointer data)
void create_quiz5 ()
 create_quiz5 creates the quiz.
void answer_m (GtkWidget *widget1, gpointer data)
 answer_m redirects user to the selected quiz after clicking.
void callback_m (GtkWidget *widget, gpointer data)
 callback_m handles the radio buttons.
void create_story1 ()
 create_story1 creates the story 1 page.
void create_story2 ()
 create_story2 creates the story 2 page.
void create_story3 ()
 create_story3 creates the story 3 page.
void answer_story (GtkWidget *widget1, gpointer data)
void callback_story (GtkWidget *widget, gpointer data)
 callback_story handles the radio buttons.
void create_story ()
 create_story creates the main story page.
void create_quiz_main ()
 create_quiz_main creates the quiz page.
void callback_cat (GtkWidget *widget1, gpointer data)
 callback_cat handles radio button in main category page.
void answer_cat (GtkWidget *widget, gpointer data)
 answer_cat redirects user to the quiz category he selected after clicking.
void create_main ()
 create_main creates the main page for selection of quiz or story category.
static void callback_reg (GtkWidget *widget, gpointer data)
 callback_reg used to store user's details in database.
static gboolean delete_event_reg (GtkWidget *widget, GdkEvent *event, gpointer data)
 This callback quits the program.
gboolean delete_cancel (GtkWidget *widget, gpointer data)
static void enter_callback_register (GtkWidget *widget, GtkWidget *entry)
 enter_callback_register is for text entry in text area in register page.
static void callback_clear (GtkWidget *widget, GtkWidget *entry)
 if clear button pressed.callback_clear clears everything to blank in register page.
void create_register ()
 create_register creates a register page for new user to register.
static void callback_login (GtkWidget *widget, gpointer data)
 This is called when button is clicked to login to play quiz or read story.
static void callback_register (GtkWidget *widget, gpointer data)
static gboolean delete_event (GtkWidget *widget, GdkEvent *event, gpointer data)
 It is called when user tries to close window using window manager.
static void enter_callback (GtkWidget *widget, GtkWidget *entry)
int main (int argc, char *argv[])
 This is the main login window.program starts here.

Variables

MYSQL * connection1
MYSQL * connection2
MYSQL_RES * result
MYSQL_ROW sqlrow
int counter = 0
char user [100]
char ans [100]
char subans [100]
char n [10]
char r [100]
char temp [100]
char u [100]
char p [100]
GtkWidget * window
GtkWidget * button
GtkWidget * table
GtkWidget * entry
GtkWidget * entry_username
GtkWidget * entry_password
GtkWidget * label
GtkWidget * check
GtkWidget * entry_name
GtkWidget * entry_roll
GtkWidget * entry_usernamer
GtkWidget * entry_passwordr
char option_quiz1 [50]
char option_quiz1_1 [50]
char option_quiz1_2 [50]
char option_quiz1_3 [50]
char option_quiz1_4 [50]
char option_quiz2 [50]
char option_quiz2_1 [50]
char option_quiz2_2 [50]
char option_quiz2_3 [50]
char option_quiz2_4 [50]
char option_quiz3 [50]
char option_quiz3_1 [50]
char option_quiz3_2 [50]
char option_quiz3_3 [50]
char option_quiz3_4 [50]
char option_quiz4 [50]
char option_quiz4_1 [50]
char option_quiz4_2 [50]
char option_quiz4_3 [50]
char option_quiz4_4 [50]
char option_quiz5 [50]
char option_quiz5_1 [50]
char option_quiz5_2 [50]
char option_quiz5_3 [50]
char option_quiz5_4 [50]
int flag_quiz = 0
int flag_story = 0
int flag_cat = 0

Detailed Description

project.c is quiz and story application,generates the GUI where GTK used as front hand and Mysql as backhand, some file handling also used

Version:
1.0
Author:
Ankur Singh Chauhan

Definition in file project.c.


Function Documentation

void answer_cat ( GtkWidget *  widget,
gpointer  data 
)

answer_cat redirects user to the quiz category he selected after clicking.

of enter button in quiz category page.

Returns:
void
Parameters:
widget Widget which generated the event
data any additional data passed while generating signal

Definition at line 2220 of file project.c.

References create_quiz_main(), create_story(), and flag_cat.

Referenced by create_main().

void answer_m ( GtkWidget *  widget1,
gpointer  data 
)

answer_m redirects user to the selected quiz after clicking.

of enter button in respective quiz category page.

Returns:
void
Parameters:
widget1 Widget which generated the event
data any additional data passed while generating signal

Definition at line 1758 of file project.c.

References create_quiz1(), create_quiz2(), create_quiz3(), create_quiz4(), create_quiz5(), flag_quiz, and subans.

Referenced by create_quiz_main().

{
    if(flag_quiz==0)
    {
    strcpy(subans,"Quiz1");
    printf("%s\n",subans);
    create_quiz1();
    
    }

    if(flag_quiz==1)
    {
    strcpy(subans,"Quiz2");
    printf("%s\n",subans);
    create_quiz2();
    
    }

    if(flag_quiz==2)
    {
    strcpy(subans,"Quiz3");
    printf("%s\n",subans);
    create_quiz3();
    }

    if(flag_quiz==3)
    {
    strcpy(subans,"Quiz4");
    printf("%s\n",subans);
    create_quiz4();
    }

    if(flag_quiz==4)
    {
    strcpy(subans,"Quiz5");
    printf("%s\n",subans);
    create_quiz5();
    
    }
    
    
}

void answer_quiz1 ( GtkWidget *  widget1,
gpointer  data 
)

answer_quiz1 calculates percentage of marks after calculating correct answers.

and after playing quiz.

Returns:
void
Parameters:
widget1 Widget which generated the event
data any additional data passed while generating signal

Definition at line 145 of file project.c.

References ans, connection1, display_row(), option_quiz1, option_quiz1_1, option_quiz1_2, option_quiz1_3, option_quiz1_4, result, sqlrow, subans, temp, and user.

Referenced by create_quiz1().

{
    int i=0, a;

    GtkWidget *dialog;

    if(strcmp(option_quiz1, "14th November")==0)
    {
        i++;
    }

    if(strcmp(option_quiz1_1, "15th August 1947")==0)
    {
        i++;
    }

    if(strcmp(option_quiz1_2, "Slow and Steady loses the race")==0)
    {
        i++;
    }

    if(strcmp(option_quiz1_3, "Himachal Pradesh - Manali")==0)
    {
        i++;
    }

    if(strcmp(option_quiz1_4, "Madagascar")==0)
    {
        i++;
    }

    
    if(i==0)
    a=0;

    if(i==1)
    a=20;

    if(i==2)
    a=40;

    if(i==3)
    a=60;

    if(i==4)
    a=80;
        
    if(i==5)
    a=100;

    
    dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Username --> %s  Quiz -->  %s Subquiz --> %s Score --> %d percent",user,ans,subans,a);
    gtk_dialog_run (GTK_DIALOG (dialog));

int return_value;
    char qry[100],qry1[100],l1[50],l2[50];

    sprintf(qry,"select * from quiz where roll_number='%s'",temp);

    return_value=mysql_query(connection1,qry);
    if(return_value)
    {
        printf("Select command failed");
    }
    else
    {
        result=mysql_use_result(connection1);
        if(result)
        {
            while((sqlrow=mysql_fetch_row(result)))
            {
                display_row();
                strcpy(l1,sqlrow[4]);
                strcpy(l2,sqlrow[5]);
                                
                
                    sprintf(qry1,"update quiz set level1='%s',level2='%s',score=%d where roll_number='%s'",ans,subans,a,temp);
                
            }
        
        }
        mysql_free_result(result);
    }


    int re=0;
    re=mysql_query(connection1,qry1);
    if(re==0)
        printf("Update succeded!!");
    
    if(return_value)
        g_print("Update Failed");


    gtk_widget_destroy (dialog);
}

void answer_quiz2 ( GtkWidget *  widget1,
gpointer  data 
)

answer_quiz2 calculates percentage of marks after calculating correct answers.

and after playing quiz2.

Returns:
void
Parameters:
widget1 Widget which generated the event
data any additional data passed while generating signal

Definition at line 468 of file project.c.

References ans, connection1, display_row(), option_quiz2, option_quiz2_1, option_quiz2_2, option_quiz2_3, option_quiz2_4, result, sqlrow, subans, temp, and user.

Referenced by create_quiz2().

{
    int i=0, a;

    GtkWidget *dialog;

    if(strcmp(option_quiz2, "Cheetah")==0)
    {
        i++;
    }

    if(strcmp(option_quiz2_1, "Clear glass")==0)
    {
        i++;
    }

    if(strcmp(option_quiz2_2, "Burj Khalifa")==0)
    {
        i++;
    }

    if(strcmp(option_quiz2_3, "Nile")==0)
    {
        i++;
    }

    if(strcmp(option_quiz2_4, "Ankor Wat, Cambodia")==0)
    {
        i++;
    }

    
    if(i==0)
    a=0;

    if(i==1)
    a=20;

    if(i==2)
    a=40;

    if(i==3)
    a=60;

    if(i==4)
    a=80;
        
    if(i==5)
    a=100;

        
    dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Username --> %s  Quiz -->  %s Subquiz --> %s Score --> %d percent",user,ans,subans,a);
    gtk_dialog_run (GTK_DIALOG (dialog));

int return_value;
    char qry[100],qry1[100],l1[50],l2[50];

    sprintf(qry,"select * from quiz where roll_number='%s'",temp);

    return_value=mysql_query(connection1,qry);
    if(return_value)
    {
        printf("Select command failed");
    }
    else
    {
        result=mysql_use_result(connection1);
        if(result)
        {
            while((sqlrow=mysql_fetch_row(result)))
            {
                display_row();
                strcpy(l1,sqlrow[4]);
                strcpy(l2,sqlrow[5]);
                                
                
                    sprintf(qry1,"update quiz set level1='%s',level2='%s',score=%d where roll_number='%s'",ans,subans,a,temp);
                }
        
        }
        mysql_free_result(result);
    }


    int re=0;
    re=mysql_query(connection1,qry1);
    if(re==0)
        printf("Update succeded!!");
    
    if(return_value)
        g_print("Update Failed");


    gtk_widget_destroy (dialog);
}

void answer_quiz3 ( GtkWidget *  widget1,
gpointer  data 
)

answer_quiz3 calculates percentage of marks after calculating correct answers.

and after playing quiz 3 quiz.

Returns:
void
Parameters:
widget1 Widget which generated the event
data any additional data passed while generating signal

Definition at line 790 of file project.c.

References ans, connection1, display_row(), option_quiz3, option_quiz3_1, option_quiz3_2, option_quiz3_3, option_quiz3_4, result, sqlrow, subans, temp, and user.

Referenced by create_quiz3().

{
    int i=0, a;

    GtkWidget *dialog;

    if(strcmp(option_quiz3, "Chess")==0)
    {
        i++;
    }

    if(strcmp(option_quiz3_1, "Agra")==0)
    {
        i++;
    }

    if(strcmp(option_quiz3_2, "India")==0)
    {
        i++;
    }

    if(strcmp(option_quiz3_3, "South Asia")==0)
    {
        i++;
    }

    if(strcmp(option_quiz3_4, "Royal Bengal Tigers")==0)
    {
        i++;
    }
    if(i==0)
    a=0;

    if(i==1)
    a=20;

    if(i==2)
    a=40;

    if(i==3)
    a=60;

    if(i==4)
    a=80;
        
    if(i==5)
    a=100;

        
    dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Username --> %s  Quiz -->  %s Subquiz --> %s Score --> %d percent",user,ans,subans,a);
    gtk_dialog_run (GTK_DIALOG (dialog));

int return_value;
    char qry[100],qry1[100],l1[50],l2[50];

    sprintf(qry,"select * from quiz where roll_number='%s'",temp);

    return_value=mysql_query(connection1,qry);
    if(return_value)
    {
        printf("Select command failed");
    }
    else
    {
        result=mysql_use_result(connection1);
        if(result)
        {
            while((sqlrow=mysql_fetch_row(result)))
            {
                display_row();
                strcpy(l1,sqlrow[4]);
                strcpy(l2,sqlrow[5]);
                                
                
                    sprintf(qry1,"update quiz set level1='%s',level2='%s',score=%d where roll_number='%s'",ans,subans,a,temp);
                
            }
        
        }
        mysql_free_result(result);
    }


    int re=0;
    re=mysql_query(connection1,qry1);
    if(re==0)
        printf("Update succeded!!");
    
    if(return_value)
        g_print("Update Failed");


    gtk_widget_destroy (dialog);
}

void answer_quiz4 ( GtkWidget *  widget1,
gpointer  data 
)

answer_quiz4 calculates percentage of marks after calculating correct answers.

and after playing quiz.

Returns:
void
Parameters:
widget1 Widget which generated the event
data any additional data passed while generating signal

Definition at line 1111 of file project.c.

References ans, connection1, display_row(), option_quiz4, option_quiz4_1, option_quiz4_2, option_quiz4_3, option_quiz4_4, result, sqlrow, subans, temp, and user.

Referenced by create_quiz4().

{
    int i=0, a;

    GtkWidget *dialog;

    if(strcmp(option_quiz4, "Spoon and Knife")==0)
    {
        i++;
    }

    if(strcmp(option_quiz4_1, "Dogs - Bark")==0)
    {
        i++;
    }

    if(strcmp(option_quiz4_2, "Crocodile")==0)
    {
        i++;
    }

    if(strcmp(option_quiz4_3, "France")==0)
    {
        i++;
    }

    if(strcmp(option_quiz4_4, "Butterfly")==0)
    {
        i++;
    }

    
    if(i==0)
    a=0;

    if(i==1)
    a=20;

    if(i==2)
    a=40;

    if(i==3)
    a=60;

    if(i==4)
    a=80;
        
    if(i==5)
    a=100;
        
    dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Username --> %s  Quiz -->  %s Subquiz --> %s Score --> %d percent",user,ans,subans,a);
    gtk_dialog_run (GTK_DIALOG (dialog));

int return_value;
    char qry[100],qry1[100],l1[50],l2[50];

    sprintf(qry,"select * from quiz where roll_number='%s'",temp);

    return_value=mysql_query(connection1,qry);
    if(return_value)
    {
        printf("Select command failed");
    }
    else
    {
        result=mysql_use_result(connection1);
        if(result)
        {
            while((sqlrow=mysql_fetch_row(result)))
            {
                display_row();
                strcpy(l1,sqlrow[4]);
                strcpy(l2,sqlrow[5]);
                                
                
                    sprintf(qry1,"update quiz set level1='%s',level2='%s',score=%d where roll_number='%s'",ans,subans,a,temp);
            
            }
        
        }
        mysql_free_result(result);
    }


    int re=0;
    re=mysql_query(connection1,qry1);
    if(re==0)
        printf("Update succeded!!");
    
    if(return_value)
        g_print("Update Failed");


    gtk_widget_destroy (dialog);
}

void answer_quiz5 ( GtkWidget *  widget1,
gpointer  data 
)

answer_quiz5 calculates percentage of marks after calculating correct answers.

and after playing quiz5.

Returns:
void
Parameters:
widget1 Widget which generated the event
data any additional data passed while generating signal

Definition at line 1428 of file project.c.

References ans, connection1, display_row(), option_quiz5, option_quiz5_1, option_quiz5_2, option_quiz5_3, option_quiz5_4, result, sqlrow, subans, temp, and user.

Referenced by create_quiz5().

{
    int i=0, a;

    GtkWidget *dialog;

    if(strcmp(option_quiz5, "Green")==0)
    {
        i++;
    }

    if(strcmp(option_quiz5_1, "7")==0)
    {
        i++;
    }

    if(strcmp(option_quiz5_2, "Brown")==0)
    {
        i++;
    }

    if(strcmp(option_quiz5_3, "Apple")==0)
    {
        i++;
    }

    if(strcmp(option_quiz5_4, "Yellow")==0)
    {
        i++;
    }


    if(i==0)
    a=0;

    if(i==1)
    a=20;

    if(i==2)
    a=40;

    if(i==3)
    a=60;

    if(i==4)
    a=80;
        
    if(i==5)
    a=100;

        
    dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Username --> %s  Quiz -->  %s Subquiz --> %s Score --> %d percent",user,ans,subans,a);
    gtk_dialog_run (GTK_DIALOG (dialog));

int return_value;
    char qry[100],qry1[100],l1[50],l2[50];

    sprintf(qry,"select * from quiz where roll_number='%s'",temp);

    return_value=mysql_query(connection1,qry);
    if(return_value)
    {
        printf("Select command failed");
    }
    else
    {
        result=mysql_use_result(connection1);
        if(result)
        {
            while((sqlrow=mysql_fetch_row(result)))
            {
                display_row();
                strcpy(l1,sqlrow[4]);
                strcpy(l2,sqlrow[5]);
                            
                    sprintf(qry1,"update quiz set level1='%s',level2='%s',score=%d where roll_number='%s'",ans,subans,a,temp);
                }
        
        }
        mysql_free_result(result);
    }


    int re=0;
    re=mysql_query(connection1,qry1);
    if(re==0)
        printf("Update succeded!!");
    
    if(return_value)
        g_print("Update Failed");


    gtk_widget_destroy (dialog);
}

void answer_story ( GtkWidget *  widget1,
gpointer  data 
)

Definition at line 1988 of file project.c.

References create_story1(), create_story2(), create_story3(), and flag_story.

Referenced by create_story().

{
    if(flag_story==0)
    {
    create_story1();
    
    }

    if(flag_story==1)
    {
    create_story2();
        }

    if(flag_story==2)
    {
    create_story3();
    }
    
}

void callback_cat ( GtkWidget *  widget1,
gpointer  data 
)

callback_cat handles radio button in main category page.

helps in selecting the correct category either quiz or story.

Returns:
void
Parameters:
widget Widget which generated the event
data any additional data passed while generating signal

Definition at line 2197 of file project.c.

References ans, and flag_cat.

Referenced by create_main().

{
    char temp_cat[50];
    strcpy(temp_cat,(char *)data);
    if(strcmp(temp_cat,"Quiz")==0)
        {       
        flag_cat=0;
        strcpy(ans,"Quiz");
        }
    if(strcmp(temp_cat,"Story")==0)
        {
                flag_cat=1;
        strcpy(ans,"Story");
        }
    
}

static void callback_clear ( GtkWidget *  widget,
GtkWidget *  entry 
) [static]

if clear button pressed.callback_clear clears everything to blank in register page.

Returns:
widget1 Widegt which generated the signal
Parameters:
entry is a pointer to the textbox(GTK_ENTRY) used to get data from the user.

Definition at line 2396 of file project.c.

References entry_name, entry_passwordr, entry_roll, and entry_usernamer.

Referenced by create_register().

{
    gtk_entry_set_text (GTK_ENTRY (entry_name), "");
    gtk_entry_set_text (GTK_ENTRY (entry_roll), "");
    gtk_entry_set_text (GTK_ENTRY (entry_usernamer), "");
    gtk_entry_set_text (GTK_ENTRY (entry_passwordr), "");
    gtk_main();
}

static void callback_login ( GtkWidget *  widget,
gpointer  data 
) [static]

This is called when button is clicked to login to play quiz or read story.

Parameters:
widget1 Widegt which generated the signal
data Data passed while generating signal

This is called when button is clicked to register as a new user.

Parameters:
widget1 Widegt which generated the signal
data Data passed while generating signal

Definition at line 2502 of file project.c.

References connection1, counter, create_main(), display_row(), entry_password, entry_username, p, result, sqlrow, and u.

Referenced by main().

{
//   g_print (" %s \n", (char *) data);
    
        int r1=0;
    char u[100];
    char p[100];

    strcpy(u,gtk_entry_get_text (GTK_ENTRY(entry_username)));
    strcpy(p,gtk_entry_get_text (GTK_ENTRY(entry_password)));

    g_print ("Uname, Password %s %s\n",u,p);
    char query[1000];
    sprintf(query,"select * from quiz where username='%s' and password='%s'",u,p);
    printf("QUERY %s",query);
        
    connection1 = mysql_init(NULL); 
    if (mysql_real_connect (connection1, "localhost", "user1", "project", "kidsquiz", 0, NULL, 0))

    {
        
        r1=mysql_query(connection1,query);
        if(r1!=0)
        {
        printf("Failure");
        }
        else
        {   
            result = mysql_use_result (connection1);
            if (result)
            {
                while ((sqlrow = mysql_fetch_row (result)))
                    display_row ();

                if (mysql_errno (connection1))
                {
                    printf ("Error occurred while retrieving data : %s\n", mysql_error (connection1));
                }
            }
            if(counter==0)

                    {
                printf("No records exist in the table!!\n");

        GtkWidget *dialog;
        dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Wrong Details.Re-Enter \n");
        gtk_dialog_run (GTK_DIALOG (dialog));
        gtk_widget_destroy (dialog);
        gtk_main();
                    }
            else
            {

                create_main();
            
            }
            counter=0;
        }
        
    }
    mysql_close (connection1);
    
    g_print("QUERY %s",query);  

}

void callback_m ( GtkWidget *  widget,
gpointer  data 
)

callback_m handles the radio buttons.

in quiz category page.

Returns:
void
Parameters:
widget Widget which generated the event
data any additional data passed while generating signal

Definition at line 1807 of file project.c.

References flag_quiz.

Referenced by create_quiz_main().

{

    char temp_m[50];
    strcpy(temp_m,(char *)data);

    if(strcmp(temp_m,"Quiz1")==0)
    flag_quiz=0;
    
    if(strcmp(temp_m,"Quiz2")==0)
    flag_quiz=1;

    if(strcmp(temp_m,"Quiz3")==0)
    flag_quiz=2;

    if(strcmp(temp_m,"Quiz4")==0)
    flag_quiz=3;
    
    if(strcmp(temp_m,"Quiz5")==0)
    flag_quiz=4;
    
}

void callback_quiz1 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 242 of file project.c.

References option_quiz1.

Referenced by create_quiz1().

{
    strcpy(option_quiz1, (char *)data);
    
}

void callback_quiz1_1 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 248 of file project.c.

References option_quiz1_1.

Referenced by create_quiz1().

{
    strcpy(option_quiz1_1, (char *)data);
    
}

void callback_quiz1_2 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 254 of file project.c.

References option_quiz1_2.

Referenced by create_quiz1().

{
    strcpy(option_quiz1_2, (char *)data);
    
}

void callback_quiz1_3 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 260 of file project.c.

References option_quiz1_3.

Referenced by create_quiz1().

{
    strcpy(option_quiz1_3, (char *)data);
    
}

void callback_quiz1_4 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 266 of file project.c.

References option_quiz1_4.

Referenced by create_quiz1().

{
    strcpy(option_quiz1_4, (char *)data);
    
}

void callback_quiz2 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 564 of file project.c.

References option_quiz2.

Referenced by create_quiz2().

{
    strcpy(option_quiz2, (char *)data);
    
}

void callback_quiz2_1 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 570 of file project.c.

References option_quiz2_1.

Referenced by create_quiz2().

{
    strcpy(option_quiz2_1, (char *)data);
    
}

void callback_quiz2_2 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 576 of file project.c.

References option_quiz2_2.

Referenced by create_quiz2().

{
    strcpy(option_quiz2_2, (char *)data);
    
}

void callback_quiz2_3 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 582 of file project.c.

References option_quiz2_3.

Referenced by create_quiz2().

{
    strcpy(option_quiz2_3, (char *)data);
    
}

void callback_quiz2_4 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 588 of file project.c.

References option_quiz2_4.

Referenced by create_quiz2().

{
    strcpy(option_quiz2_4, (char *)data);
    
}

void callback_quiz3 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 887 of file project.c.

References option_quiz3.

Referenced by create_quiz3().

{
    strcpy(option_quiz3, (char *)data);
    
}

void callback_quiz3_1 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 893 of file project.c.

References option_quiz3_1.

Referenced by create_quiz3().

{
    strcpy(option_quiz3_1, (char *)data);
    
}

void callback_quiz3_2 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 899 of file project.c.

References option_quiz3_2.

Referenced by create_quiz3().

{
    strcpy(option_quiz3_2, (char *)data);
    
}

void callback_quiz3_3 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 905 of file project.c.

References option_quiz3_3.

Referenced by create_quiz3().

{
    strcpy(option_quiz3_3, (char *)data);
    
}

void callback_quiz3_4 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 911 of file project.c.

References option_quiz3_4.

Referenced by create_quiz3().

{
    strcpy(option_quiz3_4, (char *)data);
    
}

void callback_quiz4 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 1207 of file project.c.

References option_quiz4.

Referenced by create_quiz4().

{
    strcpy(option_quiz4, (char *)data);
    
}

void callback_quiz4_1 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 1213 of file project.c.

References option_quiz4_1.

Referenced by create_quiz4().

{
    strcpy(option_quiz4_1, (char *)data);
    
}

void callback_quiz4_2 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 1219 of file project.c.

References option_quiz4_2.

Referenced by create_quiz4().

{
    strcpy(option_quiz4_2, (char *)data);
    
}

void callback_quiz4_3 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 1225 of file project.c.

References option_quiz4_3.

Referenced by create_quiz4().

{
    strcpy(option_quiz4_3, (char *)data);
    
}

void callback_quiz4_4 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 1231 of file project.c.

References option_quiz4_4.

Referenced by create_quiz4().

{
    strcpy(option_quiz4_4, (char *)data);
    
}

void callback_quiz5 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 1523 of file project.c.

References option_quiz5.

Referenced by create_quiz5().

{
    strcpy(option_quiz5, (char *)data);
    
}

void callback_quiz5_1 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 1529 of file project.c.

References option_quiz5_1.

Referenced by create_quiz5().

{
    strcpy(option_quiz5_1, (char *)data);
    
}

void callback_quiz5_2 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 1535 of file project.c.

References option_quiz5_2.

Referenced by create_quiz5().

{
    strcpy(option_quiz5_2, (char *)data);
    
}

void callback_quiz5_3 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 1541 of file project.c.

References option_quiz5_3.

Referenced by create_quiz5().

{
    strcpy(option_quiz5_3, (char *)data);
    
}

void callback_quiz5_4 ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 1547 of file project.c.

References option_quiz5_4.

Referenced by create_quiz5().

{
    strcpy(option_quiz5_4, (char *)data);
    
}

static void callback_reg ( GtkWidget *  widget,
gpointer  data 
) [static]

callback_reg used to store user's details in database.

when register button is pressed in register page. it also checks if null entries filled in register page.

Returns:
void
Parameters:
widget Widget which generated the event
data any additional data passed while generating signal

Definition at line 2306 of file project.c.

References connection1, entry_name, entry_passwordr, entry_roll, entry_usernamer, n, p, temp, u, and window.

Referenced by create_register().

{
    GtkWidget *dialog;
    int r1=0,flag=0;
    const char *name,*roll,*usernamer,*passwordr;   

    name=gtk_entry_get_text (GTK_ENTRY(entry_name));
    roll=gtk_entry_get_text (GTK_ENTRY(entry_roll));
    usernamer=gtk_entry_get_text (GTK_ENTRY(entry_usernamer));
    passwordr=gtk_entry_get_text (GTK_ENTRY(entry_passwordr));
    
    strcpy(n,name);
    strcpy(temp,roll);
    strcpy(u,usernamer);
    strcpy(p,passwordr);    

    g_print ("Name Roll Uname Password %s %s %s %s\n",n,temp,u,p);
    char query[1000];

    if(strlen(n)==0 ||strlen(temp)==0||strlen(u)==0||strlen(p)==0)
    {
        flag=1;
    }
    if(flag==0)
    {   
        sprintf(query,"insert into quiz values('%s','%s','%s','%s','empty','empty',0)",temp,n,u,p);
        
        connection1 = mysql_init(NULL); 
        if (mysql_real_connect (connection1, "localhost", "user1", "project", "kidsquiz", 0, NULL, 0))

        {
            r1=mysql_query(connection1,query);
            if(r1==0)
            printf("success");
            else
            fprintf (stderr, "could not insert data as %d: %s\n",
            mysql_errno (connection1),
            mysql_error (connection1));
        }
            
        g_print("QUERY %s",query);
        gtk_widget_destroy(window);
        
    
    }
    else
    {
        dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Null entries not allowed \n");
        gtk_dialog_run (GTK_DIALOG (dialog));
        gtk_widget_destroy (dialog);
    }
}

static void callback_register ( GtkWidget *  widget,
gpointer  data 
) [static]

Definition at line 2572 of file project.c.

References create_register().

Referenced by main().

{
    g_print (" %s \n", (char *) data);
    create_register();
}

void callback_story ( GtkWidget *  widget,
gpointer  data 
)

callback_story handles the radio buttons.

in story category page.

Returns:
void
Parameters:
widget Widget which generated the event
data any additional data passed while generating signal

Definition at line 2015 of file project.c.

References flag_story.

Referenced by create_story().

{
    char temp_s[50];
    strcpy(temp_s,(char *)data);

    if(strcmp(temp_s,"Story1")==0)
    flag_story=0;
    
    if(strcmp(temp_s,"Story2")==0)
    flag_story=1;

    if(strcmp(temp_s,"Story3")==0)
    flag_story=2;

}

static gboolean close_application ( GtkWidget *  widget,
GdkEvent *  event,
gpointer  data 
) [static]

Definition at line 107 of file project.c.

Referenced by create_main(), create_quiz2(), create_quiz3(), create_quiz4(), create_quiz5(), create_quiz_main(), create_register(), create_story(), and main().

{
  gtk_main_quit ();
  return FALSE;
}

void create_database (  ) 

create_database creates database.

Returns:
void
Parameters:
void 

Definition at line 34 of file project.c.

References connection1, result, and sqlrow.

Referenced by main().

        {
        int res,flg=0;
        connection1 = mysql_init(NULL);
        if (mysql_real_connect (connection1, "localhost", "user1", "project", "kidsquiz", 0,NULL, 0))
        {
        printf ("Connection successful\n");

        res=mysql_query(connection1,"select 'quiz' from information_schema.tables where table_schema='kidsquiz'");
        if(res)
        {
            printf("Command failed");
        }
        else
        {
            result=mysql_use_result(connection1);
            while((sqlrow=mysql_fetch_row(result)))
            {
                flg=1;
            }
            
            mysql_free_result(result);
        }

        if(flg==0)
        {
            res = mysql_query (connection1, "create table quiz(roll_number varchar(10),name varchar(50),username varchar(50),password varchar(20),level1 varchar(50),level2 varchar(50),score integer)");
            if (res==0)
            {
                printf ("Table created successfully.\n");
            }
            else
            {
                fprintf (stderr, "Could not create table as %d: %s\n",mysql_errno (connection1),mysql_error (connection1));
                mysql_close (connection1);
                exit(EXIT_FAILURE);
            }
        }
        
    }
    else
    {
        fprintf (stderr, "Connection failed\n");
        if (mysql_errno (connection1))
        {
            printf ( "  \nConnection error");
        }
    }
}

void create_main (  ) 

create_main creates the main page for selection of quiz or story category.

after login button in login page is clicked.

Returns:
void
Parameters:
void 

Definition at line 2234 of file project.c.

References answer_cat(), button, callback_cat(), close_application(), and window.

Referenced by callback_login().

{
    GtkWidget *window = NULL;
    GtkWidget *box1;
    GtkWidget *box2;
    GtkWidget *button;
    GtkWidget *separator;
    GtkWidget *question;

    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  
    gtk_window_set_default_size(GTK_WINDOW(window),340,200);
    gtk_window_set_title (GTK_WINDOW (window), "Quiz or Story");
    gtk_container_set_border_width (GTK_CONTAINER (window), 0);

    box1 = gtk_vbox_new (FALSE, 0);
    gtk_container_add (GTK_CONTAINER (window), box1);
    gtk_widget_show (box1);

    box2 = gtk_vbox_new (FALSE, 10);
    gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
    gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
    gtk_widget_show (box2);

    question=gtk_label_new("Choose Category");
    gtk_box_pack_start (GTK_BOX (box2), question, TRUE, TRUE, 0);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Quiz");
    gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_cat), (gpointer) "Quiz");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Story");
    gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_cat), (gpointer) "Story");
    gtk_widget_show (button);

    separator = gtk_hseparator_new ();
    gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
    gtk_widget_show (separator);

    box2 = gtk_vbox_new (FALSE, 10);
    gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
    gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
    gtk_widget_show (box2);

    button = gtk_button_new_with_label ("Enter");
    g_signal_connect_swapped (G_OBJECT (button), "clicked",
                              G_CALLBACK (close_application),
                              G_OBJECT (window));

    gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(answer_cat), (gpointer) "button");
    gtk_widget_grab_default (button);
    gtk_widget_show (button);
    gtk_widget_show (window);
     
    gtk_main ();
}

void create_quiz1 (  ) 

create_quiz1 creates the quiz.

after selection of quiz 1 in quiz page and clicking click button.

Returns:
void
Parameters:
void 

Definition at line 278 of file project.c.

References answer_quiz1(), button, callback_quiz1(), callback_quiz1_1(), callback_quiz1_2(), callback_quiz1_3(), callback_quiz1_4(), destroy(), table, and window.

Referenced by answer_m().

{

    static GtkWidget *window;

    GtkWidget *button;
    GtkWidget *question;
    GtkWidget *scrolled_window;
    GtkWidget *table;
        
    //Create a new dialog window for the scrolled window to be packed into.
    window = gtk_dialog_new ();
    gtk_signal_connect (GTK_OBJECT (window), "destroy", (GtkSignalFunc) destroy, NULL);
    gtk_window_set_title (GTK_WINDOW (window), "Quiz1");
    gtk_container_set_border_width (GTK_CONTAINER (window), 0);
    gtk_widget_set_usize(window, 300, 300);
        
    //create a new scrolled window.
    scrolled_window = gtk_scrolled_window_new (NULL, NULL);
        
    gtk_container_set_border_width (GTK_CONTAINER (scrolled_window), 10);
        
    /* The policy is one of GTK_POLICY AUTOMATIC, or GTK_POLICY_ALWAYS.
     * GTK_POLICY_AUTOMATIC will automatically decide whether you need
     * scrollbars, whereas GTK_POLICY_ALWAYS will always leave the scrollbars
     * there.  The first one is the horizontal scrollbar, the second, 
     * the vertical. */
    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);

    //The dialog window is created with a vbox packed into it.                          
    gtk_box_pack_start (GTK_BOX (GTK_DIALOG(window)->vbox), scrolled_window, TRUE, TRUE, 0);
    gtk_widget_show (scrolled_window);
        
    //create a table of 10 by 10 squares.
    table = gtk_table_new (10, 10, FALSE);
       
    //set the spacing to 45 on x and 1 on y
    gtk_table_set_row_spacings (GTK_TABLE (table), 45);
    gtk_table_set_col_spacings (GTK_TABLE (table), 1);
        
    //pack the table into the scrolled window
    gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window), table);
    gtk_widget_show (table);

    //Question 1
    question=gtk_label_new("1. Which of the following is the Children's Day in India?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 1);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "14th November");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 2);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1), (gpointer) "14th November");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "15th December");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0,3);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1), (gpointer) "15th December");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "14th July");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 4);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1), (gpointer) "14th July");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "15th May");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 5);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1), (gpointer) "15th May");
    gtk_widget_show (button);

    question=gtk_label_new("2. When was the Indian Independence Day?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 6);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "15th August 1947");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 7); 
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1_1), (gpointer) "15th August 1947");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "31st August 1957");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 8);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1_1), (gpointer) "31st August 1957");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "23rd September 1947");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 9);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1_1), (gpointer) "23rd September 1947");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "25th December 1957");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 10);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1_1), (gpointer) "25th December 1957");
    gtk_widget_show (button);

    question=gtk_label_new("3.Which proverb is WRONG?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 11);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Failure is the stepping stone to success");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 12);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1_2), (gpointer) "Failure is the stepping stone to success");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Honesty is the best policy");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 13);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1_2), (gpointer) "Honesty is the best policy");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Rome was not built in a day");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 14);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1_2), (gpointer) "Rome was not built in a day");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Slow and Steady loses the race");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 15);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1_2), (gpointer) "Slow and Steady loses the race");
    gtk_widget_show (button);

    question=gtk_label_new("4.  Which Indian state has the wrong capital city match?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 16);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Himachal Pradesh - Manali");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 17);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1_3), (gpointer) "Himachal Pradesh - Manali");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Rajasthan - Jaipur");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 18);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1_3), (gpointer) "Rajasthan - Jaipur");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Punjab - Chandigarh");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 19);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1_3), (gpointer) "Punjab - Chandigarh");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Andhra Pradesh - Hyderabad");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 20);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1_3), (gpointer) "Andhra Pradesh - Hyderabad");
    gtk_widget_show (button);

    question=gtk_label_new("5. Which of the following is NOT a continent?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 21);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Africa");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 22);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1_4), (gpointer) "Africa");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Antartica");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 23);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1_4), (gpointer) "Antartica");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Madagascar");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 24);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1_4), (gpointer) "Madagascar");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Asia");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 25);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz1_4), (gpointer) "Asia");
    gtk_widget_show (button);


    //Enter button to calculate marks
    button = gtk_button_new_with_label ("Enter");

    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);

    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->action_area), button, TRUE, TRUE, 0);

    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(answer_quiz1), (gpointer) "button");
    gtk_widget_grab_default (button);
    gtk_widget_show (button);
    gtk_widget_show (window);
         
    gtk_main ();

    
}

void create_quiz2 (  ) 

create_quiz2 creates the quiz.

after selection of quiz 2 in quiz page and clicking click button.

Returns:
void
Parameters:
void 

Definition at line 600 of file project.c.

References answer_quiz2(), button, callback_quiz2(), callback_quiz2_1(), callback_quiz2_2(), callback_quiz2_3(), callback_quiz2_4(), close_application(), destroy(), table, and window.

Referenced by answer_m().

{

    static GtkWidget *window;

    GtkWidget *button;
    GtkWidget *question;
    GtkWidget *scrolled_window;
    GtkWidget *table;
    
    //Create a new dialog window for the scrolled window to be packed into.
    window = gtk_dialog_new ();
    gtk_signal_connect (GTK_OBJECT (window), "destroy", (GtkSignalFunc) destroy, NULL);
    gtk_window_set_title (GTK_WINDOW (window), "Quiz2");
    gtk_container_set_border_width (GTK_CONTAINER (window), 0);
    gtk_widget_set_usize(window, 300, 300);
        
    //create a new scrolled window.
    scrolled_window = gtk_scrolled_window_new (NULL, NULL);
        
    gtk_container_set_border_width (GTK_CONTAINER (scrolled_window), 10);
        
    /* The policy is one of GTK_POLICY AUTOMATIC, or GTK_POLICY_ALWAYS.
     * GTK_POLICY_AUTOMATIC will automatically decide whether you need
     * scrollbars, whereas GTK_POLICY_ALWAYS will always leave the scrollbars
     * there.  The first one is the horizontal scrollbar, the second, 
     * the vertical. */
    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);

    //The dialog window is created with a vbox packed into it.                          
    gtk_box_pack_start (GTK_BOX (GTK_DIALOG(window)->vbox), scrolled_window, TRUE, TRUE, 0);
    gtk_widget_show (scrolled_window);
        
    //create a table of 10 by 10 squares.
    table = gtk_table_new (10, 10, FALSE);
       
    //set the spacing to 45 on x and 1 on y
    gtk_table_set_row_spacings (GTK_TABLE (table), 45);
    gtk_table_set_col_spacings (GTK_TABLE (table), 1);
        
    //pack the table into the scrolled window
    gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window), table);
    gtk_widget_show (table);

    //Question 1
    question=gtk_label_new("1. Which is the fastest animal on land?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 1);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Puma");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 2);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2), (gpointer) "Puma");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Tiger");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0,3);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2), (gpointer) "Tiger");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Cheetah");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 4);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2), (gpointer) "Cheetah");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "LIon");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 5);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2), (gpointer) "Lion");
    gtk_widget_show (button);

    question=gtk_label_new("2. What is the great Taj Mahal NOT made from?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 6);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "White marble");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 7); 
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2_1), (gpointer) "White marble");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Clear glass");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 8);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2_1), (gpointer) "Clear glass");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Precious stones");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 9);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2_1), (gpointer) "Precious stones");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Precious gems");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 10);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2_1), (gpointer) "Precious gems");
    gtk_widget_show (button);

    question=gtk_label_new("3.Which is the tallest building in the world");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 11);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Shanghai World Financial Center");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 12);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2_2), (gpointer) "Shanghai World Financial Center");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Petronas Twin Towers");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 13);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2_2), (gpointer) "Petronas Twin Towers");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Burj Khalifa");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 14);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2_2), (gpointer) "Burj Khalifa");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Taipei 101");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 15);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2_2), (gpointer) "Taipei 101");
    gtk_widget_show (button);

    question=gtk_label_new("4. Which is the longest river on Earth?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 16);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Nile");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 17);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2_3), (gpointer) "Nile");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Amazon");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 18);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2_3), (gpointer) "Amazon");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Yangtze");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 19);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2_3), (gpointer) "Yangtze");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Mississippi");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 20);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2_3), (gpointer) "Mississippi");
    gtk_widget_show (button);

    question=gtk_label_new("5. Which of the following is NOT the winners of 7 Wonders of the World?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 21);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Chichen Itza, Mexico");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 22);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2_4), (gpointer) "Chichen Itza, Mexico");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Taj Mahal, India");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 23);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2_4), (gpointer) "Taj Mahal, India");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Great Wall of China, China");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 24);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2_4), (gpointer) "Great Wall of China, China");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Ankor Wat, Cambodia");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 25);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz2_4), (gpointer) "Ankor Wat, Cambodia");
    gtk_widget_show (button);

    button = gtk_button_new_with_label ("Enter");
    g_signal_connect_swapped (G_OBJECT (button), "clicked", G_CALLBACK (close_application), G_OBJECT (window));

    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);

    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->action_area), button, TRUE, TRUE, 0);

    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(answer_quiz2), (gpointer) "button");
    gtk_widget_grab_default (button);
    gtk_widget_show (button);
    gtk_widget_show (window);
         
    gtk_main ();

    
}

void create_quiz3 (  ) 

create_quiz3 creates the quiz.

after selection of quiz3 in quiz page and clicking click button.

Returns:
void
Parameters:
void 

Definition at line 922 of file project.c.

References answer_quiz3(), button, callback_quiz3(), callback_quiz3_1(), callback_quiz3_2(), callback_quiz3_3(), callback_quiz3_4(), close_application(), destroy(), table, and window.

Referenced by answer_m().

{

    static GtkWidget *window;

    GtkWidget *button;
    GtkWidget *question;
    GtkWidget *scrolled_window;
    GtkWidget *table;
    //Create a new dialog window for the scrolled window to be packed into.
    window = gtk_dialog_new ();
    gtk_signal_connect (GTK_OBJECT (window), "destroy", (GtkSignalFunc) destroy, NULL);
    gtk_window_set_title (GTK_WINDOW (window), "Quiz3");
    gtk_container_set_border_width (GTK_CONTAINER (window), 0);
    gtk_widget_set_usize(window, 300, 300);
        
    //create a new scrolled window.
    scrolled_window = gtk_scrolled_window_new (NULL, NULL);
        
    gtk_container_set_border_width (GTK_CONTAINER (scrolled_window), 10);
        
    /* The policy is one of GTK_POLICY AUTOMATIC, or GTK_POLICY_ALWAYS.
     * GTK_POLICY_AUTOMATIC will automatically decide whether you need
     * scrollbars, whereas GTK_POLICY_ALWAYS will always leave the scrollbars
     * there.  The first one is the horizontal scrollbar, the second, 
     * the vertical. */
    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);

    //The dialog window is created with a vbox packed into it.                          
    gtk_box_pack_start (GTK_BOX (GTK_DIALOG(window)->vbox), scrolled_window, TRUE, TRUE, 0);
    gtk_widget_show (scrolled_window);
        
    //create a table of 10 by 10 squares.
    table = gtk_table_new (10, 10, FALSE);
       
    //set the spacing to 45 on x and 1 on y
    gtk_table_set_row_spacings (GTK_TABLE (table), 45);
    gtk_table_set_col_spacings (GTK_TABLE (table), 1);
        
    //pack the table into the scrolled window
    gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window), table);
    gtk_widget_show (table);

    question=gtk_label_new("1.Which of the famous board game listed below was invented in India?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 1);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Monopoly");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 2);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3), (gpointer) "Monopoly");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Scrabble");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0,3);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3), (gpointer) "Scrabble");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Snake and Ladder");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 4);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3), (gpointer) "Snake and Ladder");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Chess");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 5);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3), (gpointer) "Chess");
    gtk_widget_show (button);

    question=gtk_label_new("2. Where is the great Taj Mahal situated at?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 6);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Hyderabad");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 7);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3_1), (gpointer) "Hyderabad");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Delhi");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 8);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3_1), (gpointer) "Delhi");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Agra");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 9);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3_1), (gpointer) "Agra");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Mumbai");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 10);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3_1), (gpointer) "Mumbai");
    gtk_widget_show (button);

    question=gtk_label_new("3. Where was Yoga orginated?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 11);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "India");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 12);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3_2), (gpointer) "India");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "United States of America");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 13);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3_2), (gpointer) "United States of America");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Shri Lanka");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 14);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3_2), (gpointer) "Shri Lanka");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Italy");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 15);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3_2), (gpointer) "Italy");
    gtk_widget_show (button);

    question=gtk_label_new("4. Where is India located on the World Map?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 16);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Central");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 17);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3_3), (gpointer) "Central");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "South Asia");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 18);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3_3), (gpointer) "South Asia");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Southeast Asia");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 19);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3_3), (gpointer) "Southeast Asia");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "East Asia");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 20);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3_3), (gpointer) "East Asia");
    gtk_widget_show (button);

    question=gtk_label_new("5. Which types of tigers India has?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 21);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Amur Tigers");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 22);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3_4), (gpointer) "Amur Tigers");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Royal Bengal Tigers");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 23);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3_4), (gpointer) "Royal Bengal Tigers");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Indo-Chinese Tigers");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 24);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3_4), (gpointer) "Indo-Chinese Tigers");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Sumatran Tigers");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 25);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz3_4), (gpointer) "Sumatran Tigers");
    gtk_widget_show (button);

    //Enter button to calculate marks
    button = gtk_button_new_with_label ("Enter");
    g_signal_connect_swapped (G_OBJECT (button), "clicked", G_CALLBACK (close_application), G_OBJECT (window));

    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);

    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->action_area), button, TRUE, TRUE, 0);

    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(answer_quiz3), (gpointer) "button");
    gtk_widget_grab_default (button);
    gtk_widget_show (button);
    gtk_widget_show (window);
         
    gtk_main ();
 
}

void create_quiz4 (  ) 

create_quiz4 creates the number quiz 4.

after selection of quiz4 in quiz page and clicking click button.

Returns:
void
Parameters:
void 

Definition at line 1243 of file project.c.

References answer_quiz4(), button, callback_quiz4(), callback_quiz4_1(), callback_quiz4_2(), callback_quiz4_3(), callback_quiz4_4(), close_application(), destroy(), table, and window.

Referenced by answer_m().

{

    static GtkWidget *window;
    GtkWidget *button;
    GtkWidget *question;
    GtkWidget *scrolled_window;
    GtkWidget *table;

    window = gtk_dialog_new ();
    gtk_signal_connect (GTK_OBJECT (window), "destroy", (GtkSignalFunc) destroy, NULL);
    gtk_window_set_title (GTK_WINDOW (window), "Quiz4");
    gtk_container_set_border_width (GTK_CONTAINER (window), 0);
    gtk_widget_set_usize(window, 300, 300);
        
    //create a new scrolled window.
    scrolled_window = gtk_scrolled_window_new (NULL, NULL);
        
    gtk_container_set_border_width (GTK_CONTAINER (scrolled_window), 10);
        
    /* The policy is one of GTK_POLICY AUTOMATIC, or GTK_POLICY_ALWAYS.
     * GTK_POLICY_AUTOMATIC will automatically decide whether you need
     * scrollbars, whereas GTK_POLICY_ALWAYS will always leave the scrollbars
     * there.  The first one is the horizontal scrollbar, the second, 
     * the vertical. */
    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
                        
    gtk_box_pack_start (GTK_BOX (GTK_DIALOG(window)->vbox), scrolled_window, TRUE, TRUE, 0);
    gtk_widget_show (scrolled_window);

    table = gtk_table_new (10, 10, FALSE);

    gtk_table_set_row_spacings (GTK_TABLE (table), 45);
    gtk_table_set_col_spacings (GTK_TABLE (table), 1);

    gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window), table);
    gtk_widget_show (table);

    question=gtk_label_new("1. Which of the pairs listed below is WRONG?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 1);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Spoon and Knife");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 2);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4), (gpointer) "Spoon and Knife");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Badminton and Shuttlecock");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0,3);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4), (gpointer) "Badminton and Shuttlecock");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Shoes and Laces");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 4);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4), (gpointer) "Shoes and Laces");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Shirt and Pants");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 5);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4), (gpointer) "Shirt and Pants");
    gtk_widget_show (button);

    question=gtk_label_new("2. Which of the following animal sounds is CORRECT?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 6);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Birds - Meow");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 7); 
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4_1), (gpointer) "Birds - Meow");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Cows - Neigh");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 8);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4_1), (gpointer) "Cows - Neigh");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Camels - Quack");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 9);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4_1), (gpointer) "Camels - Quack");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Dogs - Bark");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 10);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4_1), (gpointer) "Dogs - Bark");
    gtk_widget_show (button);

    question=gtk_label_new("3. Which of the following is NOT a mammal");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 11);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Zebra");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 12);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4_2), (gpointer) "Zebra");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Crocodile");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 13);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4_2), (gpointer) "Crocodile");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Whale");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 14);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4_2), (gpointer) "Whale");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Panda");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 15);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4_2), (gpointer) "Panda");
    gtk_widget_show (button);

    question=gtk_label_new("4. Where is Eiffel Tower?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 16);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "India");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 17);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4_3), (gpointer) "India");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Italy");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 18);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4_3), (gpointer) "Italy");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Malaysia");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 19);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4_3), (gpointer) "Malaysia");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "France");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 20);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4_3), (gpointer) "France");
    gtk_widget_show (button);

    question=gtk_label_new("5. What does caterpillar changes into?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 21);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Worm");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 22);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4_4), (gpointer) "Worm");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Lizard");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 23);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4_4), (gpointer) "Lizard");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Butterfly");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 24);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4_4), (gpointer) "Butterfly");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Dragonfly");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 25);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz4_4), (gpointer) "Dragonfly");
    gtk_widget_show (button);

    button = gtk_button_new_with_label ("Enter");
    g_signal_connect_swapped (G_OBJECT (button), "clicked", G_CALLBACK (close_application), G_OBJECT (window));

    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);

    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->action_area), button, TRUE, TRUE, 0);

    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(answer_quiz4), (gpointer) "button");
    gtk_widget_grab_default (button);
    gtk_widget_show (button);
    gtk_widget_show (window);
         
    gtk_main ();

}

void create_quiz5 (  ) 

create_quiz5 creates the quiz.

after selection of quiz5 in quiz page and clicking click button.

Returns:
void
Parameters:
void 

Definition at line 1559 of file project.c.

References answer_quiz5(), button, callback_quiz5(), callback_quiz5_1(), callback_quiz5_2(), callback_quiz5_3(), callback_quiz5_4(), close_application(), destroy(), table, and window.

Referenced by answer_m().

{

    static GtkWidget *window;

    GtkWidget *button;
    GtkWidget *question;
    GtkWidget *scrolled_window;
    GtkWidget *table;
   
    //Create a new dialog window for the scrolled window to be packed into.
    window = gtk_dialog_new ();
    gtk_signal_connect (GTK_OBJECT (window), "destroy", (GtkSignalFunc) destroy, NULL);
    gtk_window_set_title (GTK_WINDOW (window), "Quiz5");
    gtk_container_set_border_width (GTK_CONTAINER (window), 0);
    gtk_widget_set_usize(window, 300, 300);
        
    //create a new scrolled window.
    scrolled_window = gtk_scrolled_window_new (NULL, NULL);
        
    gtk_container_set_border_width (GTK_CONTAINER (scrolled_window), 10);
        
    /* The policy is one of GTK_POLICY AUTOMATIC, or GTK_POLICY_ALWAYS.
     * GTK_POLICY_AUTOMATIC will automatically decide whether you need
     * scrollbars, whereas GTK_POLICY_ALWAYS will always leave the scrollbars
     * there.  The first one is the horizontal scrollbar, the second, 
     * the vertical. */
    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);

    //The dialog window is created with a vbox packed into it.                          
    gtk_box_pack_start (GTK_BOX (GTK_DIALOG(window)->vbox), scrolled_window, TRUE, TRUE, 0);
    gtk_widget_show (scrolled_window);
        
    //create a table of 10 by 10 squares.
    table = gtk_table_new (10, 10, FALSE);
       
    //set the spacing to 45 on x and 1 on y
    gtk_table_set_row_spacings (GTK_TABLE (table), 45);
    gtk_table_set_col_spacings (GTK_TABLE (table), 1);
        
    //pack the table into the scrolled window
    gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window), table);
    gtk_widget_show (table);

    //Question 1
    question=gtk_label_new("1.  What do you get if you mix yellow and blue?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 1);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Red");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 2);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5), (gpointer) "Red");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Green");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0,3);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5), (gpointer) "Green");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Purple");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 4);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5), (gpointer) "Purple");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Brown");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 5);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5), (gpointer) "Brown");
    gtk_widget_show (button);


    //Question 2
    question=gtk_label_new("2. How many colours does the rainbow has?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 6);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "7");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 7); 
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5_1), (gpointer) "7");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "8");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 8);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5_1), (gpointer) "8");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "6");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 9);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5_1), (gpointer) "6");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "5");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 10);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5_1), (gpointer) "5");
    gtk_widget_show (button);


    //Question 3
    question=gtk_label_new("3. Which is NOT the colour of the rainbow?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 11);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Red");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 12);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5_2), (gpointer) "Red");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Indigo");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 13);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5_2), (gpointer) "Indigo");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Brown");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 14);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5_2), (gpointer) "Brown");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Orange");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 15);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5_2), (gpointer) "Orange");
    gtk_widget_show (button);


    //Question 4
    question=gtk_label_new("4. Which fruit listed below is red in colour?");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 16);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Pear");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 17);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5_3), (gpointer) "Pear");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Banana");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 18);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5_3), (gpointer) "Banana");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Grapes");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 19);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5_3), (gpointer) "Grapes");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Apple");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 20);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5_3), (gpointer) "Apple");
    gtk_widget_show (button);


    //Question 5
    question=gtk_label_new("5. Which is NOT the colour of the Indian flag");
    gtk_table_attach_defaults (GTK_TABLE (table), question, 0, 1, 0, 21);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Green");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 22);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5_4), (gpointer) "Green");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Orange");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 23);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5_4), (gpointer) "Orange");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Yellow");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 24);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5_4), (gpointer) "Yellow");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "white");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 25);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_quiz5_4), (gpointer) "White");
    gtk_widget_show (button);

    //Enter button to calculate marks
    button = gtk_button_new_with_label ("Enter");
    g_signal_connect_swapped (G_OBJECT (button), "clicked", G_CALLBACK (close_application), G_OBJECT (window));

    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);

    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->action_area), button, TRUE, TRUE, 0);

    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(answer_quiz5), (gpointer) "button");
    gtk_widget_grab_default (button);
    gtk_widget_show (button);
    gtk_widget_show (window);
         
    gtk_main ();

    
}

void create_quiz_main (  ) 

create_quiz_main creates the quiz page.

after selection of quiz in main quiz page and clicking click button. respective quiz page will open.

Returns:
void
Parameters:
void 

Definition at line 2111 of file project.c.

References answer_m(), button, callback_m(), close_application(), and window.

Referenced by answer_cat().

{
    GtkWidget *window = NULL;
    GtkWidget *box1;
    GtkWidget *box2;
    GtkWidget *button;
    GtkWidget *separator;
    GtkWidget *question;
     
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  
    gtk_window_set_default_size(GTK_WINDOW(window),340,200);
    gtk_window_set_title (GTK_WINDOW (window), "Quizzes");
    gtk_container_set_border_width (GTK_CONTAINER (window), 0);

    box1 = gtk_vbox_new (FALSE, 0);
    gtk_container_add (GTK_CONTAINER (window), box1);
    gtk_widget_show (box1);

    box2 = gtk_vbox_new (FALSE, 10);
    gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
    gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
    gtk_widget_show (box2);

    question=gtk_label_new("Choose Quiz");
    gtk_box_pack_start (GTK_BOX (box2), question, TRUE, TRUE, 0);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Quiz1");
    gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_m), (gpointer) "Quiz1");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Quiz2");
    gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_m), (gpointer) "Quiz2");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Quiz3");
    gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_m), (gpointer) "Quiz3");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Quiz4");
    gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_m), (gpointer) "Quiz4");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Quiz5");
    gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_m), (gpointer) "Quiz5");
    gtk_widget_show (button);

    separator = gtk_hseparator_new ();
    gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
    gtk_widget_show (separator);

    box2 = gtk_vbox_new (FALSE, 10);
    gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
    gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
    gtk_widget_show (box2);

    button = gtk_button_new_with_label ("Enter");
    g_signal_connect_swapped (G_OBJECT (button), "clicked",
                              G_CALLBACK (close_application),
                              G_OBJECT (window));
   
    gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(answer_m), (gpointer) "button");
    gtk_widget_grab_default (button);
    gtk_widget_show (button);
    gtk_widget_show (window);
     
    gtk_main ();

}

void create_register (  ) 

create_register creates a register page for new user to register.

Returns:
void
Parameters:
void 

Definition at line 2413 of file project.c.

References button, callback_clear(), callback_reg(), close_application(), delete_cancel(), delete_event_reg(), enter_callback_register(), entry_name, entry_passwordr, entry_roll, entry_usernamer, label, table, and window.

Referenced by callback_register().

{

    GtkWidget *button;
    GtkWidget *table;
    GtkWidget *label;

    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

    gtk_window_set_default_size(GTK_WINDOW(window),50,50);

    gtk_window_set_title (GTK_WINDOW (window), "Login");

    g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK (delete_event_reg), NULL);

    gtk_container_set_border_width (GTK_CONTAINER (window), 10);

    table = gtk_table_new (2, 2, TRUE);

    gtk_container_add (GTK_CONTAINER (window), table);

    label=gtk_label_new("Name:");
    gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 0, 1);
    gtk_widget_show (label);
    label=gtk_label_new("Roll No.:");
    gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 1, 2);
    gtk_widget_show (label);

    label=gtk_label_new("Username:");
    gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 2, 3);
    gtk_widget_show (label);

    label=gtk_label_new("Password:");
    gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 3, 4);
    gtk_widget_show (label);

    entry_name = gtk_entry_new ();
    g_signal_connect (G_OBJECT (entry_name), "activate", G_CALLBACK (enter_callback_register), (gpointer) entry_name);
    gtk_table_attach_defaults (GTK_TABLE (table), entry_name, 1, 2, 0, 1);
    gtk_widget_show (entry_name);

    entry_roll = gtk_entry_new ();
    g_signal_connect (G_OBJECT (entry_roll), "activate", G_CALLBACK (enter_callback_register), (gpointer) entry_roll);
    gtk_table_attach_defaults (GTK_TABLE (table), entry_roll, 1, 2, 1, 2);
    gtk_widget_show (entry_roll);

    entry_usernamer = gtk_entry_new ();
    g_signal_connect (G_OBJECT (entry_usernamer), "activate", G_CALLBACK (enter_callback_register), (gpointer) entry_usernamer);
    gtk_table_attach_defaults (GTK_TABLE (table), entry_usernamer, 1, 2, 2, 3);
    gtk_widget_show (entry_usernamer);

    entry_passwordr = gtk_entry_new ();
    g_signal_connect (G_OBJECT (entry_passwordr), "activate", G_CALLBACK (gtk_entry_set_visibility), (gpointer) entry_passwordr);
    gtk_entry_set_text (GTK_ENTRY (entry_passwordr), "");
    gtk_editable_select_region (GTK_EDITABLE (entry_passwordr), 0, GTK_ENTRY (entry_passwordr)->text_length);
    gtk_table_attach_defaults (GTK_TABLE (table), entry_passwordr, 1, 2, 3, 4);
    gtk_widget_show (entry_passwordr);

    button = gtk_button_new_with_label ("Register");
    g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (callback_reg), (gpointer) "Register");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 5, 6);
    gtk_widget_show (button);

    button = gtk_button_new_with_label ("Clear");
    g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (callback_clear), (gpointer) "Clear");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 1, 2, 5, 6);
    gtk_widget_show (button);

    g_signal_connect_swapped (G_OBJECT (button), "clicked",
                              G_CALLBACK (close_application),
                              G_OBJECT (window));

    button = gtk_button_new_with_label ("Cancel");
    g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (delete_cancel), (gpointer) "Cancel");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 6, 7);
    gtk_widget_show (button);


    gtk_widget_show (table);
    gtk_widget_show (window);


}

void create_story (  ) 

create_story creates the main story page.

after selection of story in main quiz page and clicking click button. respective story page will open.

Returns:
void
Parameters:
void 

Definition at line 2037 of file project.c.

References answer_story(), button, callback_story(), close_application(), and window.

Referenced by answer_cat().

{
    GtkWidget *window = NULL;
    GtkWidget *box1;
    GtkWidget *box2;
    GtkWidget *button;
    GtkWidget *separator;
    GtkWidget *question;
     
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  
    gtk_window_set_default_size(GTK_WINDOW(window),340,200);
    gtk_window_set_title (GTK_WINDOW (window), "Story");
    gtk_container_set_border_width (GTK_CONTAINER (window), 0);

    box1 = gtk_vbox_new (FALSE, 0);
    gtk_container_add (GTK_CONTAINER (window), box1);
    gtk_widget_show (box1);

    box2 = gtk_vbox_new (FALSE, 10);
    gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
    gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
    gtk_widget_show (box2);

    question=gtk_label_new("Choose Story");
    gtk_box_pack_start (GTK_BOX (box2), question, TRUE, TRUE, 0);
    gtk_widget_show(question);

    button = gtk_radio_button_new_with_label (NULL, "Story1");
    gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_story), (gpointer) "Story1");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Story2");
    gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_story), (gpointer) "Story2");
    gtk_widget_show (button);

    button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "Story3");
    gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(callback_story), (gpointer) "Story3");
    gtk_widget_show (button);

    separator = gtk_hseparator_new ();
    gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
    gtk_widget_show (separator);

    box2 = gtk_vbox_new (FALSE, 10);
    gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
    gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
    gtk_widget_show (box2);

    button = gtk_button_new_with_label ("Enter");
    g_signal_connect_swapped (G_OBJECT (button), "clicked",
                              G_CALLBACK (close_application),
                              G_OBJECT (window));
   
    gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
    gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(answer_story), (gpointer) "button");
    gtk_widget_grab_default (button);
    gtk_widget_show (button);
    gtk_widget_show (window);
     
    gtk_main ();

}

void create_story1 (  ) 

create_story1 creates the story 1 page.

after selection of story 1 in story page and clicking click button.

Returns:
void
Parameters:
void 

Definition at line 1835 of file project.c.

References window.

Referenced by answer_story().

{

  GtkWidget *window;
  GtkWidget *label1;
  GtkWidget *hseparator;
  GtkWidget *vbox;

  //gtk_init(&argc, &argv);

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
  gtk_window_set_title(GTK_WINDOW(window), "The Silent Passer-by");
  gtk_window_set_resizable(GTK_WINDOW(window), FALSE);

  gtk_container_set_border_width(GTK_CONTAINER(window), 20);
    
    FILE *fp;
    fp=fopen("story1","r");
    char line[600];
    int i=1;
    vbox = gtk_vbox_new(FALSE, 10);
    gtk_container_add(GTK_CONTAINER(window), vbox);
    //gtk_window_fullscreen(GTK_WINDOW(window)); 
     //gtk_window_set_default_size  (GTK_WINDOW(window),700,600);
    while(!feof(fp))
    {
        fgets(line,500,fp);
        //printf("%s",line);
        label1 = gtk_label_new(line);
        //line[strlen(line)-1]='\0';
  gtk_label_set_line_wrap(GTK_LABEL(label1), TRUE);
  hseparator = gtk_hseparator_new();
  gtk_box_pack_start(GTK_BOX(vbox), label1, FALSE, TRUE, 2*(i-1));
  gtk_box_pack_start(GTK_BOX(vbox), hseparator, FALSE, TRUE, 2*i);
    //break;
    i++;
    }
  //gtk_box_pack_start(GTK_BOX(vbox), label2, FALSE, TRUE, 0);
  g_signal_connect_swapped(G_OBJECT(window), "destroy",
  G_CALLBACK(gtk_main_quit), G_OBJECT(window));
  gtk_widget_show_all(window);
  gtk_main();
}

void create_story2 (  ) 

create_story2 creates the story 2 page.

after selection of story 2 in story page and clicking click button.

Returns:
void
Parameters:
void 

Definition at line 1884 of file project.c.

References window.

Referenced by answer_story().

{
  
  GtkWidget *window;
  GtkWidget *label1;
  GtkWidget *hseparator;
  GtkWidget *vbox;

  //gtk_init(&argc, &argv);

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
  gtk_window_set_title(GTK_WINDOW(window), "The Asse's Shadow");
  gtk_window_set_resizable(GTK_WINDOW(window), FALSE);
  gtk_container_set_border_width(GTK_CONTAINER(window), 20);
    
    FILE *fp;
    fp=fopen("story2","r");
    char line[600];
    int i=1;
vbox = gtk_vbox_new(FALSE, 10);
  gtk_container_add(GTK_CONTAINER(window), vbox);
    //gtk_window_fullscreen(GTK_WINDOW(window)); 
     //gtk_window_set_default_size  (GTK_WINDOW(window),700,600);
    while(!feof(fp))
    {
        fgets(line,500,fp);
        //printf("%s",line);
        label1 = gtk_label_new(line);
        //line[strlen(line)-1]='\0';

  gtk_label_set_line_wrap(GTK_LABEL(label1), TRUE);
  hseparator = gtk_hseparator_new();
  gtk_box_pack_start(GTK_BOX(vbox), label1, FALSE, TRUE, 2*(i-1));
  gtk_box_pack_start(GTK_BOX(vbox), hseparator, FALSE, TRUE, 2*i);
    //break;
    i++;
    }
  //gtk_box_pack_start(GTK_BOX(vbox), label2, FALSE, TRUE, 0);

  g_signal_connect_swapped(G_OBJECT(window), "destroy",
  G_CALLBACK(gtk_main_quit), G_OBJECT(window));
  gtk_widget_show_all(window);
  gtk_main();
}

void create_story3 (  ) 

create_story3 creates the story 3 page.

after selection of story 3 in story page and clicking click button.

Returns:
void
Parameters:
void 

Definition at line 1935 of file project.c.

References window.

Referenced by answer_story().

{

  
  GtkWidget *window;
  GtkWidget *label1;
  GtkWidget *hseparator;
  GtkWidget *vbox;

  //gtk_init(&argc, &argv);

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
  gtk_window_set_title(GTK_WINDOW(window), "The Two Frog");
  gtk_window_set_resizable(GTK_WINDOW(window), FALSE);

  gtk_container_set_border_width(GTK_CONTAINER(window), 20);
    
    FILE *fp;
    fp=fopen("story3","r");
    char line[600];
    int i=1;
    vbox = gtk_vbox_new(FALSE, 10);
    gtk_container_add(GTK_CONTAINER(window), vbox);
    //gtk_window_fullscreen(GTK_WINDOW(window)); 
     //gtk_window_set_default_size  (GTK_WINDOW(window),700,600);
    while(!feof(fp))
    {
        fgets(line,500,fp);
        //printf("%s",line);
        label1 = gtk_label_new(line);
        //line[strlen(line)-1]='\0';

  gtk_label_set_line_wrap(GTK_LABEL(label1), TRUE);
  hseparator = gtk_hseparator_new();
  gtk_box_pack_start(GTK_BOX(vbox), label1, FALSE, TRUE, 2*(i-1));
  gtk_box_pack_start(GTK_BOX(vbox), hseparator, FALSE, TRUE, 2*i);
    //break;
    i++;
    }
  //gtk_box_pack_start(GTK_BOX(vbox), label2, FALSE, TRUE, 0);


  g_signal_connect_swapped(G_OBJECT(window), "destroy",
        G_CALLBACK(gtk_main_quit), G_OBJECT(window));

  gtk_widget_show_all(window);

  gtk_main();
}

gboolean delete_cancel ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 2372 of file project.c.

References window.

Referenced by create_register().

{
    gtk_widget_destroy (window);
    return FALSE;
}

static gboolean delete_event ( GtkWidget *  widget,
GdkEvent *  event,
gpointer  data 
) [static]

It is called when user tries to close window using window manager.

We will always disable closing of window using window manager.

Parameters:
widget1 Widget which generated the event
data any additional data passed while generating signal
Returns:
FALSE if you want closing, TRUE otherwise

Definition at line 2585 of file project.c.

Referenced by main().

{
    gtk_main_quit ();
    return FALSE;
}

static gboolean delete_event_reg ( GtkWidget *  widget,
GdkEvent *  event,
gpointer  data 
) [static]

This callback quits the program.

Definition at line 2363 of file project.c.

Referenced by create_register().

{
    gtk_main_quit();
    return FALSE;
}

void destroy ( GtkWidget *  widget,
gpointer  data 
)

Definition at line 127 of file project.c.

Referenced by create_quiz1(), create_quiz2(), create_quiz3(), create_quiz4(), and create_quiz5().

{
    gtk_main_quit();
}

void display_row (  ) 

display_row used to retreive data from database.

Returns:
void
Parameters:
void 

Definition at line 89 of file project.c.

References connection1, counter, sqlrow, and temp.

Referenced by answer_quiz1(), answer_quiz2(), answer_quiz3(), answer_quiz4(), answer_quiz5(), and callback_login().

{
    unsigned int field_count;
    field_count = 0;
    counter=1;
    printf("\n<");
    while (field_count < mysql_field_count (connection1))
        {
        if(field_count==0)      //Means its a roll number
        {
            strcpy(temp,sqlrow[0]);
            break;
        }
            
        }
        printf (">\n");
}

static void enter_callback ( GtkWidget *  widget,
GtkWidget *  entry 
) [static]

Definition at line 2593 of file project.c.

Referenced by main().

{
    const gchar *entry_text;
    entry_text = gtk_entry_get_text (GTK_ENTRY (entry));
}

static void enter_callback_register ( GtkWidget *  widget,
GtkWidget *  entry 
) [static]

enter_callback_register is for text entry in text area in register page.

if clear button pressed.

Returns:
widget1 Widegt which generated the signal
Parameters:
entry is a pointer to the textbox(GTK_ENTRY) used to get data from the user.

Definition at line 2383 of file project.c.

Referenced by create_register().

{
    const gchar *entry_text;
    entry_text = gtk_entry_get_text (GTK_ENTRY (entry));
    printf ("Entry contents: %s\n", entry_text);
}

int main ( int  argc,
char *  argv[] 
)

This is the main login window.program starts here.

where new user can click on register button to register and old user can login directly.All arguments are passed to gtk for processing, which removes any arguments relevant to it. All other arguments are ignored.

Parameters:
argc Number of arguments passed.
argv NULL terminated array of command line arguments.
Returns:
0

Definition at line 2610 of file project.c.

References button, callback_login(), callback_register(), close_application(), create_database(), delete_event(), enter_callback(), entry_password, entry_username, label, table, and window.

{
    create_database();
        
    gtk_init (&argc, &argv);
    /* Create a new window */
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

    /* Set the window size */
    gtk_window_set_default_size(GTK_WINDOW(window),50,50);

    /* Set the window title */
    gtk_window_set_title (GTK_WINDOW (window), "Login");

    /* Set a handler for delete_event that immediately
     * exits GTK. */
    g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK (delete_event), NULL);

    /* Sets the border width of the window.*/
    gtk_container_set_border_width (GTK_CONTAINER (window), 10);

    table = gtk_table_new (2, 2, TRUE);

    /* Put the table in the main window */
    gtk_container_add (GTK_CONTAINER (window), table);


    //Textbox for Username
    entry_username = gtk_entry_new ();
    g_signal_connect (G_OBJECT (entry_username), "activate", G_CALLBACK (enter_callback), (gpointer) entry_username);
    gtk_entry_set_text (GTK_ENTRY (entry_username), "");
    gtk_editable_select_region (GTK_EDITABLE (entry_username), 0, GTK_ENTRY (entry_username)->text_length);
    gtk_table_attach_defaults (GTK_TABLE (table), entry_username, 1, 2, 0, 1);
    gtk_widget_show (entry_username);

    //Textbox for Password
    entry_password = gtk_entry_new ();
    g_signal_connect (G_OBJECT (entry_password), "activate", G_CALLBACK (gtk_entry_set_visibility), (gpointer) entry_password);
    gtk_entry_set_text (GTK_ENTRY (entry_password), "");
    gtk_editable_select_region (GTK_EDITABLE (entry_password), 0, GTK_ENTRY (entry_password)->text_length);
    gtk_table_attach_defaults (GTK_TABLE (table), entry_password, 1, 2, 1, 2);
    gtk_widget_show (entry_password);
       
    label=gtk_label_new("Username");
    gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 0, 1);
    gtk_widget_show (label);
        
    label=gtk_label_new("Password");
    gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 1, 2);
    gtk_widget_show (label);


    /* Create Login button */
    button = gtk_button_new_with_label ("Login");
    g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (callback_login), (gpointer) "Login");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 3, 4);
    gtk_widget_show (button);
    
     g_signal_connect_swapped (G_OBJECT (button), "clicked",
                              G_CALLBACK (close_application),
                              G_OBJECT (window));
    /* Create Register button */
    button = gtk_button_new_with_label ("Register");
    g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (callback_register), (gpointer) "Register");
    gtk_table_attach_defaults (GTK_TABLE (table), button, 1, 2, 3, 4);
    gtk_widget_show (button);


    gtk_widget_show (table);
    gtk_widget_show (window);

    gtk_main ();

    return 0;
}


Variable Documentation

char ans[100]
GtkWidget* button
GtkWidget* check

Definition at line 122 of file project.c.

MYSQL* connection1
MYSQL * connection2

Definition at line 15 of file project.c.

int counter = 0

Definition at line 19 of file project.c.

Referenced by callback_login(), and display_row().

GtkWidget* entry

Definition at line 119 of file project.c.

GtkWidget* entry_name

Definition at line 123 of file project.c.

Referenced by callback_clear(), callback_reg(), and create_register().

GtkWidget * entry_password

Definition at line 120 of file project.c.

Referenced by callback_login(), and main().

GtkWidget * entry_passwordr

Definition at line 123 of file project.c.

Referenced by callback_clear(), callback_reg(), and create_register().

GtkWidget * entry_roll

Definition at line 123 of file project.c.

Referenced by callback_clear(), callback_reg(), and create_register().

GtkWidget* entry_username

Definition at line 120 of file project.c.

Referenced by callback_login(), and main().

GtkWidget * entry_usernamer

Definition at line 123 of file project.c.

Referenced by callback_clear(), callback_reg(), and create_register().

int flag_cat = 0

Definition at line 2189 of file project.c.

Referenced by answer_cat(), and callback_cat().

int flag_quiz = 0

Definition at line 1750 of file project.c.

Referenced by answer_m(), and callback_m().

int flag_story = 0

Definition at line 1986 of file project.c.

Referenced by answer_story(), and callback_story().

GtkWidget* label

Definition at line 121 of file project.c.

Referenced by create_register(), and main().

char n[10]

Definition at line 22 of file project.c.

Referenced by callback_reg().

char option_quiz1[50]

Definition at line 135 of file project.c.

Referenced by answer_quiz1(), and callback_quiz1().

char option_quiz1_1[50]

Definition at line 135 of file project.c.

Referenced by answer_quiz1(), and callback_quiz1_1().

char option_quiz1_2[50]

Definition at line 135 of file project.c.

Referenced by answer_quiz1(), and callback_quiz1_2().

char option_quiz1_3[50]

Definition at line 135 of file project.c.

Referenced by answer_quiz1(), and callback_quiz1_3().

char option_quiz1_4[50]

Definition at line 135 of file project.c.

Referenced by answer_quiz1(), and callback_quiz1_4().

char option_quiz2[50]

Definition at line 461 of file project.c.

Referenced by answer_quiz2(), and callback_quiz2().

char option_quiz2_1[50]

Definition at line 461 of file project.c.

Referenced by answer_quiz2(), and callback_quiz2_1().

char option_quiz2_2[50]

Definition at line 461 of file project.c.

Referenced by answer_quiz2(), and callback_quiz2_2().

char option_quiz2_3[50]

Definition at line 461 of file project.c.

Referenced by answer_quiz2(), and callback_quiz2_3().

char option_quiz2_4[50]

Definition at line 461 of file project.c.

Referenced by answer_quiz2(), and callback_quiz2_4().

char option_quiz3[50]

Definition at line 782 of file project.c.

Referenced by answer_quiz3(), and callback_quiz3().

char option_quiz3_1[50]

Definition at line 782 of file project.c.

Referenced by answer_quiz3(), and callback_quiz3_1().

char option_quiz3_2[50]

Definition at line 782 of file project.c.

Referenced by answer_quiz3(), and callback_quiz3_2().

char option_quiz3_3[50]

Definition at line 782 of file project.c.

Referenced by answer_quiz3(), and callback_quiz3_3().

char option_quiz3_4[50]

Definition at line 782 of file project.c.

Referenced by answer_quiz3(), and callback_quiz3_4().

char option_quiz4[50]

Definition at line 1103 of file project.c.

Referenced by answer_quiz4(), and callback_quiz4().

char option_quiz4_1[50]

Definition at line 1103 of file project.c.

Referenced by answer_quiz4(), and callback_quiz4_1().

char option_quiz4_2[50]

Definition at line 1103 of file project.c.

Referenced by answer_quiz4(), and callback_quiz4_2().

char option_quiz4_3[50]

Definition at line 1103 of file project.c.

Referenced by answer_quiz4(), and callback_quiz4_3().

char option_quiz4_4[50]

Definition at line 1103 of file project.c.

Referenced by answer_quiz4(), and callback_quiz4_4().

char option_quiz5[50]

Definition at line 1421 of file project.c.

Referenced by answer_quiz5(), and callback_quiz5().

char option_quiz5_1[50]

Definition at line 1421 of file project.c.

Referenced by answer_quiz5(), and callback_quiz5_1().

char option_quiz5_2[50]

Definition at line 1421 of file project.c.

Referenced by answer_quiz5(), and callback_quiz5_2().

char option_quiz5_3[50]

Definition at line 1421 of file project.c.

Referenced by answer_quiz5(), and callback_quiz5_3().

char option_quiz5_4[50]

Definition at line 1421 of file project.c.

Referenced by answer_quiz5(), and callback_quiz5_4().

char p[100]

Definition at line 26 of file project.c.

Referenced by callback_login(), and callback_reg().

char r[100]

Definition at line 23 of file project.c.

MYSQL_RES* result
MYSQL_ROW sqlrow
char subans[100]

Definition at line 21 of file project.c.

Referenced by answer_m(), answer_quiz1(), answer_quiz2(), answer_quiz3(), answer_quiz4(), and answer_quiz5().

GtkWidget* table
char temp[100]
char u[100]

Definition at line 25 of file project.c.

Referenced by callback_login(), and callback_reg().

char user[100]

Definition at line 20 of file project.c.

Referenced by answer_quiz1(), answer_quiz2(), answer_quiz3(), answer_quiz4(), and answer_quiz5().

GtkWidget * window
 All Files Functions Variables