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