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

📄 main.c

📁 这是一个Linux下的源代码,具体的你自己去看了,绝对的好东西,是关于网络通讯方面的!
💻 C
字号:
#include "configfile.h"#include <gtk/gtk.h>extern ConfigFile *rccfgfile,*cfgfile;extern GtkWidget *tree_main,*root_leaf;extern GtkWidget *nb_1_1;extern gint yesnoreturn;extern gboolean nb_changed;void yq_main ();void createmenu (GtkWidget *win_main,GtkWidget *main_vbox);void createtoolbar (GtkWidget *parent,GtkWidget *main_vbox);void createtoolbar1(GtkWidget *main_vbox); void createtoolbar2(GtkWidget *parent,GtkWidget *main_vbox); void createtree(GtkWidget *parent,GtkWidget *vbox);void createlist(GtkWidget *vbox);void yq_load_pixmaps(GtkWidget *parent);void yqrc_init();void yq_readfile(GtkWidget *widget, gpointer openfile);void toolbar_cancel(GtkWidget *widget, gpointer data);void toolbar_save(GtkWidget *widget, gpointer data);void YesNo (gchar *szMessage);gint CloseAppWindow (GtkWidget *widget, gpointer *data){	GList *list=NULL;	if (nb_changed)	{		if (*gtk_entry_get_text(GTK_ENTRY(nb_1_1))!='\0')		{			YesNo("正在修改记录,是否保存?");			if (yesnoreturn==2) return;			if (yesnoreturn==1)		 		toolbar_save(widget,NULL);		}			}/*for (list=listofopenfile;list;list=list->next) {  cfgfile=(ConfigFile *)list->data;  if (cfgfile->changed) yq_cfg_write_file(cfgfile,cfgfile->cfgfilename);    yq_cfg_free(cfgfile);        g_free(cfgfile);      }    g_slist_free(listofopenfile);*/    	if  (GTK_TREE_ITEM(root_leaf)->subtree)   	{		list = gtk_container_children (GTK_CONTAINER (tree_main));		while (list) {			gtk_tree_select_child(GTK_TREE(tree_main),list->data);			if (cfgfile->changed) yq_cfg_write_file(cfgfile,cfgfile->cfgfilename);			yq_cfg_free(cfgfile);    			g_free(cfgfile);    			list = g_list_remove_link (list, list);		}		}	if (rccfgfile->changed)		yq_cfg_write_file(rccfgfile,rccfgfile->cfgfilename);	yq_cfg_free(rccfgfile);    	g_free(rccfgfile);          gtk_main_quit ();    return (FALSE);}  int main (int argc,char * argv []){     gtk_init (&argc, &argv);  yqrc_init();  yq_main();  gtk_main();  return 0;}void kk (GtkWidget *widget, gpointer data){    g_print ("%s\n", data);}voidwinmain_size_changed(GtkWidget *box){	yq_cfg_write_int(rccfgfile,"setting","window_width",box->allocation.width);	yq_cfg_write_int(rccfgfile,"setting","window_height",box->allocation.height);  }void yq_main(){  GtkWidget *main_vbox,*win_main;  GtkWidget *hpaned,*vbox,*hbox;  GtkWidget *label,*entry;  gint a,b;  gchar *ab;    win_main = gtk_window_new(GTK_WINDOW_TOPLEVEL);    gtk_window_set_title(GTK_WINDOW(win_main),"友情强档");  gtk_widget_set_usize(win_main, 300, 200);  gtk_container_border_width(GTK_CONTAINER(win_main), 2);  gtk_signal_connect(GTK_OBJECT(win_main),"delete_event",          GTK_SIGNAL_FUNC(CloseAppWindow),NULL);  main_vbox = gtk_vbox_new(FALSE,0);  gtk_container_add(GTK_CONTAINER(win_main),main_vbox);  gtk_widget_show(main_vbox);  gtk_widget_realize(win_main);  yq_load_pixmaps(win_main);  createmenu(win_main,main_vbox);  createtoolbar(win_main,main_vbox);  label=gtk_label_new("检索: ");  gtk_widget_show(label);  entry=gtk_entry_new();  gtk_widget_set_usize(entry,60,-1);  gtk_widget_show(entry);  hbox=gtk_hbox_new(FALSE,0);  gtk_box_pack_start(GTK_BOX (hbox), label, FALSE, TRUE, 0);  gtk_box_pack_start(GTK_BOX (hbox), entry, TRUE, TRUE, 0);  gtk_widget_show(hbox);  vbox=gtk_vbox_new(FALSE,0);  gtk_widget_show(vbox);  gtk_box_pack_start(GTK_BOX (vbox), hbox, FALSE, TRUE, 0);    createtree(win_main,vbox);  hpaned = gtk_hpaned_new();  gtk_paned_pack1(GTK_PANED(hpaned), vbox, TRUE, TRUE);  label=gtk_label_new("拼音首字: ");  gtk_widget_show(label);  entry=gtk_entry_new_with_max_length(3);  gtk_widget_set_usize(entry,35,-1);  gtk_widget_show(entry);  hbox=gtk_hbox_new(FALSE,0);  gtk_widget_show(hbox);  gtk_box_pack_start(GTK_BOX (hbox), label, FALSE, TRUE, 0);  gtk_box_pack_start(GTK_BOX (hbox), entry, FALSE,FALSE , 0);  createtoolbar2(win_main,hbox);  createtoolbar1(hbox);  vbox=gtk_vbox_new(FALSE,0);  gtk_widget_show(vbox);  gtk_box_pack_start(GTK_BOX (vbox), hbox, FALSE, TRUE, 0);  createlist(vbox);  gtk_paned_pack2(GTK_PANED(hpaned), vbox, TRUE, TRUE);  yq_cfg_read_int(rccfgfile,"setting","paned_position",&b);  yq_cfg_read_int(rccfgfile,"setting","window_width",&a);  gtk_paned_compute_position(GTK_PANED(hpaned), a-4,b+2,a-b-6);  gtk_paned_set_position(GTK_PANED(hpaned), b+2);  gtk_widget_show(hpaned);  gtk_box_pack_start (GTK_BOX (main_vbox), hpaned, TRUE, TRUE, 0);  yq_cfg_read_int(rccfgfile,"setting","window_height",&b);      gtk_window_set_default_size(GTK_WINDOW(win_main),a,b);    gtk_signal_connect_object(		GTK_OBJECT(win_main),		"size_allocate",		GTK_SIGNAL_FUNC(winmain_size_changed),		GTK_OBJECT(win_main));  gtk_widget_unrealize(win_main);		   gtk_widget_show(win_main); yq_cfg_read_string(rccfgfile,"file","1",&ab);  yq_readfile(win_main,ab); g_free(ab);		}

⌨️ 快捷键说明

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