static gboolean wp_view_tooltip_cb (GtkWidget *widget, gint x, gint y, gboolean keyboard_mode, GtkTooltip *tooltip, AppearanceData *data) { GtkTreeIter iter; MateWPItem *item; if (gtk_icon_view_get_tooltip_context (data->wp_view, &x, &y, keyboard_mode, NULL, NULL, &iter)) { gtk_tree_model_get (data->wp_model, &iter, 1, &item, -1); gtk_tooltip_set_markup (tooltip, item->description); return TRUE; } return FALSE; }
static gboolean query_tooltip__ (GtkWidget *widget, gint x, gint y, gboolean keyboard_mode, GtkTooltip *tooltip, gpointer user_data) { GtkTreePath *path; GtkTreeModel *model; switch((char)(long)user_data) { case 'i': { GtkIconView *view = GTK_ICON_VIEW (widget); if (!gtk_icon_view_get_tooltip_context (view, &x, &y, keyboard_mode, NULL, &path, NULL)) return FALSE; model = gtk_icon_view_get_model (view); break; } case 't': { GtkTreeView *view = GTK_TREE_VIEW (widget); if (!gtk_tree_view_get_tooltip_context (view, &x, &y, keyboard_mode, NULL, &path, NULL)) return FALSE; model = gtk_tree_view_get_model (view); break; } default: return FALSE; } int id = get_id__(model, path); if(id <= 0) return FALSE; callback_item___* si = callback_item__(id); if(si->tooltip_.size() > 0) { gtk_tooltip_set_markup (tooltip, si->tooltip_.c_str()); return TRUE; } return FALSE; }
JNIEXPORT jboolean JNICALL Java_org_gnome_gtk_GtkIconView_gtk_1icon_1view_1get_1tooltip_1context ( JNIEnv* env, jclass cls, jlong _self, jintArray _x, jintArray _y, jboolean _keyboardTip, jlongArray _model, jlongArray _path, jlong _iter ) { gboolean result; jboolean _result; GtkIconView* self; gint* x; gint* y; gboolean keyboardTip; GtkTreeModel** model; GtkTreePath** path; GtkTreeIter* iter; // convert parameter self self = (GtkIconView*) _self; // convert parameter x x = (gint*) (*env)->GetIntArrayElements(env, _x, NULL); if (x == NULL) { return JNI_FALSE; // Java Exception already thrown } // convert parameter y y = (gint*) (*env)->GetIntArrayElements(env, _y, NULL); if (y == NULL) { return JNI_FALSE; // Java Exception already thrown } // convert parameter keyboardTip keyboardTip = (gboolean) _keyboardTip; // convert parameter model if (_model == NULL) { model = NULL; } else { model = (GtkTreeModel**) bindings_java_convert_jarray_to_gpointer(env, _model); if (model == NULL) { return JNI_FALSE; // Java Exception already thrown } } // convert parameter path if (_path == NULL) { path = NULL; } else { path = (GtkTreePath**) bindings_java_convert_jarray_to_gpointer(env, _path); if (path == NULL) { return JNI_FALSE; // Java Exception already thrown } } // convert parameter iter iter = (GtkTreeIter*) _iter; // call function result = gtk_icon_view_get_tooltip_context(self, x, y, keyboardTip, model, path, iter); // cleanup parameter self // cleanup parameter x (*env)->ReleaseIntArrayElements(env, _x, (jint*)x, 0); // cleanup parameter y (*env)->ReleaseIntArrayElements(env, _y, (jint*)y, 0); // cleanup parameter keyboardTip // cleanup parameter model if (model != NULL) { bindings_java_convert_gpointer_to_jarray(env, (gpointer*)model, _model); } // cleanup parameter path if (path != NULL) { bindings_java_convert_gpointer_to_jarray(env, (gpointer*)path, _path); } // cleanup parameter iter // translate return value to JNI type _result = (jboolean) result; // and finally return _result; }