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

📄 view&model_rc.c~

📁 在linux下
💻 C~
字号:
/* define the content of model */enum{/*	COL_ICON=0,	*/	COL_PROCESS_NAME=0,	COL_STAT,	COL_VM_SIZE,	COL_CPU_USED,	COL_ID,	COL_ENVIRON,	COL_PARAM,	COL_TPS,	COL_RSS,	COL_SHARED_PAGES,	COL_EXISTED,	NUM_COLS};void stat_cell_data_func(GtkTreeViewColumn *col,GtkCellRenderer ,*renderer,GtkTreeModel *model,GtkTreeIter		*iter,gpointer	,user_data){	gchar status;	gchar buf[13];	gtk_tree_model_get(model,iter,COL_STAT,&status,-1);	switch((char)status){		case 'R':	g_object_set(renderer,"text","running",NULL);				break;		case 'S':	g_object_set(renderer,"text","sleeping",NULL);				break;		case 'D':	g_object_set(renderer,"text","disk sleep",NULL);				break;		case 'T':	g_object_set(renderer,"text","stopped",NULL);				break;		case 'Z':	g_object_set(renderer,"text","zombie",NULL);				break;		case 'X':	g_object_set(renderer,"text","dead",NULL);				break;		default:	;	}}void vmsz_cell_data_func(GtkTreeViewColumn *col,			GtkCellRenderer 	*renderer,			GtkTreeModel		*model,			GtkTreeIter		*iter,			gpointer		user_data){	unsigned int vmsz;	float temp;	gchar buf[10];	gtk_tree_model_get(model,iter,COL_VM_SIZE,&vmsz,-1);		temp=vmsz/100.0;	if(temp<1){		g_snprintf(buf,sizeof(buf),"%d KB",vmsz);	}	else{		g_snprintf(buf,sizeof(buf),"%.1f MB",temp);	}	g_object_set(renderer,"text",buf,NULL);}	GtkWidget *create_treeview(void){	GtkTreeViewColumn	*col;	GtkCellRenderer 	*renderer;	GtkWidget 		*view;	view=gtk_tree_view_new();	/* ---Column #0--- */	col=gtk_tree_view_column_new();	gtk_tree_view_column_set_title(col,"Process Name");/*		renderer=gtk_cell_renderer_pixbuf_new();	gtk_tree_view_column_pack_start(col,renderer,FALSE);	gtk_tree_view_column_set_attributes(col,renderer,						"pixbuf",COL_ICON,						NULL);*/	renderer=gtk_cell_renderer_text_new();	gtk_tree_view_column_pack_start(col,renderer,TRUE);	gtk_tree_view_column_set_attributes(col,renderer,						"text",COL_PROCESS_NAME,						NULL);		gtk_tree_view_append_column(GTK_TREE_VIEW(view),col);	/* ---Column #1--- */	col=gtk_tree_view_column_new();	gtk_tree_view_column_set_title(col,"Status");	renderer=gtk_cell_renderer_text_new();	gtk_tree_view_column_pack_start(col,renderer,TRUE);	gtk_tree_view_column_set_cell_data_func(col,renderer,stat_cell_data_func,NULL,NULL);		gtk_tree_view_append_column(GTK_TREE_VIEW(view),col);	/* ---Column #2--- */	col=gtk_tree_view_column_new();	gtk_tree_view_column_set_title(col,"VMsize");	renderer=gtk_cell_renderer_text_new();	gtk_tree_view_column_pack_start(col,renderer,TRUE);	gtk_tree_view_column_set_cell_data_func(col,renderer,vmsz_cell_data_func,NULL,NULL);	gtk_tree_view_append_column(GTK_TREE_VIEW(view),col);	/* ---Column #3--- */	col=gtk_tree_view_column_new();	gtk_tree_view_column_set_title(col,"%CPU");	renderer=gtk_cell_renderer_text_new();	gtk_tree_view_column_pack_start(col,renderer,TRUE);	gtk_tree_view_column_set_attributes(col,renderer,						"text",COL_CPU_USED,						NULL);	gtk_tree_view_append_column(GTK_TREE_VIEW(view),col);	/* ---Column #4--- */	col=gtk_tree_view_column_new();	gtk_tree_view_column_set_title(col,"ID");	renderer=gtk_cell_renderer_text_new();	gtk_tree_view_column_pack_start(col,renderer,TRUE);	gtk_tree_view_column_set_attributes(col,renderer,						"text",COL_ID,						NULL);	gtk_tree_view_append_column(GTK_TREE_VIEW(view),col);	/* ---Column #5--- */	col=gtk_tree_view_column_new();	gtk_tree_view_column_set_title(col,"Environment");		renderer=gtk_cell_renderer_text_new();	gtk_tree_view_column_pack_start(col,renderer,TRUE);	gtk_tree_view_column_set_attributes(col,renderer,						"text",COL_ENVIRON,						NULL);	gtk_tree_view_append_column(GTK_TREE_VIEW(view),col);	/* ---Column #6--- */	col=gtk_tree_view_column_new();	gtk_tree_view_column_set_title(col,"Parameter");	renderer=gtk_cell_renderer_text_new();	gtk_tree_view_column_pack_start(col,renderer,TRUE);	gtk_tree_view_column_set_attributes(col,renderer,						"text",COL_PARAM,						NULL);	gtk_tree_view_append_column(GTK_TREE_VIEW(view),col);/*	g_signal_connect(view,"row-activated",(GCallback)view_onRowActivated,NULL);	g_signal_connect(view,"row-changed",(GCallback)view_onRowChanged,NULL);	g_signal_connect(view,"row-deleted",(GCallback)view_onRowDeleted,NULL);*/	gtk_widget_show_all(view);		return view;}GtkTreeModel *create_model(void){	GtkTreeStore *treestore;	GtkTreeIter 	toplevel;		treestore=gtk_tree_store_new(NUM_COLS,/*GDK_TYPE_PIXBUF,*/							G_TYPE_STRING,							G_TYPE_CHAR,							G_TYPE_UINT,							G_TYPE_UINT,							G_TYPE_UINT,							G_TYPE_STRING,							G_TYPE_STRING,							G_TYPE_UINT,							G_TYPE_UINT,							G_TYPE_UINT,							G_TYPE_BOOLEAN);		gtk_tree_store_append(treestore,&toplevel,NULL);	gtk_tree_store_set(treestore,&toplevel,				COL_PROCESS_NAME,"testName",				COL_STAT,'R',				COL_VM_SIZE,0,				COL_CPU_USED,0,				COL_ID,0,				COL_ENVIRON,"test:environ",				COL_PARAM,"-t",				COL_TPS,0,				COL_RSS,0,				COL_SHARED_PAGES,0,				COL_EXISTED,FALSE,/* funcs as before, indicating the addition proc existed, which should not be removed */				-1);		return GTK_TREE_MODEL(treestore);}

⌨️ 快捷键说明

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