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

📄 toolbarfunc.c

📁 这是一个Linux下的源代码,具体的你自己去看了,绝对的好东西,是关于网络通讯方面的!
💻 C
📖 第 1 页 / 共 2 页
字号:
#include "configfile.h"#include <gtk/gtk.h>#include <string.h>#include "yqtype.h"#include "treenode.h"#include <sys/stat.h>#include <stdio.h>extern gchar sFilename[256]; extern gint yesnoreturn;extern ConfigFile *cfgfile;extern gboolean tree_selectiszu;extern gint clist_selectrow;extern gchar tree_selectzuname[255],tree_selectjilu[4];extern struct _YQList yqlist;extern GtkWidget *new_button, *open_button,*print_button, *cut_button, *copy_button, *paste_button, *search_button, *add_button, *remove_button, *save_button, *saveadd_button, *cancel_button, *caxun_button,*zu_button,*rename_button,*suxin_button, *bigico_button, *smallico_button, *list_button, *xian_button, *fenye_button, *mima_button, *laji_button, *wannanli_button, *telepho_button, *question_button, *up_button, *down_button;extern GtkWidget *treewin,*tree_selectitem,*tree_selectrootleaf;extern GtkTree *tree_selecttree,*tree_selectuptree;extern GtkWidget*nb_1_1,*nb_1_2,*nb_1_3,*nb_1_4,*nb_1_5,*nb_1_6,*nb_1_7,*nb_1_8,*nb_1_9,*nb_1_10,*nb_1_11,*nb_1_12,*nb_1_13,*nb_1_14,*nb_1_15,*nb_1_16,*nb_1_17,*nb_1_18,*nb_2_1,*nb_2_2,*nb_2_3,*nb_2_4,*nb_2_5,*nb_2_6,*nb_2_7,*nb_2_8,*nb_2_9,*nb_2_10,*nb_2_11,*nb_2_12,*nb_2_13,*nb_3_1,*nb_3_2;extern GtkWidget *menu_file_new,*menu_file_open,*menu_file_openold,*menu_file_close,*menu_file_saveas,*menu_file_exit,*menu_edit_cut,*menu_edit_copy,*menu_edit_paste,*menu_jilu_add,*menu_jilu_remove,*menu_jilu_save,*menu_jilu_saveadd,*menu_jilu_cancel,*menu_jilu_zu,*menu_jilu_rename,*menu_tool_option;gboolean nb_changed,nb_isadd;struct _Nowincopy nowincopy;void addtotext(gchar **a,gchar *b);void nb_setchanged (GtkWidget *widget, gpointer data);void leaf_setnb(gchar *ab);void Popup (gchar *szMessage);void Areyousure (gchar *szMessage);void YesNo (gchar *szMessage);void tree_set_pixmap(GtkTreeItem *treeitem,ImageType ed);void tree_set_text(GtkTreeItem *treeitem, gchar *ab);GtkWidget* yq_createleaf(gchar *ab,ImageType ed);gchar *leaf_formattext(gchar *bd);void leaf_selected (GtkWidget *widget, tree_node *tnode);void toolbar_save(GtkWidget *widget, gpointer data);void toolbar_add(GtkWidget *widget, gpointer data);void zu_expanded(GtkWidget *widget, tree_node *tnode);void zu_collapsed(GtkWidget *widget, tree_node *tnode);void zu_selected (GtkWidget *widget, tree_node *tnode);void yq_cfg_remove_sections(ConfigFile *cfg,gchar *section);void yq_cfg_rename_sections(ConfigFile *cfg,gchar *section,gchar *section_name);void yq_cfg_daiti_sections(ConfigFile *cfg,gchar *section1,gchar *section2);GtkWidget *yq_readzu(tree_node *tnode);GtkWidget  *yq_createnulltree();void yq_readfile(GtkWidget *widget, gpointer openfile);void GetFilename (char *sTitle);void InputName (gchar *szMessage,gchar *entryvalue);void create_yqfile(gchar *filename);void open_zu(gchar *zuname);void toolbar_addjilu(gchar *ab);void toolbar_addzu();void toolbar_copyzu(gchar *zuname1,gchar *zuname2);GtkWidget *yq_createnulltree(){GtkWidget *tree; tree=gtk_tree_new(); gtk_widget_show (tree); return tree;}voidyq_cfg_remove_sections(ConfigFile *cfg,gchar *section){gint i,z;gchar tz[260];yq_cfg_read_int(cfg,section,"z",&z);for (i=1;i<=z;i++) { sprintf(tz,"%s_%d",section,i); yq_cfg_remove_sections(cfg,tz); } yq_cfg_remove_section(cfg,section);}void yq_cfg_daiti_sections(ConfigFile *cfg,gchar *section1,gchar *section2){yq_cfg_remove_sections(cfg,section1);yq_cfg_rename_sections(cfg,section2,section1);}void yq_cfg_rename_sections(ConfigFile *cfg,gchar *section,gchar *section_name){gint i,z;gchar tz1[260],tz2[260];yq_cfg_read_int(cfg,section,"z",&z);for (i=1;i<=z;i++) { sprintf(tz1,"%s_%d",section,i); sprintf(tz2,"%s_%d",section_name,i); yq_cfg_rename_sections(cfg,tz1,tz2);  } yq_cfg_rename_section(cfg,section,section_name); }voidnb_setchanged (GtkWidget *widget, gpointer data){if ((widget!=save_button)==nb_changed) return;gtk_widget_set_sensitive(new_button,nb_changed);gtk_widget_set_sensitive(menu_file_new,nb_changed);gtk_widget_set_sensitive(open_button,nb_changed);gtk_widget_set_sensitive(menu_file_open,nb_changed);gtk_widget_set_sensitive(menu_file_openold,nb_changed);gtk_widget_set_sensitive(menu_file_close,nb_changed);gtk_widget_set_sensitive(menu_file_saveas,nb_changed);gtk_widget_set_sensitive(print_button,nb_changed);gtk_widget_set_sensitive(cut_button,nb_changed);gtk_widget_set_sensitive(copy_button,nb_changed);gtk_widget_set_sensitive(menu_edit_copy,nb_changed);gtk_widget_set_sensitive(paste_button,nb_changed);gtk_widget_set_sensitive(menu_edit_paste,nb_changed);gtk_widget_set_sensitive(search_button,nb_changed);gtk_widget_set_sensitive(add_button,nb_changed);gtk_widget_set_sensitive(menu_jilu_add,nb_changed);gtk_widget_set_sensitive(remove_button,nb_changed);gtk_widget_set_sensitive(menu_jilu_remove,nb_changed);gtk_widget_set_sensitive(zu_button,nb_changed);gtk_widget_set_sensitive(menu_jilu_zu,nb_changed);gtk_widget_set_sensitive(rename_button,nb_changed);gtk_widget_set_sensitive(menu_jilu_rename,nb_changed);gtk_widget_set_sensitive(suxin_button,nb_changed);gtk_widget_set_sensitive(caxun_button,nb_changed);gtk_widget_set_sensitive(bigico_button,nb_changed);gtk_widget_set_sensitive(smallico_button,nb_changed);gtk_widget_set_sensitive(list_button,nb_changed);gtk_widget_set_sensitive(xian_button,nb_changed);gtk_widget_set_sensitive(fenye_button,nb_changed);gtk_widget_set_sensitive(mima_button,nb_changed);gtk_widget_set_sensitive(laji_button,nb_changed);gtk_widget_set_sensitive(up_button,nb_changed);gtk_widget_set_sensitive(down_button,nb_changed);gtk_widget_set_sensitive(treewin,nb_changed);nb_changed=!nb_changed;  gtk_widget_set_sensitive(menu_jilu_save,nb_changed);gtk_widget_set_sensitive(menu_jilu_saveadd,nb_changed);gtk_widget_set_sensitive(menu_jilu_cancel,nb_changed);                       gtk_widget_set_sensitive(save_button,nb_changed);gtk_widget_set_sensitive(saveadd_button,nb_changed);gtk_widget_set_sensitive(cancel_button,nb_changed);       }voidaddtotext(gchar **a,gchar *bb){gint i;gchar *b;if (*bb=='\0') {   **a='~';(*a)++;**a='0';(*a)++; }else {     b=bb;  for (i=1;i<=strlen(bb);i++)   {   switch (*b)           {           case '~':              **a='~';(*a)++;**a='~';break;                         case '\n':              **a='~';(*a)++;**a='n';break;           case ',':              **a='~';(*a)++;**a='d';break;             default:              **a=*b;break;            }     (*a)++;     b++;    }                         }    **a=',';  (*a)++;}voidtoolbar_save(GtkWidget *widget, gpointer data){	gchar *ab,*a,bb[260],*c;	if (*gtk_entry_get_text(GTK_ENTRY(nb_1_1))=='\0')	{		Popup("请输入姓名"); 		return;    	}	ab=g_malloc(10000);	a=ab;	c=gtk_entry_get_text(GTK_ENTRY(nb_1_1));	if (!nb_isadd) tree_set_text(GTK_TREE_ITEM(tree_selectitem),c);	addtotext(&a,c);	if (!strcmp(gtk_entry_get_text(GTK_ENTRY (GTK_COMBO(nb_1_2)->entry)),"男"))	{		strcpy(bb,"1");		if (!nb_isadd) tree_set_pixmap(GTK_TREE_ITEM(tree_selectitem),BOY);	} else	{		strcpy(bb,"0");		if (!nb_isadd) tree_set_pixmap(GTK_TREE_ITEM(tree_selectitem),GIRL);	}	addtotext(&a,bb);	if (!strcmp(gtk_entry_get_text(GTK_ENTRY (GTK_COMBO(nb_1_3)->entry)),"阳历"))		strcpy(bb,"1");	else		strcpy(bb,"0");	addtotext(&a,bb);	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_1_5)));	if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(nb_1_4)))	strcpy(bb,"1");else strcpy(bb,"0");	addtotext(&a,bb);	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_1_6)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_1_7)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_1_8)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_1_9)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_1_10)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_1_11)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_1_12)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_1_13)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_1_14)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_1_15)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_1_16)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_1_17)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_1_18)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_2_1)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_2_2)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_2_3)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_2_4)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_2_5)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_2_6)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_2_7)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_2_8)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_2_9)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_2_10)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_2_11)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_2_12)));	addtotext(&a,gtk_entry_get_text(GTK_ENTRY(nb_2_13)));	c=gtk_editable_get_chars(GTK_EDITABLE(nb_3_1),(gint)0,(gint)-1);	addtotext(&a,c);	g_free(c);	c=gtk_editable_get_chars(GTK_EDITABLE(nb_3_2),(gint)0,(gint)-1);	addtotext(&a,c);	g_free(c);	a--;	*a='\0';	nb_setchanged(save_button,NULL);	if (!nb_isadd)		yq_cfg_write_string(cfgfile,tree_selectzuname,tree_selectjilu,ab);	else		toolbar_addjilu(ab);	g_free(ab);}void toolbar_addjilu(gchar *ab){	GtkWidget *leaf;	gchar bb[260],*a;	gint i,n;	tree_node *tnode;		a=strchr(ab,',');		*a='\0';		strcpy(bb,ab);		leaf_formattext(bb);		*a=',';		if (*(a+1)=='1')			leaf=yq_createleaf(bb,BOY);		else			leaf=yq_createleaf(bb,GIRL);		tnode = g_malloc(sizeof(tree_node));		tnode -> cfg = cfgfile;		if (tree_selectiszu)		{			if  (!GTK_TREE_ITEM(tree_selectitem)->subtree) 				gtk_tree_item_set_subtree(GTK_TREE_ITEM(tree_selectitem),yq_createnulltree());			if (!GTK_TREE_ITEM(tree_selectitem)->expanded)				gtk_tree_item_expand(GTK_TREE_ITEM(tree_selectitem));			gtk_tree_append(GTK_TREE(GTK_TREE_ITEM(tree_selectitem)->subtree),leaf);			tnode->attree=GTK_TREE(GTK_TREE_ITEM(tree_selectitem)->subtree);			tnode->uptree=tree_selecttree;		}		else		{			gtk_tree_append(tree_selecttree,leaf);			tnode->attree=tree_selecttree;			tnode->uptree=tree_selectuptree;		}		yq_cfg_read_int(cfgfile,tree_selectzuname,"a",&i);		i++;		sprintf(bb,"%s-%d",tree_selectzuname,i);		tnode->root_leaf=tree_selectrootleaf;		strcpy(tnode -> nodename, bb);		gtk_signal_connect(GTK_OBJECT(leaf), "select",			GTK_SIGNAL_FUNC(leaf_selected),tnode);		sprintf(bb,"%d",i);					yq_cfg_write_string(cfgfile,tree_selectzuname,bb,ab);		yq_cfg_write_int(cfgfile,tree_selectzuname,"a",i);		nb_isadd=0;    					yq_cfg_read_int(cfgfile,tree_selectzuname,"z",&n);		n=i+n-1;		if (tree_selectiszu)			gtk_tree_select_item(GTK_TREE(GTK_TREE_ITEM(tree_selectitem)->subtree),n);		else			gtk_tree_select_item(tree_selecttree,n);}voidtoolbar_saveadd(GtkWidget *widget, gpointer data){toolbar_save(save_button,NULL);toolbar_add(add_button,NULL);}voidtoolbar_cancel(GtkWidget *widget, gpointer data){gchar *ab;if (tree_selectiszu)   {       open_zu(tree_selectzuname);       gtk_clist_select_row(GTK_CLIST(yqlist.list),clist_selectrow,0);    }   else {  yq_cfg_read_string(cfgfile,tree_selectzuname,tree_selectjilu,&ab); leaf_setnb(ab); g_free(ab); } nb_setchanged(save_button,NULL); nb_isadd=0;}/*voidtoolbar_remove_jilu(){*/void

⌨️ 快捷键说明

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