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

📄 updategui.c

📁 非常好用的gps数据读写接口
💻 C
📖 第 1 页 / 共 3 页
字号:
	sprintf(posi, "%c  %.5f掳", dn, fabs(rad2deg(pvtD800.posn.lat)));	gtk_entry_set_text (GTK_ENTRY(widget), posi);	/* position lon */	if ( pvtD800.posn.lon >= 0 )		de='E';	else		de='W';	grad=floor(rad2deg(fabs(pvtD800.posn.lon)));	minute=(rad2deg(fabs(pvtD800.posn.lon))-grad)*60;	widget = (GtkWidget *)lookup_widget (GTK_WIDGET (data), "londegentry");	sprintf(posi, "%c  %03d掳 %02.3f \'", de, abs((int)grad), minute);	gtk_entry_set_text (GTK_ENTRY(widget), posi);	widget = (GtkWidget *)lookup_widget (GTK_WIDGET (data), "londecentry");	sprintf(posi, "%c  %.5f掳", de, fabs(rad2deg(pvtD800.posn.lon)));	gtk_entry_set_text (GTK_ENTRY(widget), posi);	/* estimated position error */	widget = (GtkWidget *)lookup_widget (GTK_WIDGET (data), "epeentry");	sprintf(posi, "%.1f (m)", pvtD800.epe);	gtk_entry_set_text (GTK_ENTRY(widget), posi);	widget = (GtkWidget *)lookup_widget (GTK_WIDGET (data), "epehentry");	sprintf(posi, "%.1f (m)", pvtD800.eph);	gtk_entry_set_text (GTK_ENTRY(widget), posi);	widget = (GtkWidget *)lookup_widget (GTK_WIDGET (data), "epeventry");	sprintf(posi, "%.1f (m)", pvtD800.epv);	gtk_entry_set_text (GTK_ENTRY(widget), posi);	/* height */	widget = (GtkWidget *)lookup_widget (GTK_WIDGET (data), "heightentry");	sprintf(posi, "%.1f (m)", pvtD800.alt+pvtD800.msl_hght);	gtk_entry_set_text (GTK_ENTRY(widget), posi);	/* fix */	widget = (GtkWidget *)lookup_widget (GTK_WIDGET (data), "fixentry");	switch(pvtD800.fix)	{		case 1: 			sprintf(posi, "%s", "Data invalid!"); break;		case 2: 			sprintf(posi, "%s", "2D"); break;		case 3: 			sprintf(posi, "%s", "3D"); break;		case 4: 			sprintf(posi, "%s", "2D diff"); break;		case 5: 			sprintf(posi, "%s", "3D diff"); break;		case 0: 			default:			sprintf(posi, "%s", "Data unusable!"); break;	}	gtk_entry_set_text (GTK_ENTRY(widget), posi);	/* speedo */		drawing_area = (GtkWidget *)lookup_widget (GTK_WIDGET (data), "drawingarea1");	//gtk_widget_set_size_request (drawing_area, 120, 120);	drawable=drawing_area->window;	sy=drawing_area->allocation.height;	sx=drawing_area->allocation.width;	gdk_draw_rectangle(drawable, drawing_area->style->bg_gc[GTK_WIDGET_STATE (drawing_area)],			TRUE, 0, 0, sx, sy); 	cmap=gdk_colormap_get_system();  	yellowgc=gdk_gc_new(drawable);	if( !gdk_color_alloc(cmap,&yellow) )	{		fprintf(stderr, "Couldn't allocate color.\n");	}	gdk_gc_set_foreground(yellowgc,&yellow);	redgc=gdk_gc_new(drawable);	if( !gdk_color_alloc(cmap,&red) )	{		fprintf(stderr, "Couldn't allocate color.\n");	}	gdk_gc_set_foreground(redgc,&red);              	//	gdk_draw_line(drawable, yellowgc, 0,0,sx,sy);	//	gdk_draw_line(drawable, drawing_area->style->white_gc,0,sy,sx,0);	//	gdk_draw_line(drawable, redgc,sx/2,sy/2,sx-50,sy/2);                      	gdk_draw_arc (drawable,							drawing_area->style->white_gc,             TRUE,  (gint)(sx/2)-50, (gint)(sy/2)-50,	100, 100,	0*64, 360*64);	gdk_draw_arc (drawable,							drawing_area->style->black_gc,             FALSE,  (gint)(sx/2)-50, (gint)(sy/2)-50,	100, 100,	0*64, 360*64);	d=(((0.0/200)*240)-30)/180*pi;	gdk_draw_line(drawable, drawing_area->style->black_gc, (sx/2)-40*cos(d), (sy/2)-40*sin(d), (sx/2)-50*cos(d)+1, (sy/2)-50*sin(d));	d=(((20.0/200)*240)-30)/180*pi;	gdk_draw_line(drawable, drawing_area->style->black_gc, (sx/2)-45*cos(d), (sy/2)-45*sin(d), (sx/2)-50*cos(d)+1, (sy/2)-50*sin(d));	d=(((40.0/200)*240)-30)/180*pi;	gdk_draw_line(drawable, drawing_area->style->black_gc, (sx/2)-45*cos(d), (sy/2)-45*sin(d), (sx/2)-50*cos(d)+1, (sy/2)-50*sin(d));	d=(((60.0/200)*240)-30)/180*pi;	gdk_draw_line(drawable, drawing_area->style->black_gc, (sx/2)-45*cos(d), (sy/2)-45*sin(d), (sx/2)-50*cos(d)+1, (sy/2)-50*sin(d));	d=(((80.0/200)*240)-30)/180*pi;	gdk_draw_line(drawable, drawing_area->style->black_gc, (sx/2)-44*cos(d), (sy/2)-44*sin(d), (sx/2)-50*cos(d)+1, (sy/2)-50*sin(d));	gdk_draw_line(drawable, drawing_area->style->black_gc, sx/2,sy/2-40,sx/2,sy/2-50);	d=(((120.0/200)*240)-30)/180*pi;	gdk_draw_line(drawable, drawing_area->style->black_gc, (sx/2)-45*cos(d), (sy/2)-45*sin(d), (sx/2)-50*cos(d), (sy/2)-50*sin(d));	d=(((140.0/200)*240)-30)/180*pi;	gdk_draw_line(drawable, drawing_area->style->black_gc, (sx/2)-45*cos(d), (sy/2)-45*sin(d), (sx/2)-50*cos(d), (sy/2)-50*sin(d));	d=(((160.0/200)*240)-30)/180*pi;	gdk_draw_line(drawable, drawing_area->style->black_gc, (sx/2)-45*cos(d), (sy/2)-45*sin(d), (sx/2)-50*cos(d), (sy/2)-50*sin(d));	d=(((180.0/200)*240)-30)/180*pi;	gdk_draw_line(drawable, drawing_area->style->black_gc, (sx/2)-45*cos(d), (sy/2)-45*sin(d), (sx/2)-50*cos(d), (sy/2)-50*sin(d));	d=(((200.0/200)*240)-30)/180*pi;	gdk_draw_line(drawable, drawing_area->style->black_gc, (sx/2)-40*cos(d), (sy/2)-40*sin(d), (sx/2)-50*cos(d), (sy/2)-50*sin(d));	font=gdk_font_load("-*-helvetica-bold-r-normal--*-80-*-*-*-*-iso8859-1");	gdk_draw_text(drawable, font, drawing_area->style->black_gc, sx/2-7,                                   sy/2-52, "100", 3);  	gdk_draw_text(drawable, font, drawing_area->style->black_gc, sx/2-49,                                   sy/2+29, "0", 1);  	gdk_draw_text(drawable, font, drawing_area->style->black_gc, sx/2+47,                                   sy/2+29, "200", 3);  	// pointer	gdk_draw_arc (drawable,							redgc,             FALSE,  (gint)(sx/2)-3, (gint)(sy/2)-3,	6, 6,	0*64, 360*64);	d=(((speed*3.6/200)*240)-30)/180*pi;	gdk_draw_line(drawable, redgc, sx/2, sy/2, (sx/2)-50*cos(d), (sy/2)-50*sin(d));	/* direction */	drawing_area = (GtkWidget *)lookup_widget (GTK_WIDGET (data), "drawingarea2");	//gtk_widget_set_size_request (drawing_area, 120, 120);  drawable=drawing_area->window;	sy=drawing_area->allocation.height;  sx=drawing_area->allocation.width;	gdk_draw_rectangle(drawable, drawing_area->style->bg_gc[GTK_WIDGET_STATE (drawing_area)],			TRUE, 0, 0, sx, sy);	cmap=gdk_colormap_get_system();  	yellowgc=gdk_gc_new(drawable);	if( !gdk_color_alloc(cmap,&yellow) )	{		fprintf(stderr, "Couldn't allocate color.\n");	}	gdk_gc_set_foreground(yellowgc,&yellow);	redgc=gdk_gc_new(drawable);	if( !gdk_color_alloc(cmap,&red) )	{		fprintf(stderr, "Couldn't allocate color.\n");	}	gdk_gc_set_foreground(redgc,&red);              	gdk_draw_arc (drawable,							drawing_area->style->white_gc,             TRUE,  (gint)(sx/2)-50, (gint)(sy/2)-50,	100, 100,	0*64, 360*64);  gdk_draw_arc(drawable,							drawing_area->style->black_gc,             FALSE,  (gint)(sx/2)-50, (gint)(sy/2)-50,	100, 100,	0*64, 360*64);	gdk_draw_line(drawable, drawing_area->style->black_gc, sx/2,sy/2+40,sx/2,sy/2+50);	gdk_draw_line(drawable, drawing_area->style->black_gc, sx/2,sy/2-40,sx/2,sy/2-50);	gdk_draw_line(drawable, drawing_area->style->black_gc, sx/2+40,sy/2,sx/2+50,sy/2);	gdk_draw_line(drawable, drawing_area->style->black_gc, sx/2-40,sy/2,sx/2-50,sy/2);	d=pi/4;	gdk_draw_line(drawable, drawing_area->style->black_gc, (sx/2)+45*sin(d), (sy/2)-45*cos(d), (sx/2)+50*sin(d), (sy/2)-50*cos(d));	d=3*pi/4;	gdk_draw_line(drawable, drawing_area->style->black_gc, (sx/2)+46*sin(d), (sy/2)-46*cos(d), (sx/2)+50*sin(d), (sy/2)-50*cos(d));	d=5*pi/4;	gdk_draw_line(drawable, drawing_area->style->black_gc, (sx/2)+45*sin(d), (sy/2)-45*cos(d), (sx/2)+50*sin(d), (sy/2)-50*cos(d));	d=7*pi/4;	gdk_draw_line(drawable, drawing_area->style->black_gc, (sx/2)+45*sin(d), (sy/2)-45*cos(d), (sx/2)+49*sin(d), (sy/2)-49*cos(d));	gdk_draw_arc (drawable,							redgc,             FALSE,  (gint)(sx/2)-3, (gint)(sy/2)-3,	6, 6,	0*64, 360*64);	d=directionrad(pvtD800.north, pvtD800.east);	gdk_draw_line(drawable, redgc, sx/2, sy/2, (sx/2)+50*sin(d), (sy/2)-50*cos(d));	font=gdk_font_load("-*-helvetica-bold-r-normal--*-80-*-*-*-*-iso8859-1");	gdk_draw_text(drawable, font, drawing_area->style->black_gc, sx/2-3,                                   sy/2-52, "N", 1);  	gdk_draw_text(drawable, font, drawing_area->style->black_gc, sx/2-2,                                   sy/2+59, "S", 1);      gdk_draw_text(drawable, font, drawing_area->style->black_gc, sx/2+53,                                   sy/2+4, "E", 1);  	gdk_draw_text(drawable, font, drawing_area->style->black_gc, sx/2-60,                                   sy/2+3, "W", 1);  	return 1;}/*	update time in gui	*/void updateGuiTime(gpointer *frame){	GtkWidget *widget;	char posi[255];	extern D600_Date_Time_Type utctime;	  	widget = (GtkWidget *)lookup_widget (GTK_WIDGET (frame), "timeentry");  sprintf(posi, "%02d.%02d.%d - %02d:%02d:%02d h (UTC)", utctime.day, utctime.month,            utctime.year, utctime.hour, utctime.minute, utctime.second);            	gtk_entry_set_text (GTK_ENTRY(widget), posi);}/*  update device info in gui */void updateGuiDeviceinfo(gpointer *data){	GtkWidget *widget;	GtkTreeIter   iter1;	GtkTreeStore *treestore;	GtkCellRenderer *renderer, *renderer2;	GtkTreeViewColumn *column, *column2;	GtkTreeIter   iter, iter2;	extern int tty;	char buff[255];	extern DeviceInfo garmingps;	garmingps=getVersion(tty);	widget = lookup_widget (GTK_WIDGET (data), "treeview2");	/* create treeview */	column = gtk_tree_view_column_new();	gtk_tree_view_column_set_title(column, "Protocol");	gtk_tree_view_append_column(GTK_TREE_VIEW(widget), column);	column2 = gtk_tree_view_column_new();	gtk_tree_view_column_set_title(column2, "Value");	gtk_tree_view_append_column(GTK_TREE_VIEW(widget), column2);    	renderer = gtk_cell_renderer_text_new();	gtk_tree_view_column_pack_start(column, renderer, TRUE);	renderer2 = gtk_cell_renderer_text_new();	gtk_tree_view_column_pack_start(column2, renderer2, TRUE);           	g_object_set(renderer, "foreground-set", FALSE, NULL);	 g_object_set(renderer2, "foreground-set", FALSE, NULL);	//g_object_set(renderer, "foreground", "Red", "foreground-set", TRUE, NULL);                	//g_object_set(renderer, "text", "dkjfh", NULL); 	gtk_tree_view_column_add_attribute(column, renderer, "text", 0);	gtk_tree_view_column_add_attribute(column2, renderer2, "text", 1);	/* tree store */	treestore=gtk_tree_store_new(2, G_TYPE_STRING, G_TYPE_STRING);	gtk_tree_view_set_model(GTK_TREE_VIEW(widget), GTK_TREE_MODEL(treestore));	/* device */	gtk_tree_store_append(treestore, &iter, NULL);	gtk_tree_store_set(treestore, &iter,                       0, "Device ", 

⌨️ 快捷键说明

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