From c9f5494ca711381af8068ff173cd0bcb0137bdf0 Mon Sep 17 00:00:00 2001 From: Heo Date: Thu, 3 Dec 2015 03:05:02 +0900 Subject: [PATCH] heo --- gtk_Main.cpp | 388 --------------------------------------------------- mainpage.c | 133 ------------------ sam.cpp | 18 --- sample.c | 38 ----- test.cpp | 233 ------------------------------- ver.c | 13 -- 6 files changed, 823 deletions(-) delete mode 100644 gtk_Main.cpp delete mode 100644 mainpage.c delete mode 100755 sam.cpp delete mode 100755 sample.c delete mode 100644 test.cpp delete mode 100755 ver.c diff --git a/gtk_Main.cpp b/gtk_Main.cpp deleted file mode 100644 index 1d90a12..0000000 --- a/gtk_Main.cpp +++ /dev/null @@ -1,388 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -#define total 5 - -using namespace std; -//////////////////////////////////////// -GtkWidget *window; - //GtkWidget *button; - //GtkWidget *button_1,*button_2,*button_3,*button_4; - GtkWidget *button[10]; - GtkWidget *vbox_1, *vbox_2,*vbox_3,*vbox_4,*vbox_5; - GtkWidget *hbox_1,*hbox_2; - GtkWidget *label_Name, *label_Diff; - GtkWidget *input_Name, *input_Diff; - GtkWidget *QuizIntro, *Quiz; - GtkWidget *result; - GtkWidget *Title; -//////////////////////////////////////// -char R_voca[200]; -char R_mean[200]; -char W_mean1[200]; -char W_mean2[200]; -char W_mean3[200]; -int UserId; -char UserName[30]; -int idx_R=0; -int idx_O=0; -char result_Arr[300]; -char receive_Arr[300]; -char result_Arr1[300]; -char receive_Arr1[300]; -char result_Arr2[300]; -char receive_Arr2[300]; -char result_Arr3[300]; -char receive_Arr3[300]; -int i; -int CorrectNum; -int WrongNum; -int k; -int AnswerIdx; -int QuizCNT; - -int DBcon(char *user,int QuizNum,int Correct,int Wrong); -//int main (int argc, char *argv[]); -int euckr2utf8(char *source, char *dest, int dest_size) ; -char* Voca_Mean(void); -void tokenizer2(char *receive1,char *str); -void tokenizer(char *receive1,char *receive2,char *str); -void noncorrect (GtkWidget *widget); -void correct (GtkWidget *widget); - -void reset() -{ - ////////답 추출/////////// - cout << "Correct : " << CorrectNum << " ---- " << "Wrong : " << WrongNum << endl; - memset(result_Arr,0x00,sizeof(result_Arr)); - memset(receive_Arr,0x00,sizeof(receive_Arr)); - memset(result_Arr1,0x00,sizeof(result_Arr1)); - memset(receive_Arr1,0x00,sizeof(receive_Arr1)); - memset(result_Arr2,0x00,sizeof(result_Arr2)); - memset(receive_Arr2,0x00,sizeof(receive_Arr2)); - memset(result_Arr3,0x00,sizeof(result_Arr3)); - memset(receive_Arr3,0x00,sizeof(receive_Arr3)); - - char *R_Protocol = Voca_Mean(); usleep(100*100);//1000*1000-100000 - strncpy(receive_Arr,R_Protocol,strlen(R_Protocol)); - - char *Wrong_Answer1 = Voca_Mean(); usleep(100*100); - strncpy(receive_Arr1,Wrong_Answer1,strlen(Wrong_Answer1)); - - char *Wrong_Answer2 = Voca_Mean(); usleep(100*100); - strncpy(receive_Arr2,Wrong_Answer2,strlen(Wrong_Answer2)); - - char *Wrong_Answer3 = Voca_Mean(); usleep(100*100); - strncpy(receive_Arr3,Wrong_Answer3,strlen(Wrong_Answer3)); - ////////////////////////// - - - int euclen5 = euckr2utf8(receive_Arr, receive_Arr, sizeof(receive_Arr)); - //euclen1 = euckr2utf8(R_Protocol, R_Protocol, sizeof(R_Protocol)); - int euclen2 = euckr2utf8(receive_Arr1, receive_Arr1, sizeof(receive_Arr1)); - int euclen3 = euckr2utf8(receive_Arr2, receive_Arr2, sizeof(receive_Arr2)); - int euclen4 = euckr2utf8(receive_Arr3, receive_Arr3, sizeof(receive_Arr3)); - - memset(R_voca,0x00,sizeof(R_voca)); - memset(R_mean,0x00,sizeof(R_mean)); - memset(W_mean1,0x00,sizeof(W_mean1)); - memset(W_mean2,0x00,sizeof(W_mean2)); - memset(W_mean3,0x00,sizeof(W_mean3)); - - tokenizer(R_voca,R_mean,receive_Arr); - tokenizer2(W_mean1,receive_Arr1); - tokenizer2(W_mean2,receive_Arr2); - tokenizer2(W_mean3,receive_Arr3); - - cout << R_voca << "- " << R_mean << endl; - cout << W_mean1 << endl; - cout << W_mean2 << endl; - cout << W_mean3 << endl; - - k = rand()%4 + 1; - g_print("%d\n",k); - - gtk_label_set_text(GTK_LABEL(Quiz),R_voca); - gtk_button_set_label(GTK_BUTTON(button[(k++)%4 + 1]),W_mean1); - gtk_button_set_label(GTK_BUTTON(button[(k++)%4 + 1]),W_mean2); - gtk_button_set_label(GTK_BUTTON(button[(k++)%4 + 1]),W_mean3); - gtk_button_set_label(GTK_BUTTON(button[(k++)%4 + 1]),R_mean); - - AnswerIdx = ((k-1)%4)+1; - g_print("%d\n",AnswerIdx); - - gtk_signal_disconnect_by_data(GTK_OBJECT(button[1]),(gpointer)(NULL)); - gtk_signal_disconnect_by_data(GTK_OBJECT(button[2]),(gpointer)(NULL)); - gtk_signal_disconnect_by_data(GTK_OBJECT(button[3]),(gpointer)(NULL)); - gtk_signal_disconnect_by_data(GTK_OBJECT(button[4]),(gpointer)(NULL)); - - - for(i=1;i<=4;i++) - { - if(i==AnswerIdx) - gtk_signal_connect (GTK_OBJECT (button[AnswerIdx]), "clicked", G_CALLBACK (correct), NULL); - else - gtk_signal_connect (GTK_OBJECT (button[i]), "clicked", G_CALLBACK (noncorrect), NULL); - } - return; -} - -void correct (GtkWidget *widget) -{ - QuizCNT++; - g_print ("correct\n"); - gtk_label_set_text(GTK_LABEL(result),"Correct!"); - CorrectNum++; - if(QuizCNT == total) - { - DBcon(UserName,total,CorrectNum,WrongNum); - exit(0); - //뭔가 처리되어야함 ex. 어느 페이지로 갈지 - } - reset(); -} - -void noncorrect (GtkWidget *widget) -{ - QuizCNT++; - g_print ("Wrong\n"); - gtk_label_set_text(GTK_LABEL(result),"Wrong Answer!"); - WrongNum++; - if(QuizCNT == total) - { - DBcon(UserName,total,CorrectNum,WrongNum); - exit(0); - //뭔가 처리되어야함 ex. 어느 페이지로 갈지 - } - reset(); -} - -void destroy (void) -{ - gtk_main_quit (); -} - - int utf82euckr(char *source, char *dest, int dest_size) -{ - iconv_t it; - char *pout; - size_t in_size, out_size; - - it = iconv_open("EUC-KR", "UTF-8"); - in_size = strlen(source); - out_size = dest_size; - pout = dest; - if (iconv(it, &source, &in_size, &pout, &out_size) < 0) - return(-1); - iconv_close(it); - return(pout - dest); - /* return(out_size); */ -} - int euckr2utf8(char *source, char *dest, int dest_size) //EUCKR -> UTF8 -{ - iconv_t it; - char *pout; - size_t in_size, out_size; - - it = iconv_open("UTF-8", "EUC-KR"); - in_size = strlen(source); - out_size = dest_size; - pout = dest; - if (iconv(it, &source, &in_size, &pout, &out_size) < 0) - return(-1); - iconv_close(it); - return(pout - dest); - /* return(out_size); */ -} - -void tokenizer(char *receive1,char *receive2,char *str) -{ - idx_R=0; - idx_O=0; - char temp; - while((temp = str[idx_R++]) != '%') - { - receive1[idx_O++] = temp; - } - idx_O=0; - while((temp = str[idx_R++]) != 0) - { - receive2[idx_O++] = temp; - } -} - -void tokenizer2(char *receive1,char *str) -{ - char temp; - idx_R=0; - idx_O=0; - while((temp = str[idx_R++]) != '%') - { - //receive1[idx_O++] = temp; - } - idx_O=0; - while((temp = str[idx_R++]) != 0) - { - receive1[idx_O++] = temp; - } -} - - -//int main(int argc, char *argv[]) -int GTKmain(char *name) -{ - UserId = ID; - strncpy(UserName,name,strlen(name)); - char result_Arr[300]; - char receive_Arr[300]; - int euclen1,euclen2,euclen3,euclen4,euclen5; - //UtfTime=g_convert(buffer, sizeof(buffer), "UTF-8", "euc-kr",NULL,NULL,&error); - locale::global(locale("ko_KR.UTF-8")); - locale::global(locale("ko_KR.euckr")); - locale::global(locale("ko_KR.utf8")); - memset(result_Arr,0x00,sizeof(result_Arr)); - memset(receive_Arr,0x00,sizeof(receive_Arr)); - //setlocale(LC_ALL, "korean"); - - ////////답 추출/////////// - char *R_Protocol = Voca_Mean(); usleep(100*10);//1000*1000-100000 - strncpy(receive_Arr,R_Protocol,strlen(R_Protocol)); - - char *Wrong_Answer1 = Voca_Mean(); usleep(100*10); - strncpy(receive_Arr1,Wrong_Answer1,strlen(Wrong_Answer1)); - - char *Wrong_Answer2 = Voca_Mean(); usleep(100*10); - strncpy(receive_Arr2,Wrong_Answer2,strlen(Wrong_Answer2)); - - char *Wrong_Answer3 = Voca_Mean(); usleep(100*10); - strncpy(receive_Arr3,Wrong_Answer3,strlen(Wrong_Answer3)); - ////////////////////////// - - - //b = iconv("EUC-KR","UTF-8",*R_Protocol); - //cout << "--->" << R_Protocol << endl; - euclen5 = euckr2utf8(receive_Arr, receive_Arr, sizeof(receive_Arr)); - //euclen1 = euckr2utf8(R_Protocol, R_Protocol, sizeof(R_Protocol)); - euclen2 = euckr2utf8(receive_Arr1, receive_Arr1, sizeof(receive_Arr1)); - euclen3 = euckr2utf8(receive_Arr2, receive_Arr2, sizeof(receive_Arr2)); - euclen4 = euckr2utf8(receive_Arr3, receive_Arr3, sizeof(receive_Arr3)); - - cout << receive_Arr << endl; - cout << receive_Arr1 << endl; - cout << receive_Arr2 << endl; - cout << receive_Arr3 << endl; - - cout << "-------------------------------------------" << endl; - - memset(R_voca,0x00,sizeof(R_voca)); - memset(R_mean,0x00,sizeof(R_mean)); - memset(W_mean1,0x00,sizeof(W_mean1)); - memset(W_mean2,0x00,sizeof(W_mean2)); - memset(W_mean3,0x00,sizeof(W_mean3)); - - tokenizer(R_voca,R_mean,receive_Arr); - tokenizer2(W_mean1,receive_Arr1); - tokenizer2(W_mean2,receive_Arr2); - tokenizer2(W_mean3,receive_Arr3); - - cout << R_voca << "-" << R_mean << endl; - cout << W_mean1 << endl; - cout << W_mean2 << endl; - cout << W_mean3 << endl; - - - - //gtk_init (&argc, &argv); - gtk_init (NULL, NULL); - - window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - - gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (destroy), NULL); - //gtk_container_border_width (GTK_CONTAINER (window), 10); - vbox_1 = gtk_vbox_new(TRUE,0); - vbox_2 = gtk_vbox_new(TRUE,0); - vbox_3 = gtk_vbox_new(TRUE,0); - vbox_4 = gtk_vbox_new(TRUE,0); - vbox_5 = gtk_vbox_new(TRUE,0); - hbox_1 = gtk_hbox_new(TRUE,0); - hbox_2 = gtk_hbox_new(TRUE,0); - - label_Name = gtk_label_new("Name"); - label_Diff = gtk_label_new("Difficult"); - input_Name = gtk_label_new("만들어야함"); - input_Diff = gtk_label_new("만들어야함"); - QuizIntro = gtk_label_new("다음 단어의 뜻을 고르시오."); - Quiz = gtk_label_new(R_voca); - Title = gtk_label_new("문제풀이"); - result = gtk_label_new("결과가 떠야함"); - - ////////////////////문제 배치//////////////////////////// - srand((unsigned)time(NULL) + (unsigned)getpid()); - k = rand()%4 + 1; - g_print("%d\n",k); - button[(k++)%4 + 1] = gtk_button_new_with_label (W_mean1); - button[(k++)%4 + 1] = gtk_button_new_with_label (W_mean2); - button[(k++)%4 + 1] = gtk_button_new_with_label (W_mean3); - button[(k++)%4 + 1] = gtk_button_new_with_label (R_mean); - AnswerIdx = ((k-1)%4)+1; - g_print("%d\n",AnswerIdx); - ////////////////////////////////////////////////////// - - gtk_widget_set_size_request(label_Name,200,60); - gtk_widget_set_size_request(label_Diff,200,60); - gtk_widget_set_size_request(input_Name,200,60); - gtk_widget_set_size_request(input_Diff,200,60); - gtk_widget_set_size_request(Title,100,60); - gtk_widget_set_size_request(QuizIntro,100,60); - gtk_widget_set_size_request(Quiz,100,60); - gtk_widget_set_size_request(button[1],120,10); - gtk_widget_set_size_request(button[2],120,10); - gtk_widget_set_size_request(button[3],120,10); - gtk_widget_set_size_request(button[4],120,10); - gtk_widget_set_size_request(result,80,50); - - - gtk_container_add(GTK_CONTAINER(vbox_1),label_Name); - gtk_container_add(GTK_CONTAINER(vbox_1),label_Diff); - gtk_container_add(GTK_CONTAINER(vbox_2),input_Name); - gtk_container_add(GTK_CONTAINER(vbox_2),input_Diff); - gtk_container_add(GTK_CONTAINER(vbox_3),Title); - gtk_container_add(GTK_CONTAINER(vbox_4),QuizIntro); - gtk_container_add(GTK_CONTAINER(vbox_4),Quiz); - gtk_container_add(GTK_CONTAINER(vbox_5),result); - gtk_container_add(GTK_CONTAINER(hbox_2),button[1]); - gtk_container_add(GTK_CONTAINER(hbox_2),button[2]); - gtk_container_add(GTK_CONTAINER(hbox_2),button[3]); - gtk_container_add(GTK_CONTAINER(hbox_2),button[4]); - - - for(i=1;i<=4;i++) - { - if(i==AnswerIdx) - gtk_signal_connect (GTK_OBJECT (button[AnswerIdx]), "clicked", G_CALLBACK (correct), NULL); - else - gtk_signal_connect (GTK_OBJECT (button[i]), "clicked", G_CALLBACK (noncorrect), NULL); - } - - gtk_container_add (GTK_CONTAINER (hbox_1), vbox_1); - gtk_container_add (GTK_CONTAINER (hbox_1), vbox_2); - gtk_container_add (GTK_CONTAINER (vbox_3), hbox_1); - gtk_container_add (GTK_CONTAINER (vbox_3), vbox_4); - gtk_container_add (GTK_CONTAINER (vbox_3), hbox_2); - gtk_container_add (GTK_CONTAINER (vbox_3), vbox_5); - gtk_container_add (GTK_CONTAINER (window), vbox_3); - gtk_widget_set_usize(window, 600, 300); - //gtk_widget_show (button); - gtk_widget_show_all (window); - - gtk_main (); - - return 0; -} - diff --git a/mainpage.c b/mainpage.c deleted file mode 100644 index bf49cb9..0000000 --- a/mainpage.c +++ /dev/null @@ -1,133 +0,0 @@ -#include - -void show_info(GtkWidget *widget, gpointer window) { - - GtkWidget *dialog; - dialog = gtk_message_dialog_new(GTK_WINDOW(window), - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_INFO, - GTK_BUTTONS_OK, - "-----------------------------------------\n\ -English VOCA Win Out!\n\ ------------------------------------------\n\ -\n\ --team name-\n\ -\n\ -If you win the game, can achieve the goals about vacabulary.\n\ -\n\ -Please review and give your comments ( aaa@gmail.com )\n\ -\n\ -Enjoy the English:D"); - gtk_window_set_title(GTK_WINDOW(dialog), "Information"); - gtk_dialog_run(GTK_DIALOG(dialog)); - gtk_widget_destroy(dialog); -} - -void show_error(GtkWidget *widget, gpointer window) { - - GtkWidget *dialog; - dialog = gtk_message_dialog_new(GTK_WINDOW(window), - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_ERROR, - GTK_BUTTONS_OK, - "Yeah! Voca Game Start!"); - gtk_window_set_title(GTK_WINDOW(dialog), "Game Start"); - gtk_dialog_run(GTK_DIALOG(dialog)); - gtk_widget_destroy(dialog); -} - -void show_question(GtkWidget *widget, gpointer window) { - - GtkWidget *dialog; - dialog = gtk_message_dialog_new(GTK_WINDOW(window), - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_QUESTION, - GTK_BUTTONS_YES_NO, - "Are you sure to quit?"); - gtk_window_set_title(GTK_WINDOW(dialog), "Game Quit"); - gtk_dialog_run(GTK_DIALOG(dialog)); - gtk_widget_destroy(dialog); -} - -void show_warning(GtkWidget *widget, gpointer window) { - - GtkWidget *dialog; - - dialog = gtk_message_dialog_new(GTK_WINDOW(window), - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_WARNING, - GTK_BUTTONS_OK, - "Fill your information in box and choose the game"); - gtk_window_set_title(GTK_WINDOW(dialog), "Join"); - - - - gtk_dialog_run(GTK_DIALOG(dialog)); - gtk_widget_destroy(dialog); -} - -int main(int argc, char *argv[]) { - - GtkWidget *window; - GtkWidget *table; - - GtkWidget *info; - GtkWidget *join; - GtkWidget *start; - GtkWidget *quit; - -GtkWidget *label1; - GtkWidget *entry1; - - -//////////////////////////////////// - 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_default_size(GTK_WINDOW(window), 600, 400); - gtk_window_set_title(GTK_WINDOW(window), "English VOCA Win Out!"); - - table = gtk_table_new(2, 2, TRUE); - gtk_table_set_row_spacings(GTK_TABLE(table), 2); - gtk_table_set_col_spacings(GTK_TABLE(table), 2); - - info = gtk_button_new_with_label("Info"); - join = gtk_button_new_with_label("Join"); -start = gtk_button_new_with_label("Start"); -quit = gtk_button_new_with_label("Quit"); - - - gtk_table_attach(GTK_TABLE(table), info, 0, 1, 0, 1, - GTK_FILL, GTK_FILL, 3, 3); - gtk_table_attach(GTK_TABLE(table), join, 1, 2, 0, 1, - GTK_FILL, GTK_FILL, 3, 3); - gtk_table_attach(GTK_TABLE(table), start, 0, 1, 1, 2, - GTK_FILL, GTK_FILL, 3, 3); - gtk_table_attach(GTK_TABLE(table), quit, 1, 2, 1, 2, - GTK_FILL, GTK_FILL, 3, 3); - - gtk_container_add(GTK_CONTAINER(window), table); - gtk_container_set_border_width(GTK_CONTAINER(window), 15); - - g_signal_connect(G_OBJECT(info), "clicked", - G_CALLBACK(show_info), (gpointer) window); - - g_signal_connect(G_OBJECT(join), "clicked", - G_CALLBACK(show_warning), (gpointer) window); - - g_signal_connect(G_OBJECT(quit), "clicked", - G_CALLBACK(show_question), (gpointer) window); - - g_signal_connect(G_OBJECT(start), "clicked", - G_CALLBACK(show_error), (gpointer) window); - - g_signal_connect(G_OBJECT(window), "destroy", - G_CALLBACK(gtk_main_quit), G_OBJECT(window)); - - gtk_widget_show_all(window); - - gtk_main(); - - return 0; -} diff --git a/sam.cpp b/sam.cpp deleted file mode 100755 index d38daa2..0000000 --- a/sam.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include - -int main(int argc, char *argv[]) { - - GtkWidget *window; - - gtk_init(&argc, &argv); - - window = gtk_window_new(GTK_WINDOW_TOPLEVEL); - gtk_widget_show(window); - - g_signal_connect(window, "destroy", - G_CALLBACK(gtk_main_quit), NULL); - - gtk_main(); - - return 0; -} diff --git a/sample.c b/sample.c deleted file mode 100755 index 1ecd342..0000000 --- a/sample.c +++ /dev/null @@ -1,38 +0,0 @@ -#include - -void print_msg(GtkWidget *widget, gpointer window) { - - g_printf("Button clicked\n"); -} - -int main(int argc, char *argv[]) { - - GtkWidget *window; - GtkWidget *button; - GtkWidget *halign; - - gtk_init(&argc, &argv); - - window = gtk_window_new(GTK_WINDOW_TOPLEVEL); - gtk_window_set_title(GTK_WINDOW(window), "Mnemonic"); - gtk_window_set_default_size(GTK_WINDOW(window), 300, 200); - gtk_container_set_border_width(GTK_CONTAINER(window), 15); - - button = gtk_button_new_with_mnemonic("_Button"); - - g_signal_connect(button, "clicked", - G_CALLBACK(print_msg), NULL); - - halign = gtk_alignment_new(0, 0, 0, 0); - gtk_container_add(GTK_CONTAINER(halign), button); - gtk_container_add(GTK_CONTAINER(window), halign); - - gtk_widget_show_all(window); - - g_signal_connect(G_OBJECT(window), "destroy", - G_CALLBACK(gtk_main_quit), NULL); - - gtk_main(); - - return 0; -} diff --git a/test.cpp b/test.cpp deleted file mode 100644 index a88ce7f..0000000 --- a/test.cpp +++ /dev/null @@ -1,233 +0,0 @@ - -#include - -gboolean OnWindowDeleteEvent(GtkWidget* widget, GdkEventAny* event, gpointer data) -{ - /*return false so that window will be destroyed*/ - return FALSE; -} - -void OnWindowDestroy(GtkObject* object, gpointer data) -{ - /*exit main loop*/ - gtk_main_quit(); -} - - -void OnNotebookSwitchPage(GtkNotebook* notebook, GtkNotebookPage* page, gint pageNum, gpointer data) -{ - GtkWidget* child; - GtkWidget* tabLabel; - gchar* pageName; - - /*get page name*/ - child = gtk_notebook_get_nth_page(notebook, pageNum); - tabLabel = gtk_notebook_get_tab_label(notebook, child); - gtk_label_get(GTK_LABEL(tabLabel), &pageName); - - /*Print info*/ - g_print("Switched to page %d\n", pageNum); - g_print("New page's name is %s\n", pageName); - g_print("\n"); -} - -void OnButtonNextClicked(GtkWidget* button, gpointer data) -{ - GtkWidget* notebook; - - /*cast data to a GtkWidget*/ - notebook = (GtkWidget*)data; - - /*move to the next page*/ - gtk_notebook_next_page(GTK_NOTEBOOK(notebook)); -} - -void OnButtonPrevClicked(GtkWidget* button, gpointer data) -{ - GtkWidget* notebook; - - /*cast data to a GtkWidget*/ - notebook = (GtkWidget*)data; - - /*move to the previous page*/ - gtk_notebook_prev_page(GTK_NOTEBOOK(notebook)); -} - -void OnButtonInfoClicked(GtkWidget* button, gpointer data) -{ - gint pageNum; - GtkWidget* notebook; - GtkWidget* childLabel; - GtkWidget* tabLabel; - GtkWidget* menuLabel; - gchar* tabLabelText; - gchar* menuLabelText; - gchar* childLabelText; - - /*cast data to a GtkWidget*/ - notebook = (GtkWidget*)data; - - /*get the current page*/ - pageNum = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); - - /*get current page's labels*/ - childLabel = gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook), pageNum); - tabLabel = gtk_notebook_get_tab_label(GTK_NOTEBOOK(notebook), childLabel); - menuLabel = gtk_notebook_get_menu_label(GTK_NOTEBOOK(notebook), childLabel); - if(menuLabel == NULL) - menuLabel = tabLabel; /*No menu label was placed on this page, - default menu label matches tab label*/ - - /*get label text*/ - gtk_label_get(GTK_LABEL(tabLabel), &tabLabelText); - gtk_label_get(GTK_LABEL(menuLabel), &menuLabelText); - gtk_label_get(GTK_LABEL(childLabel), &childLabelText); - - /*print page info*/ - g_print("Page number: %d\n", pageNum); - g_print("Tab Label: %s\n", tabLabelText); - g_print("Menu Label: %s\n", menuLabelText); - g_print("Child Label: %s\n", childLabelText); - g_print("\n"); -} - -void OnButtonRemoveClicked(GtkWidget* button, gpointer data) -{ - gint pageNum; - GtkWidget* notebook; - - /*cast data to a GtkWidget*/ - notebook = (GtkWidget*)data; - - /*get the current page number*/ - pageNum = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); - - /*remove the page*/ - gtk_notebook_remove_page(GTK_NOTEBOOK(notebook), pageNum); -} - -void OnButtonReorderClicked(GtkWidget* button, gpointer data) -{ - gint pageNum; - GtkWidget* page; - GtkWidget* notebook; - - /*cast data to a GtkWidget*/ - notebook = (GtkWidget*)data; - - /*get the current page number*/ - pageNum = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); - page = gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook), pageNum); - - /*make the current page the first*/ - gtk_notebook_reorder_child(GTK_NOTEBOOK(notebook), page, 0); -} - -int main(int argc, char** argv) -{ - GtkWidget* window; - GtkWidget* vbox; - GtkWidget* hbox; - GtkWidget* notebook; /*the notebook widget*/ - - GtkWidget* buttonPrev; /*buttons*/ - GtkWidget* buttonNext; - GtkWidget* buttonInfo; - GtkWidget* buttonRemove; - GtkWidget* buttonReorder; - - GtkWidget* label1; /*notbook page tab labels*/ - GtkWidget* label2; - GtkWidget* label3; - - GtkWidget* child1; /*notebook page widgets*/ - GtkWidget* child2; - GtkWidget* child3; - - GtkWidget* menu3; /*pop up menu label for page 3*/ - - /*init gtk+*/ - gtk_init(&argc, &argv); - - /*create a window, set its title and hook up signal handlers (the usual stuff)*/ - window = gtk_window_new(GTK_WINDOW_TOPLEVEL); - gtk_window_set_title(GTK_WINDOW(window), "Notebook Example"); - gtk_window_set_default_size(GTK_WINDOW(window), 300, 300); - gtk_signal_connect(GTK_OBJECT(window), "delete-event", GTK_SIGNAL_FUNC(OnWindowDeleteEvent), NULL); - gtk_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(OnWindowDestroy), NULL); - - /*create a vertical box to hold child widgets and pack it into the window*/ - vbox = gtk_vbox_new(FALSE, 0); - gtk_container_add(GTK_CONTAINER(window), vbox); - - /*create a horizontal box for the buttons and pack into vertical box*/ - hbox = gtk_hbox_new(TRUE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); - - /*create a notebook and pack it into the vertical box*/ - //----- 노트를 만든다. -----// - notebook = gtk_notebook_new(); - gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 0); - - //----- 노트 손잡이를 윈도우의 아래쪽으로 옮긴다. -----// - gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook), GTK_POS_TOP); - - //----- 노트 손잡이들을 같은 크기로... -----// - gtk_notebook_set_homogeneous_tabs(GTK_NOTEBOOK(notebook), TRUE); - - //----- 노트 위젯 팝업 메뉴 활성화 -----// - gtk_notebook_popup_enable(GTK_NOTEBOOK(notebook)); - - //----- 노트에 페이지를 넣는다. -----// - child1 = gtk_label_new("This is notebook page #1"); - label1 = gtk_label_new("Page one"); - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), child1, label1); - gtk_notebook_set_tab_label_packing(GTK_NOTEBOOK(notebook), child1, FALSE, FALSE, GTK_PACK_START); - child3 = gtk_label_new("This is notebook page #3"); - label3 = gtk_label_new("Page three"); - menu3 = gtk_label_new("Goto page 3"); - gtk_notebook_append_page_menu(GTK_NOTEBOOK(notebook), child3, label3, menu3); - - //----- 중간에 페이지2를 넣기... -----// - child2 = gtk_label_new("This is notebook page #2"); - label2 = gtk_label_new("Page two"); - gtk_notebook_insert_page(GTK_NOTEBOOK(notebook), child2, label2, 1); - - /*connect to notebook's "switch-page" signal*/ - gtk_signal_connect(GTK_OBJECT(notebook), "switch-page", - GTK_SIGNAL_FUNC(OnNotebookSwitchPage), (gpointer)notebook); - - /*create buttons, pack into horizontal box and connect signals*/ - buttonPrev = gtk_button_new_with_label("Prev"); - gtk_box_pack_start(GTK_BOX(hbox), buttonPrev, TRUE, TRUE, 0); - gtk_signal_connect(GTK_OBJECT(buttonPrev), "clicked", - GTK_SIGNAL_FUNC(OnButtonPrevClicked), (gpointer)notebook); - - buttonNext = gtk_button_new_with_label("Next"); - gtk_box_pack_start(GTK_BOX(hbox), buttonNext, TRUE, TRUE, 0); - gtk_signal_connect(GTK_OBJECT(buttonNext), "clicked", - GTK_SIGNAL_FUNC(OnButtonNextClicked), (gpointer)notebook); - - buttonInfo = gtk_button_new_with_label("Info"); - gtk_box_pack_start(GTK_BOX(hbox), buttonInfo, TRUE, TRUE, 0); - gtk_signal_connect(GTK_OBJECT(buttonInfo), "clicked", - GTK_SIGNAL_FUNC(OnButtonInfoClicked), (gpointer)notebook); - - buttonRemove = gtk_button_new_with_label("Remove"); - gtk_box_pack_start(GTK_BOX(hbox), buttonRemove, TRUE, TRUE, 0); - gtk_signal_connect(GTK_OBJECT(buttonRemove), "clicked", - GTK_SIGNAL_FUNC(OnButtonRemoveClicked), (gpointer)notebook); - - buttonReorder = gtk_button_new_with_label("Reorder"); - gtk_box_pack_start(GTK_BOX(hbox), buttonReorder, TRUE, TRUE, 0); - gtk_signal_connect(GTK_OBJECT(buttonReorder), "clicked", - GTK_SIGNAL_FUNC(OnButtonReorderClicked), (gpointer)notebook); - - /*show the window and all child widgets*/ - gtk_widget_show_all(window); - - /*enter main loop*/ - gtk_main(); - - return 0; -} diff --git a/ver.c b/ver.c deleted file mode 100755 index c1659fa..0000000 --- a/ver.c +++ /dev/null @@ -1,13 +0,0 @@ -#include - -int main(int argc, char *argv[]) { - - gtk_init(&argc, &argv); - - g_printf("GTK+ version: %d.%d.%d\n", gtk_major_version, - gtk_minor_version, gtk_micro_version); - g_printf("Glib version: %d.%d.%d\n", glib_major_version, - glib_minor_version, glib_micro_version); - - return 0; -}