Difference between revisions of "Tooltips"
(→Tooltips / Statusbar tips in menus) |
|||
Line 17: | Line 17: | ||
== Tooltips / Statusbar tips in menus == | == Tooltips / Statusbar tips in menus == | ||
− | In 1.8-gnucash almost all menu entries were also showing a statusbar tip. The menu entries/items did not show a tooltip, but the statusbar tip was basically the equivalent to a tooltip. FIXME: How was this done? If the menus were created as | + | In 1.8-gnucash almost all menu entries were also showing a statusbar tip. The menu entries/items did not show a tooltip, but the statusbar tip was basically the equivalent to a tooltip. FIXME: How was this done? If the menus were created as GtkMenu then again the real GtkWidget for each item was available, and a tooltip could be set on this widget. |
Revision as of 16:38, 6 January 2006
Contents
Tooltips in GnuCash
In the 1.8-branch of gnucash, all menu items and all multichoice-option values were having a corresponding tooltip that was displayed when the mouse hovers of the items. In the gnome2 version SVN-HEAD, these are no longer there due to missing features in gtk2. This page collects the information about feasible re-implementations of that feature.
- https://lists.gnucash.org/pipermail/gnucash-devel/2005-December/015139.html Discussion on gnucash-devel
Tooltips in Multichoice/Combobox widgets
Old implementation in 1.8
The 1.8-Widget for the multichoice-options was a GtkOptionMenu widget. It contains a GtkMenu where GtkMenuItems are inserted, which are created by gtk_menu_item_new_with_label. This was all used in gnc_build_option_menu() in src/gnome-utils/dialog-utils.c. The tooltip was directly set on any new GtkMenuItem by calling gtk_tooltips_set_tip() on the GtkMenuItem.
New GtkComboBox in gtk2
The old GtkOptionMenu is now deprecated since gtk2.4. Instead, the GtkComboBox has to be used. However, this widget either requires using a Model-View programming, or alternatively it will only allow to set entries by gtk_combo_box_append_text() which is what we currently do in src/gnome-utils/dialog-options.c. The function gtk_combo_box_append_text() will only allow to add one text entry per item, but it does not give access to the actual item widget, so it is impossible to set gtk_tooltips_set_tip() on the item widget.
The implementation of that in gtk_combo_box_new_text() of gtk/gtkcombobox.c confirms that the new GtkComboBox doesn't create widgets for the items anymore. Instead, the items are rendered by a GtkCellRendererText. If they were able to view a tooltip, it would basically mean that any ListView would be able to display a tooltip on any listview cell. HOWEVER, that kind of gtk feature request is in bugzilla since 2001 and NOTHING has been done in that direction. Aaarg. A different application has coded its own workaround here -- maybe we can copy from there.
In 1.8-gnucash almost all menu entries were also showing a statusbar tip. The menu entries/items did not show a tooltip, but the statusbar tip was basically the equivalent to a tooltip. FIXME: How was this done? If the menus were created as GtkMenu then again the real GtkWidget for each item was available, and a tooltip could be set on this widget.