⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clist.c

📁 这是一个Linux下的源代码,具体的你自己去看了,绝对的好东西,是关于网络通讯方面的!
💻 C
字号:
#include "yqtype.h"#include "configfile.h"#include <gtk/gtk.h>#include <string.h>extern struct _YQList yqlist;extern GdkPixmap *yqpixmaps[MAX_IMAGE_TYPES];extern GdkBitmap *yqmasks[MAX_IMAGE_TYPES];extern ConfigFile *rccfgfile;gint clist_selectrow;extern gboolean titleshow[33];extern ConfigFile *cfgfile;void clist_readjilu(gchar **strvalue,gchar *ab);gchar *leaf_formattext(gchar *bd);gchar *clist_leaf_formattext(gint i,gchar *p);void yq_clist_select_row(GtkCList clist,gint row,gint column){clist_selectrow=row;}voidcreateclist(){ gint i,n,t,k; gchar *list_title,ti[4];  n=0;t=0;  for (i=0;i<=32;i++) if (titleshow[i]) n++;  yqlist.list=gtk_clist_new(n);  for (i=0;i<n;i++) {  while (!titleshow[t]) t++;    sprintf(ti,"%d",t+1);  yq_cfg_read_string(rccfgfile,"title",ti,&list_title);     gtk_clist_set_column_title(GTK_CLIST(yqlist.list),i,list_title);		  g_free(list_title);  yq_cfg_read_int(rccfgfile,"titlewidth",ti,&k);  if (k)  	gtk_clist_set_column_width(GTK_CLIST(yqlist.list),i,k);  else  	gtk_clist_set_column_auto_resize(GTK_CLIST(yqlist.list),i,1);  t++; } gtk_clist_set_selection_mode(GTK_CLIST(yqlist.list), GTK_SELECTION_EXTENDED); gtk_widget_show(yqlist.list); gtk_clist_column_titles_show(GTK_CLIST(yqlist.list));gtk_signal_connect(GTK_OBJECT(yqlist.list),		"select_row",		GTK_SIGNAL_FUNC(yq_clist_select_row),		NULL);  yqlist.listwin = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(yqlist.listwin),	GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_add (GTK_CONTAINER (yqlist.listwin), GTK_WIDGET(yqlist.list)); /*gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(yqlist.listwin), yqlist.list);*/ gtk_box_pack_start(GTK_BOX (yqlist.box),yqlist.listwin, TRUE, TRUE, 0); gtk_widget_show(yqlist.listwin); yqlist.type=LIST_DETAILS;} gchar*clist_leaf_formattext(gint i,gchar *p){switch (i+1) {  case 2:     if (*p=='1') return "男";else return "女";     break;  case 3:        if (*p=='1') return "阳历";else return "阴历";     break;  case 5:     if (*p=='1') return "是";else return "否";     break;  default:     return leaf_formattext(p); }}voidclist_readjilu(gchar **strvalue,gchar *ab){gint i,n;gchar *p;n=0;p=strtok(ab,","); for (i=1;i<=32;i++)  {     p=strtok(NULL,",");        if (titleshow[i])       {         n++;         strvalue[n]=clist_leaf_formattext(i,p);             }        }      }voidclist_openzu(gchar *zu){gchar *ab,tz[256],**strvalue;gint i,z,n,row;gboolean bb;      gtk_clist_freeze(GTK_CLIST(yqlist.list));   n=0;   for (i=0;i<=32;i++) if (titleshow[i]) n++;   strvalue=g_malloc(n*sizeof(gchar *));             for (i=0;i<n;i++) strvalue[i]=NULL;          yq_cfg_read_int(cfgfile,zu,"z",&z);   for (i=1;i<=z;i++)    {      sprintf(tz,"%s_%d",zu,i);      yq_cfg_read_string(cfgfile,tz,"n",&ab);            row=gtk_clist_append(GTK_CLIST(yqlist.list),strvalue);            gtk_clist_set_pixtext(GTK_CLIST(yqlist.list), row, 0,		ab, 1,		yqpixmaps[ZU_CLOSE],		yqmasks[ZU_CLOSE]);      g_free(ab);		     }   yq_cfg_read_int(cfgfile,zu,"a",&z);     for (i=1;i<=z;i++)     {                     sprintf(tz,"%d",i);          yq_cfg_read_string(cfgfile,zu,tz,&ab);          bb=(*(strchr(ab,',')+1)=='1');                              clist_readjilu(strvalue,ab);          row=gtk_clist_append(GTK_CLIST(yqlist.list),strvalue);             leaf_formattext(ab);          if (bb)          gtk_clist_set_pixtext(GTK_CLIST(yqlist.list), row, 0,		ab, 1,		yqpixmaps[BOY],		yqmasks[BOY]);          else          gtk_clist_set_pixtext(GTK_CLIST(yqlist.list), row, 0,		ab, 1,		yqpixmaps[GIRL],		yqmasks[GIRL]);          g_free(ab);      }   gtk_clist_thaw(GTK_CLIST(yqlist.list));      g_free(strvalue);          }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -