Only in tangogps-0.9.6_table/src: Makefile diff -ru tangogps-0.9.6/src/callbacks.c tangogps-0.9.6_table/src/callbacks.c --- tangogps-0.9.6/src/callbacks.c 2009-02-05 02:54:26.000000000 +0300 +++ tangogps-0.9.6_table/src/callbacks.c 2009-10-20 16:15:18.000000000 +0400 @@ -476,6 +476,67 @@ event->area.x, event->area.y, event->area.x, event->area.y, event->area.width, event->area.height); +//---------horiz line grid---------- + char i, temp[2][25],temp_pow[4]=""; + float lat[5],lon[2]; + for (i=0;i<5;i++) + lat[i]=pixel2lat(global_zoom,global_y+widget->allocation.height/4*i); + //lat[0]=TOP,lat[1]=1/4, ...1/2, 3/4, BOTTOM + lon[0]=pixel2lon(global_zoom,global_x);//LEFT + lon[1]=pixel2lon(global_zoom,global_x+widget->allocation.width);//RIGHT + float grid_dimension_h[2]; + grid_dimension_h[0]=get_distance(lat[0],lon[0],lat[0],lon[1])/4; + grid_dimension_h[1]=get_distance(lat[4],lon[0],lat[4],lon[1])/4; + if (grid_dimension_h[0]>1) + { + strcat(temp_pow," km"); + } + else + { + grid_dimension_h[0]=grid_dimension_h[0]*1000; + grid_dimension_h[1]=grid_dimension_h[1]*1000; + strcat(temp_pow," m"); + } + for (i=0;i<2;i++) + { + if (grid_dimension_h[i]<10) + sprintf(temp[i],"%1.1f",grid_dimension_h[i]); + else + sprintf(temp[i],"%4d",(int)grid_dimension_h[i]); + strcat(temp[i],temp_pow); + } + + for (i=0;i<4;i++) + { + if (i!=0) + gdk_draw_line (widget->window, + widget->style->black_gc, + widget->allocation.width/4*i,0, + widget->allocation.width/4*i,widget->allocation.height + ); + gtk_label_set_text(label_grid_h[0][i],temp[0]); + gtk_label_set_text(label_grid_h[1][i],temp[1]); + } + +//--------vert line grid----------- + for (i=0;i<4;i++) + { + if (i!=0) + gdk_draw_line (widget->window, + widget->style->black_gc, + 0,widget->allocation.height/4*i, + widget->allocation.width,widget->allocation.height/4*i + ); + grid_dimension_h[0]=get_distance(lat[i],lon[0],lat[i+1],lon[0]); + if (strstr(temp_pow," m")!=NULL) grid_dimension_h[0]=grid_dimension_h[0]*1000; + if (grid_dimension_h[0]<10) + sprintf(temp,"%1.1f",grid_dimension_h[0]); + else + sprintf(temp,"%4d",(int)grid_dimension_h[0]); + strcat(temp,temp_pow); + gtk_label_set_text(label_grid_v[i],temp); + } +//-------end grid draw------------- return FALSE; diff -ru tangogps-0.9.6/src/interface.c tangogps-0.9.6_table/src/interface.c --- tangogps-0.9.6/src/interface.c 2009-02-05 02:54:27.000000000 +0300 +++ tangogps-0.9.6_table/src/interface.c 2009-11-04 23:43:36.000000000 +0300 @@ -42,7 +42,6 @@ GtkWidget *button3; GtkWidget *toolitem6; GtkWidget *togglebutton1; - GtkWidget *hbox1; GtkWidget *drawingarea1; GtkWidget *vscale1; GtkWidget *label4; @@ -325,19 +324,35 @@ gtk_container_add (GTK_CONTAINER (toolitem6), togglebutton1); GTK_WIDGET_UNSET_FLAGS (togglebutton1, GTK_CAN_FOCUS); - hbox1 = gtk_hbox_new (FALSE, 0); - gtk_widget_show (hbox1); - gtk_box_pack_start (GTK_BOX (vbox1), hbox1, TRUE, TRUE, 0); +//---------label for grid + GtkWidget *draw_table=gtk_table_new(6,6,FALSE); + gtk_widget_show(draw_table); + gtk_container_add (GTK_CONTAINER(vbox1),draw_table); + char i; + for (i=1;i<5;i++) + { + label_grid_h[0][i-1]=gtk_label_new(""); + label_grid_h[1][i-1]=gtk_label_new(""); + label_grid_v[i-1]=gtk_label_new(""); + gtk_label_set_angle(label_grid_v[i-1],90); + gtk_table_attach (draw_table,label_grid_h[0][i-1],i,i+1,0,1,GTK_EXPAND,0,0,0); + gtk_table_attach (draw_table,label_grid_h[1][i-1],i,i+1,5,6,GTK_EXPAND,0,0,0); + gtk_table_attach (draw_table,label_grid_v[i-1],0,1,i,i+1,0,GTK_EXPAND,0,0); + gtk_widget_show (label_grid_h[0][i-1]); + gtk_widget_show (label_grid_h[1][i-1]); + gtk_widget_show (label_grid_v[i-1]); + } +//---------label for grid - drawingarea1 = gtk_drawing_area_new (); +drawingarea1 = gtk_drawing_area_new (); gtk_widget_show (drawingarea1); - gtk_box_pack_start (GTK_BOX (hbox1), drawingarea1, TRUE, TRUE, 0); + gtk_table_attach (draw_table,drawingarea1,1,5,1,5,GTK_EXPAND|GTK_FILL|GTK_SHRINK,GTK_EXPAND|GTK_FILL|GTK_SHRINK,0,0); GTK_WIDGET_SET_FLAGS (drawingarea1, GTK_CAN_FOCUS); gtk_widget_set_events (drawingarea1, GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_LEAVE_NOTIFY_MASK); vscale1 = gtk_vscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (3, 2, 17, 1, 0, 0))); gtk_widget_show (vscale1); - gtk_box_pack_start (GTK_BOX (hbox1), vscale1, FALSE, TRUE, 0); + gtk_table_attach (draw_table,vscale1,5,6,0,6,0,GTK_EXPAND|GTK_FILL,0,0); gtk_widget_set_size_request (vscale1, 25, -1); GTK_WIDGET_UNSET_FLAGS (vscale1, GTK_CAN_FOCUS); gtk_scale_set_digits (GTK_SCALE (vscale1), 0); @@ -1614,7 +1629,7 @@ GLADE_HOOKUP_OBJECT (window1, button3, "button3"); GLADE_HOOKUP_OBJECT (window1, toolitem6, "toolitem6"); GLADE_HOOKUP_OBJECT (window1, togglebutton1, "togglebutton1"); - GLADE_HOOKUP_OBJECT (window1, hbox1, "hbox1"); + GLADE_HOOKUP_OBJECT (window1, draw_table, "draw_table"); GLADE_HOOKUP_OBJECT (window1, drawingarea1, "drawingarea1"); GLADE_HOOKUP_OBJECT (window1, vscale1, "vscale1"); GLADE_HOOKUP_OBJECT (window1, label4, "label4"); diff -ru tangogps-0.9.6/src/interface.h tangogps-0.9.6_table/src/interface.h --- tangogps-0.9.6/src/interface.h 2009-02-04 23:55:07.000000000 +0300 +++ tangogps-0.9.6_table/src/interface.h 2009-10-16 20:50:28.000000000 +0400 @@ -28,3 +28,5 @@ GtkWidget* create_filechooserdialog1 (void); GtkWidget* create_dialog_image_data (void); GtkWidget* create_dialog_geocode_result (void); + GtkWidget *label_grid_h[2][4]; + GtkWidget *label_grid_v[4];