2022-08-17 17:07:23 +05:30
|
|
|
#include<gtk/gtk.h>
|
2022-09-24 14:25:37 +05:30
|
|
|
#include "utility_tools.h"
|
2022-09-28 16:40:10 +05:30
|
|
|
#include "align_sort.h"
|
|
|
|
#include "parser.h"
|
|
|
|
#include "Attack_detect.h"
|
2022-08-23 22:04:29 +05:30
|
|
|
|
|
|
|
#define UI_fILE "./utility_tools.ui"
|
2022-08-17 17:07:23 +05:30
|
|
|
|
2022-09-24 14:25:37 +05:30
|
|
|
|
|
|
|
|
|
|
|
// void change_image(OsmGpsMap *map, float lat, float lon, OsmGpsMapImage *image)
|
|
|
|
// {
|
|
|
|
// if (g_last_image)
|
|
|
|
// osm_gps_map_image_remove(map, g_last_image);
|
|
|
|
// osm_gps_map_image_add(map, lat, lon, image);
|
|
|
|
// }
|
|
|
|
|
2022-09-28 16:40:10 +05:30
|
|
|
typedef struct{
|
|
|
|
OsmGpsMap *util_map;
|
|
|
|
GdkPixbuf *g_red_image;
|
|
|
|
GdkPixbuf *g_green_image;
|
|
|
|
OsmGpsMapImage *g_last_image;
|
|
|
|
} myParameters;
|
|
|
|
|
|
|
|
gboolean update_images(gpointer* pars){
|
|
|
|
myParameters* parameters = (myParameters*) pars;
|
|
|
|
struct data_frame *df = TSB[0].first_data_frame;
|
|
|
|
if(parameters->g_green_image == NULL){
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
if (parameters->util_map == NULL){
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
if (df == NULL){
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
int freq = to_intconvertor(df->dpmu[0]->freq);
|
|
|
|
gboolean green =attack_detect(df,&START,&COUNT,&SUM_OF_FREQUENCY);
|
|
|
|
if(parameters->util_map != NULL){
|
|
|
|
|
|
|
|
// if(parameters->g_last_image != 0){
|
|
|
|
// osm_gps_map_image_remove(parameters->util_map, parameters->g_last_image);
|
|
|
|
// }
|
|
|
|
// if (freq > 300){
|
|
|
|
// parameters->g_last_image = osm_gps_map_image_add(parameters->util_map,15.518597, 74.925584, parameters->g_green_image);
|
|
|
|
// }else{
|
|
|
|
// parameters->g_last_image = osm_gps_map_image_add(parameters->util_map,15.518597, 74.925584, parameters->g_green_image);
|
|
|
|
// }
|
|
|
|
if(parameters->g_last_image != 0){
|
|
|
|
osm_gps_map_image_remove(parameters->util_map, parameters->g_last_image);
|
|
|
|
}
|
|
|
|
if (green){
|
|
|
|
parameters->g_last_image = osm_gps_map_image_add(parameters->util_map,15.518597, 74.925584, parameters->g_green_image);
|
|
|
|
}else{
|
|
|
|
parameters->g_last_image = osm_gps_map_image_add(parameters->util_map,15.518597, 74.925584, parameters->g_red_image);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
gtk_widget_queue_draw(GTK_WIDGET(parameters->util_map));
|
|
|
|
return TRUE;
|
|
|
|
}
|
2022-09-24 14:25:37 +05:30
|
|
|
|
2022-08-23 13:05:44 +05:30
|
|
|
void utility_tools(GtkButton *but, gpointer udata)
|
2022-08-17 17:07:23 +05:30
|
|
|
{
|
2022-09-28 16:40:10 +05:30
|
|
|
OsmGpsMap *util_map;
|
|
|
|
GtkWidget *window;
|
|
|
|
GdkPixbuf *g_red_image;
|
|
|
|
GdkPixbuf *g_green_image;
|
|
|
|
OsmGpsMapImage *g_last_image;
|
|
|
|
// -------------------
|
2022-08-23 22:04:29 +05:30
|
|
|
GtkBuilder *builder;
|
|
|
|
GError *error = NULL;
|
|
|
|
builder = gtk_builder_new();
|
|
|
|
if(!gtk_builder_add_from_file(builder, UI_fILE, &error))
|
|
|
|
{
|
|
|
|
g_warning("%s", error->message);
|
|
|
|
g_free(error);
|
|
|
|
}
|
2022-09-28 16:40:10 +05:30
|
|
|
g_red_image = gdk_pixbuf_new_from_file_at_size ("red.png", 24,24,NULL);
|
|
|
|
g_green_image = gdk_pixbuf_new_from_file_at_size ("green.png", 24,24,NULL);
|
2022-09-24 14:25:37 +05:30
|
|
|
window = GTK_WIDGET(gtk_builder_get_object(builder, "util_window"));
|
2022-08-23 22:04:29 +05:30
|
|
|
GtkContainer *map_container = GTK_CONTAINER(gtk_builder_get_object(builder, "map_layout"));
|
|
|
|
|
2022-09-24 14:25:37 +05:30
|
|
|
|
|
|
|
|
|
|
|
util_map = g_object_new (OSM_TYPE_GPS_MAP,
|
|
|
|
"map-source", OSM_GPS_MAP_SOURCE_GOOGLE_HYBRID,
|
2022-08-23 22:04:29 +05:30
|
|
|
"tile-cache", "/tmp/",
|
|
|
|
NULL);
|
2022-09-24 14:25:37 +05:30
|
|
|
osm_gps_map_set_center_and_zoom (util_map, 15.4589, 75.0078, 10);
|
|
|
|
|
2022-09-28 16:40:10 +05:30
|
|
|
g_last_image = osm_gps_map_image_add(util_map,15.4589, 75.0078, g_red_image);
|
|
|
|
g_last_image = osm_gps_map_image_add(util_map,15.518597, 74.925584, g_green_image);
|
|
|
|
myParameters parameters = {util_map, g_red_image, g_green_image, g_last_image};
|
|
|
|
gpointer data = (gpointer) ¶meters;
|
|
|
|
g_timeout_add(20, (GSourceFunc) update_images, data);
|
|
|
|
|
2022-09-24 14:25:37 +05:30
|
|
|
gtk_widget_set_size_request(GTK_WIDGET(util_map), 600, 500);
|
2022-08-23 22:04:29 +05:30
|
|
|
|
2022-09-24 14:25:37 +05:30
|
|
|
gtk_container_add(map_container, GTK_WIDGET(util_map));
|
2022-09-28 16:40:10 +05:30
|
|
|
g_signal_connect(window, "destroy", G_CALLBACK(gtk_widget_destroy), NULL);
|
2022-08-23 22:04:29 +05:30
|
|
|
|
|
|
|
gtk_widget_show_all(window);
|
|
|
|
gtk_main();
|
2022-08-17 17:07:23 +05:30
|
|
|
}
|