GtkComboBox and per-item-tooltips; Proposal

Christian Stimming stimming at tuhh.de
Sat Jan 21 08:14:12 EST 2006


Hi,

I've already done some research on the per-item-tooltips of the gtk2 combobox. 
I'd like to suggest some change in the combobox widget that we use. The 
result is on http://wiki.gnucash.org/wiki/Tooltips and also copied below:

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. 

To view the usefulness of these tooltips: Start gnucash-1.8. Open the 
"Report"->"Assets&Liabilities"->"Asset piechart". Click "Options". On the tab 
"General", there is the option "price source". Take a look at the available 
choices. You will notice that the short item names are not very obvious 
(because that whole option is quite non-trivial), but with the tooltip 
explanation it is fine again.

(technical details omitted; see wiki page for technical explanation)

As confirmed by a not-so-helpful IRC "discussion" with mclasen, the current 
GtkComboBox offers no way for us to add per-item-tooltips. There are three 
options:

   1. Copy the code of gtk/gtkcombobox.c into gnucash and create our own 
ComboBox widget. If we do this, then we have access to the GtkTreeView widget 
that is used internally in the combobox. We can use the "motion-notify" 
signal of that widget to update a displayed tooltip depending on the location 
of the mouse pointer. This approach was tried by a different application as a 
workaround, see bug#130983. Although they reported that the positioning of 
the tooltip was not optimum, I think this would at least enable us again to 
show these tooltips.
   2. Revert the change of GtkOptionMenu to GtkComboBox and continue to use 
the old GtkOptionMenu, until gtk is able to deliver a combo box which has 
per-item-tooltips again.
   3. Ignore the per-item-tooltips until gtk implements that function. The 
implementation of that feature necessariy requires that bug#80980 is 
implemented and closed, which won't happen in the near future. 

I propose to go back to the deprecated GtkOptionMenu, which is the most gain 
with the least effort for us.

Christian


More information about the gnucash-devel mailing list