String ItemList::get_tooltip(const Point2& p_pos) const { int closest = get_item_at_pos(p_pos); if (closest!=-1) { if (items[closest].tooltip!="") { return items[closest].tooltip; } if (items[closest].text!="") { return items[closest].text; } } return Control::get_tooltip(p_pos); }
bool ImageGridView::on_button_press_event(GdkEventButton *event) { bool ret = Gtk::IconView::on_button_press_event(event); Gtk::CellRenderer* cell = nullptr; bool found = get_item_at_pos(event->x, event->y, cell); if(found) { ClickableCellRenderer* clickable_cell = dynamic_cast<ClickableCellRenderer*>(cell); if(clickable_cell) { DBG_OUT("clickable cell"); clickable_cell->hit(event->x, event->y); } } return ret; }