Re: Is it possible to force a tooltip to be shown.
Carlos Gomez <[email protected]>
| Newsgroups | gmane.comp.gnome.gtkmm |
|---|---|
| Message-ID | <[email protected]> |
Thank you very much. I'll try it. On 03/10/2019 10:10, Andrew E. Makeev wrote: > В Ср, 02/10/2019 в 11:57 +0100, Carlos Gomez пишет: >> Hi all, >> >> >> I have a DrawingArea where I am plotting some data (lines made of >> pairs >> of time/temperature) . When I click on a line or close enough I want >> to >> show a tooltip indicating the line and the values. I can get the line >> id >> and the values and I am updating the contents of the tooltip and >> calling >> trigger_tooltip_query, but the tooltip is not shown until I move the >> mouse and wait for a little. Is there a way to force the tooltip to >> be >> shown? >> >> >> If I remove the call to trigger_tooltip_query the behaviour is >> exactly >> the same: the tooltip is not shown if the mouse is not moved. >> >> Thanks in advance. >> >> Carlos. >> >> _______________________________________________ >> gtkmm-list mailing list >> [email protected] >> https://mail.gnome.org/mailman/listinfo/gtkmm-list > Hi there, > > Look at my function that shows tooltip for treeview column (gtkmm-2.12 > version) > > bool Grid::motion_notify_cb( GdkEventMotion* event ) > { > Gtk::TreeModel::Path path; > Gtk::TreeViewColumn* column; > int cell_x, cell_y; > > if ( view.get_path_at_pos( (int)event->x, > (int)event->y, > path, column, > cell_x, cell_y ) ) > { > Glib::ustring tip = get_cell_tooltip( path, column->get_title() ); > if( !tip.empty() ) > { > instanceProperties.tooltips->set_tip( view, tip ); > GdkEventCrossing* user_event = (GdkEventCrossing*)gdk_event_new( GDK_ENTER_NOTIFY ); > user_event->window = event->window; > user_event->send_event = TRUE; > user_event->subwindow = event->window; > user_event->time = event->time; > user_event->x = event->x; > user_event->y = event->y; > user_event->x_root = event->x_root; > user_event->y_root = event->y_root; > user_event->mode = GDK_CROSSING_NORMAL; > user_event->detail = GDK_NOTIFY_ANCESTOR; > user_event->focus = TRUE; > Gdk::Event cpp_event( (GdkEvent*)user_event ); > cpp_event.put(); > } > else > { > instanceProperties.tooltips->unset_tip( view ); > } > } > else > { > instanceProperties.tooltips->unset_tip( view ); > } > return false; > } > > In other words you should fire event that will show tooltip at runtime > (emulate mouse entering area of tooltip widget) > > Regargs, > -Andrew > > > _______________________________________________ gtkmm-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/gtkmm-list