Difference between revisions of "Tooltips"

From GnuCash
Jump to: navigation, search
(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 GtkOptionMenu
+
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

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.

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.

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 GtkMenu then again the real GtkWidget for each item was available, and a tooltip could be set on this widget.