// Instead of hooking automatically on treeview item selection // This is performed on demand via the specific menu request static void trw_layer_waypoint_select ( menu_array_values values ) { VikTrwLayer *vtl = VIK_TRW_LAYER(values[MA_VTL]); if ( values[MA_WPT_UUID] ) { GtkTreeIter *iter = NULL; iter = g_hash_table_lookup ( vik_trw_layer_get_waypoints_iters(vtl), values[MA_WPT_UUID] ); if ( iter ) vik_treeview_select_iter ( VIK_LAYER(vtl)->vt, iter, TRUE ); } }
static void layers_move_item ( VikLayersPanel *vlp, gboolean up ) { GtkTreeIter iter; VikAggregateLayer *parent; /* TODO: deactivate the buttons and stuff */ if ( ! vik_treeview_get_selected_iter ( vlp->vt, &iter ) ) return; vik_treeview_select_iter ( vlp->vt, &iter, FALSE ); /* cancel any layer-name editing going on... */ if ( vik_treeview_item_get_type ( vlp->vt, &iter ) == VIK_TREEVIEW_TYPE_LAYER ) { parent = VIK_AGGREGATE_LAYER(vik_treeview_item_get_parent ( vlp->vt, &iter )); if ( parent ) /* not toplevel */ { vik_aggregate_layer_move_layer ( parent, &iter, up ); vik_layers_panel_emit_update ( vlp ); } } }