+ {
+ Gtk::TreeModel::Path path;
+ Gtk::TreeViewColumn *column;
+ int cell_x, cell_y;
+ if(!tree_view.get_path_at_pos(
+ (int)event->button.x,(int)event->button.y, // x, y
+ path, // TreeModel::Path&
+ column, //TreeViewColumn*&
+ cell_x,cell_y //int&cell_x,int&cell_y
+ )
+ ) break;
+
+ if(!tree_view.get_model()->get_iter(path))
+ break;
+
+ Gtk::TreeRow row = *(tree_view.get_model()->get_iter(path));
+
+ if(column && cellrenderer_time_track == column->get_first_cell_renderer())
+ {
+ Gdk::Rectangle rect;
+ tree_view.get_cell_area(path,*column,rect);
+ cellrenderer_time_track->property_value_desc()=row[model.value_desc];
+ cellrenderer_time_track->property_canvas()=row[model.canvas];
+ cellrenderer_time_track->activate(event,*this,path.to_string(),rect,rect,Gtk::CellRendererState());
+ queue_draw();
+ queue_draw_area(rect.get_x(),rect.get_y(),rect.get_width(),rect.get_height());
+ return true;
+ }
+ }