On Mon, Jan 11, 2010 at 11:47:48PM +0300, George Kibardin wrote:
> In my case for some reason in normal mode I need two taps to get
> row-activated signal: one tap to select appropriate item and another
> one to activate it. In edit mode with multiple selection enabled
> I need to use Ctrl to select multiple items which also seems
> wrong. What I'm doing wrong?
There must be something wrong in your code... I'm attaching a simple
example of a treeview in normal mode, tell me if it works fine for
you.
Berto
#include <hildon/hildon.h>
static const char *countries[] = {
"Austria", "Belgium", "Bulgaria", "Cyprus", "Czech Republic",
"Denmark", "Estonia", "Finland", "France", "Germany", "Greece",
"Hungary", "Ireland", "Italy", "Latvia", "Lithuania", "Luxembourg",
"Malta", "Netherlands", "Poland", "Portugal", "Romania", "Slovakia",
"Slovenia", "Spain", "Sweden", "United Kingdom"
};
static void
row_activated_cb (GtkTreeView *tree_view,
GtkTreePath *path,
GtkTreeViewColumn *column,
gpointer user_data)
{
gchar *str;
GtkTreeIter iter;
GtkTreeModel *model = gtk_tree_view_get_model (tree_view);
gtk_tree_model_get_iter (model, &iter, path);
gtk_tree_model_get (model, &iter, 0, &str, -1);
g_debug ("Row activated: %s", str);
g_free (str);
}
static GtkTreeModel *
create_model (void)
{
int i;
GtkListStore *store;
store = gtk_list_store_new (1, G_TYPE_STRING);
for (i = 0; i < G_N_ELEMENTS (countries); i++) {
gtk_list_store_insert_with_values (store, NULL, i, 0, countries[i], -1);
}
return GTK_TREE_MODEL (store);
}
static GtkWidget *
create_tree_view (void)
{
GtkWidget *tree_view;
GtkCellRenderer *renderer;
GtkTreeModel *model;
tree_view = hildon_gtk_tree_view_new (HILDON_UI_MODE_NORMAL);
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (tree_view), TRUE);
model = create_model ();
gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), model);
g_object_unref (model);
renderer = gtk_cell_renderer_text_new ();
g_object_set (renderer, "xalign", 0.5, "weight", PANGO_WEIGHT_BOLD, NULL);
gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (tree_view), 0,
"Column 0", renderer, "text", 0, NULL);
return tree_view;
}
int
main (int argc,
char **argv)
{
GtkWidget *window;
GtkWidget *panarea;
GtkWidget *treeview;
hildon_gtk_init (&argc, &argv);
window = hildon_window_new ();
panarea = hildon_pannable_area_new ();
treeview = create_tree_view ();
gtk_container_add (GTK_CONTAINER (panarea), treeview);
gtk_container_add (GTK_CONTAINER (window), panarea);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
g_signal_connect (treeview, "row-activated", G_CALLBACK (row_activated_cb), NULL);
gtk_widget_show_all (window);
gtk_main ();
return 0;
}
_______________________________________________
maemo-developers mailing list
[email protected]
https://lists.maemo.org/mailman/listinfo/maemo-developers