diff options
Diffstat (limited to 'navit/gui/gtk')
| -rw-r--r-- | navit/gui/gtk/CMakeLists.txt | 3 | ||||
| -rw-r--r-- | navit/gui/gtk/gui_gtk.h | 51 | ||||
| -rw-r--r-- | navit/gui/gtk/gui_gtk_poi.c | 380 | ||||
| -rw-r--r-- | navit/gui/gtk/gui_gtk_window.c | 9 |
4 files changed, 225 insertions, 218 deletions
diff --git a/navit/gui/gtk/CMakeLists.txt b/navit/gui/gtk/CMakeLists.txt index a1dfa173c..1a1ec2a7a 100644 --- a/navit/gui/gtk/CMakeLists.txt +++ b/navit/gui/gtk/CMakeLists.txt @@ -1,2 +1,3 @@ -module_add_library(gui_gtk datawindow.c destination.c gui_gtk_statusbar.c gui_gtk_action.c gui_gtk_window.c gui_gtk_poi.c) +module_add_library(gui_gtk datawindow.c destination.c gui_gtk_statusbar.c gui_gtk_action.c gui_gtk_window.c + gui_gtk_poi.c) diff --git a/navit/gui/gtk/gui_gtk.h b/navit/gui/gtk/gui_gtk.h index 10051beaf..c8c3ca1ec 100644 --- a/navit/gui/gtk/gui_gtk.h +++ b/navit/gui/gtk/gui_gtk.h @@ -26,37 +26,38 @@ struct callback; struct statusbar_priv; struct gui_priv { - struct navit *nav; - GtkWidget *win; - GtkWidget *dialog_win; - GtkWidget *dialog_entry; - struct pcoord dialog_coord; - GtkWidget *vbox; - GtkWidget *menubar; - GtkActionGroup *base_group; - GtkActionGroup *debug_group; - GtkActionGroup *dyn_group; - GtkUIManager *ui_manager; - GSList *layout_group; - GSList *projection_group; - GSList *vehicle_group; - GList *dest_menuitems; - GList *bookmarks_menuitems; - GList *vehicle_menuitems; - GtkUIManager *menu_manager; // old - struct statusbar_priv *statusbar; - int menubar_enable; - int toolbar_enable; - int statusbar_enable; - int dyn_counter; - struct datawindow_priv *datawindow; + struct navit *nav; + GtkWidget *win; + GtkWidget *dialog_win; + GtkWidget *dialog_entry; + struct pcoord dialog_coord; + GtkWidget *vbox; + GtkWidget *menubar; + GtkActionGroup *base_group; + GtkActionGroup *debug_group; + GtkActionGroup *dyn_group; + GtkUIManager *ui_manager; + GSList *layout_group; + GSList *projection_group; + GSList *vehicle_group; + GList *dest_menuitems; + GList *bookmarks_menuitems; + GList *vehicle_menuitems; + GtkUIManager *menu_manager; // old + struct statusbar_priv *statusbar; + int menubar_enable; + int toolbar_enable; + int statusbar_enable; + int dyn_counter; + struct datawindow_priv *datawindow; }; void gui_gtk_ui_init(struct gui_priv *this); struct menu_priv *gui_gtk_menubar_new(struct gui_priv *gui, struct menu_methods *meth); struct statusbar_priv *gui_gtk_statusbar_new(struct gui_priv *gui); struct menu_priv *gui_gtk_popup_new(struct gui_priv *gui, struct menu_methods *meth); -struct datawindow_priv *gui_gtk_datawindow_new(struct gui_priv *gui, const char *name, struct callback *click, struct callback *close, struct datawindow_methods *meth); +struct datawindow_priv *gui_gtk_datawindow_new(struct gui_priv *gui, const char *name, struct callback *click, + struct callback *close, struct datawindow_methods *meth); void gui_gtk_datawindow_destroy(struct datawindow_priv *win); void gui_gtk_datawindow_set_button(struct datawindow_priv *this_, GtkWidget *btn); diff --git a/navit/gui/gtk/gui_gtk_poi.c b/navit/gui/gtk/gui_gtk_poi.c index b157bf2df..503bc321f 100644 --- a/navit/gui/gtk/gui_gtk_poi.c +++ b/navit/gui/gtk/gui_gtk_poi.c @@ -37,18 +37,18 @@ #include "navigation.h" /* for FEET_PER_METER and other conversion factors. */ -static struct gtk_poi_search{ - GtkWidget *entry_distance; - GtkWidget *label_distance; - GtkWidget *treeview_cat; - GtkWidget *treeview_poi; - GtkWidget *button_visit, *button_destination, *button_map; - GtkListStore *store_poi; - GtkListStore *store_cat; - GtkTreeModel *store_poi_sorted; - GtkTreeModel *store_cat_sorted; - char *selected_cat; - struct navit *nav; +static struct gtk_poi_search { + GtkWidget *entry_distance; + GtkWidget *label_distance; + GtkWidget *treeview_cat; + GtkWidget *treeview_poi; + GtkWidget *button_visit, *button_destination, *button_map; + GtkListStore *store_poi; + GtkListStore *store_cat; + GtkTreeModel *store_poi_sorted; + GtkTreeModel *store_cat_sorted; + char *selected_cat; + struct navit *nav; } gtk_poi_search; static GdkPixbuf *geticon(const char *name) { @@ -101,90 +101,88 @@ static GtkTreeModel *category_list_model(struct gtk_poi_search *search) { /** Construct model of POIs from map information. */ -static GtkTreeModel * -model_poi (struct gtk_poi_search *search) -{ - GtkTreeIter iter; - struct map_selection *sel,*selm; - struct coord coord_item,center; - struct pcoord pc; - struct mapset_handle *h; - int search_distance_meters; /* distance to search the POI database, in meters, from the center of the screen. */ - int idist; /* idist appears to be the distance in meters from the center of the screen to a POI. */ - struct map *m; - struct map_rect *mr; - struct item *item; - struct point cursor_position; - enum item_type selected; - - /* Respect the Imperial attribute as we enlighten the user. */ - struct attr attr; - int imperial = FALSE; /* default to using metric measures. */ - if (navit_get_attr(gtk_poi_search.nav, attr_imperial, &attr, NULL)) - imperial=attr.u.num; - - if (imperial == FALSE) { - /* Input is in kilometers */ - search_distance_meters=1000*atoi((char *) gtk_entry_get_text(GTK_ENTRY(search->entry_distance))); - gtk_label_set_text(GTK_LABEL(search->label_distance),_("Select a search radius from screen center in km")); - } else { - /* Input is in miles. */ - search_distance_meters=atoi((char *) gtk_entry_get_text(GTK_ENTRY(search->entry_distance)))/METERS_TO_MILES; - gtk_label_set_text(GTK_LABEL(search->label_distance),_("Select a search radius from screen center in miles")); - } - - cursor_position.x=navit_get_width(search->nav)/2; - cursor_position.y=navit_get_height(search->nav)/2; - - transform_reverse(navit_get_trans(search->nav), &cursor_position, ¢er); - pc.pro = transform_get_projection(navit_get_trans(search->nav)); - pc.x = center.x; - pc.y = center.y; - - //Search in the map, for pois - sel=map_selection_rect_new(&pc ,search_distance_meters*transform_scale(abs(center.y)+search_distance_meters*1.5),18); - gtk_list_store_clear(search->store_poi); - - h=mapset_open(navit_get_mapset(search->nav)); - - selected=item_from_name(search->selected_cat); - while ((m=mapset_next(h, 1))) { - selm=map_selection_dup_pro(sel, projection_mg, map_projection(m)); - mr=map_rect_new(m, selm); - if (mr) { - while ((item=map_rect_get_item(mr))) { - struct attr label_attr; - item_attr_get(item,attr_label,&label_attr); - item_coord_get(item,&coord_item,1); - idist=transform_distance(1,¢er,&coord_item); - if (item->type==selected && idist<=search_distance_meters){ - char direction[5]; - gtk_list_store_append(search->store_poi, &iter); - get_compass_direction(direction,transform_get_angle_delta(¢er,&coord_item,0),1); - - /** - * If the user has selected imperial, translate idist from meters to - * feet. We convert to feet only, and not miles, because the code - * sorts on the numeric value of the distance, so it doesn't like two - * different units. Currently, the distance is an int. Can it be made - * a float? Possible future enhancement? - */ - if (imperial != FALSE) { - idist = idist * (FEET_PER_METER); /* convert meters to feet. */ - } - - gtk_list_store_set(search->store_poi, &iter, 0,direction, 1,idist, - 2,g_strdup(label_attr.u.str), 3,coord_item.x, 4,coord_item.y ,-1); - } - } - map_rect_destroy(mr); - } - map_selection_destroy(selm); - } - map_selection_destroy(sel); - mapset_close(h); - - return GTK_TREE_MODEL (search->store_poi_sorted); +static GtkTreeModel *model_poi (struct gtk_poi_search *search) { + GtkTreeIter iter; + struct map_selection *sel,*selm; + struct coord coord_item,center; + struct pcoord pc; + struct mapset_handle *h; + int search_distance_meters; /* distance to search the POI database, in meters, from the center of the screen. */ + int idist; /* idist appears to be the distance in meters from the center of the screen to a POI. */ + struct map *m; + struct map_rect *mr; + struct item *item; + struct point cursor_position; + enum item_type selected; + + /* Respect the Imperial attribute as we enlighten the user. */ + struct attr attr; + int imperial = FALSE; /* default to using metric measures. */ + if (navit_get_attr(gtk_poi_search.nav, attr_imperial, &attr, NULL)) + imperial=attr.u.num; + + if (imperial == FALSE) { + /* Input is in kilometers */ + search_distance_meters=1000*atoi((char *) gtk_entry_get_text(GTK_ENTRY(search->entry_distance))); + gtk_label_set_text(GTK_LABEL(search->label_distance),_("Select a search radius from screen center in km")); + } else { + /* Input is in miles. */ + search_distance_meters=atoi((char *) gtk_entry_get_text(GTK_ENTRY(search->entry_distance)))/METERS_TO_MILES; + gtk_label_set_text(GTK_LABEL(search->label_distance),_("Select a search radius from screen center in miles")); + } + + cursor_position.x=navit_get_width(search->nav)/2; + cursor_position.y=navit_get_height(search->nav)/2; + + transform_reverse(navit_get_trans(search->nav), &cursor_position, ¢er); + pc.pro = transform_get_projection(navit_get_trans(search->nav)); + pc.x = center.x; + pc.y = center.y; + + //Search in the map, for pois + sel=map_selection_rect_new(&pc,search_distance_meters*transform_scale(abs(center.y)+search_distance_meters*1.5),18); + gtk_list_store_clear(search->store_poi); + + h=mapset_open(navit_get_mapset(search->nav)); + + selected=item_from_name(search->selected_cat); + while ((m=mapset_next(h, 1))) { + selm=map_selection_dup_pro(sel, projection_mg, map_projection(m)); + mr=map_rect_new(m, selm); + if (mr) { + while ((item=map_rect_get_item(mr))) { + struct attr label_attr; + item_attr_get(item,attr_label,&label_attr); + item_coord_get(item,&coord_item,1); + idist=transform_distance(1,¢er,&coord_item); + if (item->type==selected && idist<=search_distance_meters) { + char direction[5]; + gtk_list_store_append(search->store_poi, &iter); + get_compass_direction(direction,transform_get_angle_delta(¢er,&coord_item,0),1); + + /** + * If the user has selected imperial, translate idist from meters to + * feet. We convert to feet only, and not miles, because the code + * sorts on the numeric value of the distance, so it doesn't like two + * different units. Currently, the distance is an int. Can it be made + * a float? Possible future enhancement? + */ + if (imperial != FALSE) { + idist = idist * (FEET_PER_METER); /* convert meters to feet. */ + } + + gtk_list_store_set(search->store_poi, &iter, 0,direction, 1,idist, + 2,g_strdup(label_attr.u.str), 3,coord_item.x, 4,coord_item.y,-1); + } + } + map_rect_destroy(mr); + } + map_selection_destroy(selm); + } + map_selection_destroy(sel); + mapset_close(h); + + return GTK_TREE_MODEL (search->store_poi_sorted); } /** Enable button if there is a selected row. */ @@ -295,98 +293,102 @@ static void button_visit_clicked(GtkWidget *widget, struct gtk_poi_search *searc } /** Create UI and connect objects to functions. */ -void gtk_gui_poi(struct navit *nav) -{ - GtkWidget *window2,*vbox, *keyboard, *table; - GtkWidget *label_category, *label_poi; - GtkWidget *listbox_cat, *listbox_poi; - GtkCellRenderer *renderer; - - struct gtk_poi_search *search=>k_poi_search; - search->nav=nav; - - window2 = gtk_window_new(GTK_WINDOW_TOPLEVEL); - gtk_window_set_title(GTK_WINDOW(window2),_("POI search")); - gtk_window_set_wmclass (GTK_WINDOW (window2), "navit", "Navit"); - gtk_window_set_default_size (GTK_WINDOW (window2),700,550); - vbox = gtk_vbox_new(FALSE, 0); - table = gtk_table_new(4, 4, FALSE); - - label_category = gtk_label_new(_("Select a category")); - label_poi=gtk_label_new(_("Select a POI")); - - /* Respect the Imperial attribute as we enlighten the user. */ - struct attr attr; - int imperial = FALSE; /* default to using metric measures. */ - if (navit_get_attr(gtk_poi_search.nav, attr_imperial, &attr, NULL)) - imperial=attr.u.num; - - if (imperial == FALSE) { - /* Input is in kilometers */ - search->label_distance = gtk_label_new(_("Select a search radius from screen center in km")); - } else { - /* Input is in miles. */ - search->label_distance = gtk_label_new(_("Select a search radius from screen center in miles")); - } - - search->entry_distance=gtk_entry_new_with_max_length(2); - gtk_entry_set_text(GTK_ENTRY(search->entry_distance),"10"); - - search->treeview_cat=gtk_tree_view_new(); - listbox_cat = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (listbox_cat), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(listbox_cat),search->treeview_cat); - search->store_cat = gtk_list_store_new (3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING); - renderer=gtk_cell_renderer_pixbuf_new(); - gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (search->treeview_cat),-1, _(" "), renderer, "pixbuf", 0, NULL); - renderer=gtk_cell_renderer_text_new(); - gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (search->treeview_cat),-1, _("Category"), renderer, "text", 1, NULL); - search->store_cat_sorted=gtk_tree_model_sort_new_with_model(GTK_TREE_MODEL(search->store_cat)); - gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(search->store_cat_sorted),1,GTK_SORT_ASCENDING); - gtk_tree_view_set_model (GTK_TREE_VIEW (search->treeview_cat), category_list_model(search)); - - search->treeview_poi=gtk_tree_view_new(); - listbox_poi = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (listbox_poi), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(listbox_poi),search->treeview_poi); - search->store_poi = gtk_list_store_new (5, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_LONG, G_TYPE_LONG); - renderer=gtk_cell_renderer_text_new(); - gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (search->treeview_poi),-1, _("Direction"), renderer, "text",0,NULL); - renderer=gtk_cell_renderer_text_new(); - gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (search->treeview_poi),-1, _("Distance"), renderer, "text", 1, NULL); - renderer=gtk_cell_renderer_text_new(); - gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (search->treeview_poi),-1, _("Name"), renderer, "text", 2, NULL); - search->store_poi_sorted=gtk_tree_model_sort_new_with_model(GTK_TREE_MODEL(search->store_poi)); - gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(search->store_poi_sorted),1,GTK_SORT_ASCENDING); - - search->button_visit = gtk_button_new_with_label(_("Visit Before")); - search->button_destination = gtk_button_new_with_label(_("Destination")); - search->button_map = gtk_button_new_with_label(_("Map")); - gtk_widget_set_sensitive(search->button_visit,FALSE); - gtk_widget_set_sensitive(search->button_map,FALSE); - gtk_widget_set_sensitive(search->button_destination,FALSE); - - gtk_table_attach(GTK_TABLE(table), search->label_distance, 0, 1, 0, 1, 0, GTK_FILL, 0, 0); - gtk_table_attach(GTK_TABLE(table), search->entry_distance, 1, 2, 0, 1, 0, GTK_FILL, 0, 0); - gtk_table_attach(GTK_TABLE(table), label_category, 0, 1, 2, 3, 0, GTK_FILL, 0, 0); - gtk_table_attach(GTK_TABLE(table), listbox_cat, 0, 1, 3, 4, GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, 0, 0); - gtk_table_attach(GTK_TABLE(table), label_poi, 1, 4, 2, 3, 0, GTK_FILL, 0, 0); - gtk_table_attach(GTK_TABLE(table), listbox_poi, 1, 4, 3, 4, GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, 0, 0); - gtk_table_attach(GTK_TABLE(table), search->button_map, 0, 1, 4, 5, GTK_FILL, GTK_FILL, 0, 0); - gtk_table_attach(GTK_TABLE(table), search->button_visit, 1, 2, 4, 5, GTK_FILL, GTK_FILL, 0, 0); - gtk_table_attach(GTK_TABLE(table), search->button_destination, 2, 3, 4, 5, GTK_FILL, GTK_FILL, 0, 0); - gtk_box_pack_start(GTK_BOX(vbox), table, TRUE, TRUE, 0); - - g_signal_connect(G_OBJECT(search->entry_distance), "changed", G_CALLBACK(treeview_poi_reload), search); - g_signal_connect(G_OBJECT(search->button_visit), "clicked", G_CALLBACK(button_visit_clicked), search); - g_signal_connect(G_OBJECT(search->button_map), "clicked", G_CALLBACK(button_map_clicked), search); - g_signal_connect(G_OBJECT(search->button_destination), "clicked", G_CALLBACK(button_destination_clicked), search); - g_signal_connect(G_OBJECT(search->treeview_cat), "cursor_changed", G_CALLBACK(treeview_poi_reload), search); - g_signal_connect(G_OBJECT(search->treeview_poi), "cursor_changed", G_CALLBACK(treeview_poi_changed), search); - - keyboard=gtk_socket_new(); - gtk_box_pack_end(GTK_BOX(vbox), keyboard, FALSE, FALSE, 0); - gtk_container_add(GTK_CONTAINER(window2), vbox); - gtk_widget_show_all(window2); +void gtk_gui_poi(struct navit *nav) { + GtkWidget *window2,*vbox, *keyboard, *table; + GtkWidget *label_category, *label_poi; + GtkWidget *listbox_cat, *listbox_poi; + GtkCellRenderer *renderer; + + struct gtk_poi_search *search=>k_poi_search; + search->nav=nav; + + window2 = gtk_window_new(GTK_WINDOW_TOPLEVEL); + gtk_window_set_title(GTK_WINDOW(window2),_("POI search")); + gtk_window_set_wmclass (GTK_WINDOW (window2), "navit", "Navit"); + gtk_window_set_default_size (GTK_WINDOW (window2),700,550); + vbox = gtk_vbox_new(FALSE, 0); + table = gtk_table_new(4, 4, FALSE); + + label_category = gtk_label_new(_("Select a category")); + label_poi=gtk_label_new(_("Select a POI")); + + /* Respect the Imperial attribute as we enlighten the user. */ + struct attr attr; + int imperial = FALSE; /* default to using metric measures. */ + if (navit_get_attr(gtk_poi_search.nav, attr_imperial, &attr, NULL)) + imperial=attr.u.num; + + if (imperial == FALSE) { + /* Input is in kilometers */ + search->label_distance = gtk_label_new(_("Select a search radius from screen center in km")); + } else { + /* Input is in miles. */ + search->label_distance = gtk_label_new(_("Select a search radius from screen center in miles")); + } + + search->entry_distance=gtk_entry_new_with_max_length(2); + gtk_entry_set_text(GTK_ENTRY(search->entry_distance),"10"); + + search->treeview_cat=gtk_tree_view_new(); + listbox_cat = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (listbox_cat), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(listbox_cat),search->treeview_cat); + search->store_cat = gtk_list_store_new (3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING); + renderer=gtk_cell_renderer_pixbuf_new(); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (search->treeview_cat),-1, _(" "), renderer, "pixbuf", 0, + NULL); + renderer=gtk_cell_renderer_text_new(); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (search->treeview_cat),-1, _("Category"), renderer, "text", + 1, NULL); + search->store_cat_sorted=gtk_tree_model_sort_new_with_model(GTK_TREE_MODEL(search->store_cat)); + gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(search->store_cat_sorted),1,GTK_SORT_ASCENDING); + gtk_tree_view_set_model (GTK_TREE_VIEW (search->treeview_cat), category_list_model(search)); + + search->treeview_poi=gtk_tree_view_new(); + listbox_poi = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (listbox_poi), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(listbox_poi),search->treeview_poi); + search->store_poi = gtk_list_store_new (5, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_LONG, G_TYPE_LONG); + renderer=gtk_cell_renderer_text_new(); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (search->treeview_poi),-1, _("Direction"), renderer, "text", + 0,NULL); + renderer=gtk_cell_renderer_text_new(); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (search->treeview_poi),-1, _("Distance"), renderer, "text", + 1, NULL); + renderer=gtk_cell_renderer_text_new(); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (search->treeview_poi),-1, _("Name"), renderer, "text", 2, + NULL); + search->store_poi_sorted=gtk_tree_model_sort_new_with_model(GTK_TREE_MODEL(search->store_poi)); + gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(search->store_poi_sorted),1,GTK_SORT_ASCENDING); + + search->button_visit = gtk_button_new_with_label(_("Visit Before")); + search->button_destination = gtk_button_new_with_label(_("Destination")); + search->button_map = gtk_button_new_with_label(_("Map")); + gtk_widget_set_sensitive(search->button_visit,FALSE); + gtk_widget_set_sensitive(search->button_map,FALSE); + gtk_widget_set_sensitive(search->button_destination,FALSE); + + gtk_table_attach(GTK_TABLE(table), search->label_distance, 0, 1, 0, 1, 0, GTK_FILL, 0, 0); + gtk_table_attach(GTK_TABLE(table), search->entry_distance, 1, 2, 0, 1, 0, GTK_FILL, 0, 0); + gtk_table_attach(GTK_TABLE(table), label_category, 0, 1, 2, 3, 0, GTK_FILL, 0, 0); + gtk_table_attach(GTK_TABLE(table), listbox_cat, 0, 1, 3, 4, GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, 0, 0); + gtk_table_attach(GTK_TABLE(table), label_poi, 1, 4, 2, 3, 0, GTK_FILL, 0, 0); + gtk_table_attach(GTK_TABLE(table), listbox_poi, 1, 4, 3, 4, GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, 0, 0); + gtk_table_attach(GTK_TABLE(table), search->button_map, 0, 1, 4, 5, GTK_FILL, GTK_FILL, 0, 0); + gtk_table_attach(GTK_TABLE(table), search->button_visit, 1, 2, 4, 5, GTK_FILL, GTK_FILL, 0, 0); + gtk_table_attach(GTK_TABLE(table), search->button_destination, 2, 3, 4, 5, GTK_FILL, GTK_FILL, 0, 0); + gtk_box_pack_start(GTK_BOX(vbox), table, TRUE, TRUE, 0); + + g_signal_connect(G_OBJECT(search->entry_distance), "changed", G_CALLBACK(treeview_poi_reload), search); + g_signal_connect(G_OBJECT(search->button_visit), "clicked", G_CALLBACK(button_visit_clicked), search); + g_signal_connect(G_OBJECT(search->button_map), "clicked", G_CALLBACK(button_map_clicked), search); + g_signal_connect(G_OBJECT(search->button_destination), "clicked", G_CALLBACK(button_destination_clicked), search); + g_signal_connect(G_OBJECT(search->treeview_cat), "cursor_changed", G_CALLBACK(treeview_poi_reload), search); + g_signal_connect(G_OBJECT(search->treeview_poi), "cursor_changed", G_CALLBACK(treeview_poi_changed), search); + + keyboard=gtk_socket_new(); + gtk_box_pack_end(GTK_BOX(vbox), keyboard, FALSE, FALSE, 0); + gtk_container_add(GTK_CONTAINER(window2), vbox); + gtk_widget_show_all(window2); } diff --git a/navit/gui/gtk/gui_gtk_window.c b/navit/gui/gtk/gui_gtk_window.c index fd2c092f5..782add46f 100644 --- a/navit/gui/gtk/gui_gtk_window.c +++ b/navit/gui/gtk/gui_gtk_window.c @@ -338,7 +338,8 @@ static void gui_gtk_del_menu(struct gui_priv *this, struct gui_menu_info *meninf gtk_ui_manager_remove_ui(this->ui_manager, meninfo->merge_id); } -static struct gui_menu_info gui_gtk_add_menu(struct gui_priv *this, char *name, char *label, char *path, int submenu, struct action_cb_data *data) { +static struct gui_menu_info gui_gtk_add_menu(struct gui_priv *this, char *name, char *label, char *path, int submenu, + struct action_cb_data *data) { struct gui_menu_info meninfo; GtkAction *action; guint merge_id; @@ -364,7 +365,8 @@ static void gui_gtk_action_toggled(GtkToggleAction *action, struct action_cb_dat navit_draw(data->gui->nav); } -static void gui_gtk_add_toggle_menu(struct gui_priv *this, char *name, char *label, char *path, struct action_cb_data *data, gboolean active) { +static void gui_gtk_add_toggle_menu(struct gui_priv *this, char *name, char *label, char *path, + struct action_cb_data *data, gboolean active) { GtkToggleAction *toggle_action; guint merge_id; @@ -382,7 +384,8 @@ static void gui_gtk_action_changed(GtkRadioAction *action, GtkRadioAction *curre } } -static struct gui_menu_info gui_gtk_add_radio_menu(struct gui_priv *this, char *name, char *label, char *path, struct action_cb_data *data, GSList **g) { +static struct gui_menu_info gui_gtk_add_radio_menu(struct gui_priv *this, char *name, char *label, char *path, + struct action_cb_data *data, GSList **g) { struct gui_menu_info meninfo; GtkRadioAction *radio_action; guint merge_id; |
