Здравствуйте! Необходимо, чтобы в dconf-editor-e значения ключей можно было отредактировать не только кликом по строке в области столбца «Значение», но и без использования мыши. Для этого к GtkTreeView я подключил обработчик сигнала «row-activated», который срабатывает при нажатии, например, кнопки Enter. Вопрос: как вызвать из этого обработчика то событие, которое возникает при клике мышью? Код, приведенный ниже, работает на чекбаттонах и не работает на комбобоксах и спинбаттонах. Спасибо.
static void on_key_tree_view_row_activated(GtkTreeView       *tree_view,
                                           GtkTreePath       *path,
                                           GtkTreeViewColumn *column,
                                           gpointer           user_data)
{
 printf("key row-activated\n");	
 GdkRectangle rect;
 gtk_tree_view_get_cell_area (tree_view, path, column, &rect);
 gchar *path_string = gtk_tree_path_to_string (path);
 
 
 
 GtkCellRenderer *cell = NULL;
 GdkEvent *event = gdk_event_new(GDK_BUTTON_PRESS);
 /* Get the second column */
 GtkTreeViewColumn *key_column = gtk_tree_view_get_column( GTK_TREE_VIEW( tree_view ), 1 );
 /* Get renderers in that column */
 GList *list = gtk_cell_layout_get_cells( GTK_CELL_LAYOUT( key_column ) );
 g_assert (g_list_length (list) == 1);
 cell = g_list_nth_data (list, 0);
 g_assert (cell);
 gboolean event_was_handled = 
 gtk_cell_renderer_activate 
   //gtk_cell_renderer_start_editing
                           (cell,
                            event,
                            GTK_WIDGET(tree_view),
                            path_string,
                            &rect,
                            &rect,
                            GTK_CELL_RENDERER_SELECTED);
 g_list_free( list );
 g_free(path_string);                           
 printf("event was %s handled\n", event_was_handled ? "":"not");
}
