亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? callbacks.c

?? linux程序設(shè)計(jì)第二版
?? C
字號(hào):
/* This file contains callback functions and some helper functions   for the Gnome/Gtk+ CD application */#include "app_gnome.h"extern GtkWidget *treeview;extern GtkWidget *app;extern GtkWidget *appbar;extern GtkWidget *artist_entry;extern GtkWidget *title_entry;extern GtkWidget *catalogue_entry;GtkWidget *addcd_dialog;void quit_app( GtkWidget * window, gpointer data){  database_end();  gtk_main_quit();}gint confirm_exit(){  gint result;  GtkWidget * dialog = gtk_message_dialog_new (NULL,                                  GTK_DIALOG_MODAL,                                  GTK_MESSAGE_QUESTION,                                  GTK_BUTTONS_YES_NO,                                  "Are you sure you want to quit?");  result = gtk_dialog_run (GTK_DIALOG (dialog));  gtk_widget_destroy (dialog);  return (result == GTK_RESPONSE_YES);}gboolean delete_event_handler ( GtkWidget *window, GdkEvent *event, gpointer data){  return !confirm_exit();}void addcd_dialog_button_clicked (GtkDialog * dialog, gint response, gpointer userdata){  const gchar *artist_const;  const gchar *title_const;  const gchar *catalogue_const;  gchar artist[200];  gchar title[200];  gchar catalogue[200];  gint *cd_id;  if (response == GTK_RESPONSE_ACCEPT)  {    artist_const = gtk_entry_get_text(GTK_ENTRY (artist_entry));    title_const =  gtk_entry_get_text(GTK_ENTRY (title_entry));    catalogue_const = gtk_entry_get_text(GTK_ENTRY (catalogue_entry));    strcpy(artist, artist_const);    strcpy(title, title_const);    strcpy(catalogue, catalogue_const);        add_cd(artist, title, catalogue, cd_id);  }  addcd_dialog = NULL;  gtk_widget_destroy(GTK_WIDGET(dialog));}/* This is the heart of the application - When we click on search, we   fetch matching cds and their tracks, and display using the GtkTreeView */void on_search_button_clicked  (GtkButton *button, gpointer userdata){  struct cd_search_st cd_res;  struct current_cd_st cd;  struct current_tracks_st ct;  gint res1, res2, res3;  gchar track_title[110];  const gchar *search_string_const;  gchar search_string[200];  gchar search_text[200];  gint i = 0, j = 0;  GtkTreeStore *tree_store;  GtkTreeIter parent_iter, child_iter;  memset(&track_title, 0, sizeof(track_title));  /* Get the search string, and copy into a non-const pointer */  search_string_const = gtk_entry_get_text(GTK_ENTRY (userdata));  strcpy (search_string, search_string_const);  /* Fetch matching cds */  res1 = find_cds(search_string, &cd_res);  /* Update the appbar to display the search results */  sprintf(search_text, " Displaying %d result(s) for search string ' %s '",          MIN(res1, MAX_CD_RESULT), search_string);  gnome_appbar_push (GNOME_APPBAR( appbar), search_text);  tree_store = gtk_tree_store_new (N_COLUMNS,                                   G_TYPE_STRING,                                   G_TYPE_STRING,                                   G_TYPE_STRING);                                     /* Fetch the cd detail for each matching cd and get the tracks */                                    while (i < res1 && i < MAX_CD_RESULT)  {     res2 = get_cd(cd_res.cd_id[i], &cd);      /* Add a new row to the model */      gtk_tree_store_append (tree_store, &parent_iter, NULL);      gtk_tree_store_set (tree_store, &parent_iter,                          COLUMN_TITLE, cd.title,                          COLUMN_ARTIST, cd.artist_name,                          COLUMN_CATALOGUE, cd.catalogue, -1                          );     res3 = get_cd_tracks(cd_res.cd_id[i++], &ct);     j = 0;     /* Populate the tree with the current cd's tracks */     while (j < res3)     {       sprintf(track_title, " Track %d. ", j+1);       strcat(track_title, ct.track[j++]);       gtk_tree_store_append (tree_store, &child_iter, &parent_iter);       gtk_tree_store_set (tree_store, &child_iter,                          COLUMN_TITLE, track_title, -1);     }   }  gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL(tree_store));}void on_addcd_activate (GtkMenuItem * menuitem, gpointer user_data){  /* Check to see if we have already created dialog */  if (addcd_dialog != NULL)      return;  addcd_dialog = create_addcd_dialog();  gtk_widget_show_all (addcd_dialog);}gboolean close_app ( GtkWidget * window, gpointer data){  gboolean exit;  if ((exit = confirm_exit()))  {    quit_app(NULL, NULL);  }  return exit;}void on_quit_activate (GtkMenuItem  * menuitem, gpointer user_data){  close_app(NULL, NULL);}void on_about_activate (GtkMenuItem  * menuitem, gpointer user_data){  const char * authors[] = {"Wrox Press", NULL};  GtkWidget *about = gnome_about_new ("CD Database", "1.0",                                      "(c) Wrox Press",                                      "Beginning Linux Programming",                                      (const char ** ) authors, NULL,                                      "Translators", NULL);  gtk_widget_show(about);}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
黄一区二区三区| 91一区在线观看| 亚洲综合色丁香婷婷六月图片| 欧美人与禽zozo性伦| 丁香网亚洲国际| 国产suv精品一区二区883| 国产精品日产欧美久久久久| 欧美精品色综合| 3d动漫精品啪啪| 久久综合视频网| 国产精品久久久久aaaa| 国产精品午夜久久| 亚洲视频香蕉人妖| 五月婷婷色综合| 国产一区二区伦理| 99re这里只有精品首页| 欧美日韩国产精选| 2022国产精品视频| 中文字幕一区二区三区精华液| 亚洲一线二线三线视频| 亚洲五码中文字幕| 精品国精品自拍自在线| 欧美日韩在线三区| 欧美日韩欧美一区二区| 欧美精品久久99| 欧美一区二区三区电影| 精品国产一二三| 国产亲近乱来精品视频| 欧美高清在线一区| 亚洲免费高清视频在线| 一区二区三区.www| 日本在线不卡视频一二三区| 婷婷国产v国产偷v亚洲高清| 美女在线一区二区| 懂色av中文字幕一区二区三区| 丰满白嫩尤物一区二区| 色婷婷狠狠综合| 日韩欧美成人午夜| 国产日产欧产精品推荐色| 亚洲日本免费电影| 麻豆精品一区二区三区| 成人高清视频在线| 日韩一区二区三区av| 中文字幕不卡在线| 亚洲成人激情av| av中文字幕一区| 欧美精品乱码久久久久久按摩| 亚洲精品亚洲人成人网在线播放| 国产精品无人区| 国产精品丝袜久久久久久app| 国产精品激情偷乱一区二区∴| 欧美一级黄色大片| 日韩一区二区三区视频| 久久久噜噜噜久久人人看 | 日韩一区二区在线看| 国产精品国产精品国产专区不片 | 一本大道久久a久久综合婷婷| 欧美不卡一区二区三区| 综合色天天鬼久久鬼色| 国产伦精品一区二区三区免费 | 91性感美女视频| 久久久噜噜噜久久人人看 | 成人一区二区视频| 欧美大片在线观看一区二区| 亚洲一区二区三区视频在线 | 精品污污网站免费看| 亚洲免费色视频| 91网页版在线| 中文欧美字幕免费| 大白屁股一区二区视频| 久久精品视频在线看| 国产专区欧美精品| 久久婷婷综合激情| 成人在线综合网| 中文字幕乱码日本亚洲一区二区 | 国产精品情趣视频| 国产很黄免费观看久久| 久久久影视传媒| 国产高清一区日本| 国产午夜精品久久| 国产成人免费在线观看| 亚洲欧洲日韩综合一区二区| 成人美女在线视频| 一区二区高清在线| 91精品国产一区二区| 国产一区二区福利视频| 国产精品―色哟哟| 欧美影院一区二区三区| 蜜桃免费网站一区二区三区| 精品成人免费观看| 波多野结衣在线aⅴ中文字幕不卡| 综合在线观看色| 亚洲精品一区在线观看| 国产精品综合一区二区| 中文字幕在线不卡视频| 91 com成人网| 粉嫩aⅴ一区二区三区四区| 亚洲一区二区三区四区五区黄 | 日韩精品1区2区3区| 久久精品亚洲一区二区三区浴池| 91麻豆精品视频| 国产在线精品视频| 一区二区三区在线免费播放| 日韩欧美亚洲另类制服综合在线| 99久久久久免费精品国产| 久久精品理论片| 亚洲夂夂婷婷色拍ww47| 日本一区二区不卡视频| 欧美精品一区二区三区蜜桃视频| 91国产免费看| 成人福利视频在线| 国产精品一二三区在线| 黄一区二区三区| 久久机这里只有精品| 五月综合激情婷婷六月色窝| 亚洲视频一区在线| 中文字幕一区在线观看| 久久久天堂av| 久久精品视频免费| 精品国产乱码久久久久久牛牛 | 久久精品亚洲国产奇米99| 制服.丝袜.亚洲.另类.中文 | 日韩精品福利网| 五月婷婷综合激情| 天堂在线一区二区| 午夜精品久久久久久不卡8050| 亚洲综合在线五月| 亚洲五码中文字幕| 午夜精品在线视频一区| 五月激情综合色| 美女久久久精品| 国产精品99久久久久久久女警 | 亚洲色图视频免费播放| 亚洲日本中文字幕区| 一区二区三区在线观看网站| 亚洲自拍与偷拍| 久久99精品久久久久久动态图| 久久精品国产久精国产爱| 国产在线不卡一卡二卡三卡四卡| 国产乱妇无码大片在线观看| eeuss鲁一区二区三区| 色婷婷av一区二区三区之一色屋| 日本高清不卡视频| 日韩免费在线观看| 国产精品成人一区二区三区夜夜夜| 亚洲精品免费在线| 美女爽到高潮91| av资源网一区| 欧美精品一区二区不卡| 亚洲综合清纯丝袜自拍| www.成人在线| 伊人开心综合网| 91浏览器打开| 国产精品电影院| a级精品国产片在线观看| 欧美高清在线精品一区| 日韩午夜在线播放| 日韩精品一区第一页| 91精品国产免费久久综合| 免费看精品久久片| 2020国产成人综合网| 国产精品自拍av| 中文字幕一区在线| 91行情网站电视在线观看高清版| 亚洲黄一区二区三区| 欧美日韩一区 二区 三区 久久精品| 亚洲激情一二三区| 日韩欧美精品在线视频| 国产精品综合视频| 伊人一区二区三区| 这里只有精品电影| 国产精品18久久久久久久网站| 中文字幕一区二区在线播放| 从欧美一区二区三区| 一二三区精品视频| 日韩午夜中文字幕| 成人免费视频一区| 成人免费在线观看入口| 欧美日韩国产电影| 国产综合色视频| 国产精品国产三级国产| 欧美伊人精品成人久久综合97 | av亚洲精华国产精华| 亚洲乱码国产乱码精品精小说| 欧美一级一区二区| 成人手机在线视频| 亚洲成人自拍一区| 欧美激情中文字幕| 欧美一区二区精品| 成人精品视频一区二区三区 | 奇米精品一区二区三区在线观看一| 精品播放一区二区| 欧美精品视频www在线观看 | 欧美国产日韩a欧美在线观看| 色综合色综合色综合色综合色综合 | 婷婷综合在线观看| 成人欧美一区二区三区小说| 欧美大尺度电影在线| 懂色av一区二区三区免费看| 天天色天天操综合|