static gboolean canvas_tooltip(GtkWidget *widget, gint x, gint y, gboolean keyboard_mode, GtkTooltip *tooltip, gpointer user_data) { struct coord pos = canvas_to_coord(x, y); const char *res; res = tool_tip(pos); if (!res) return FALSE; gtk_tooltip_set_markup(tooltip, res); return TRUE; }
/** * Return command's tool tip. * * @param[in] psiItemArray Optional array of PIDLs that command would be * executed upon. * @param[out] ppszInfotip Location in which to return character buffer * allocated with CoTaskMemAlloc. */ virtual IFACEMETHODIMP get_Tooltip( IShellItemArray* psiItemArray, wchar_t** ppszInfotip) { if (ppszInfotip) *ppszInfotip = NULL; else return E_POINTER; try { HRESULT hr = ::SHStrDup(tool_tip(psiItemArray).c_str(), ppszInfotip); if (FAILED(hr)) BOOST_THROW_EXCEPTION(comet::com_error(hr)); } WINAPI_COM_CATCH_AUTO_INTERFACE(); return S_OK; }