#include #include "../defines.h" #include "../util.h" #include "../widgets/WrapperWidget.h" #include "../views/AndroidLayout.h" #include "../generated_headers/android_view_ViewGroup.h" #include "../generated_headers/android_view_View.h" JNIEXPORT void JNICALL Java_android_view_ViewGroup_native_1addView(JNIEnv *env, jobject this, jlong widget, jlong child, jint index, jobject layout_params) { if(layout_params) { /* GtkWidget *_child = gtk_widget_get_parent(GTK_WIDGET(_PTR(child))); jint child_width = -1; jint child_height = -1; jint child_width = _GET_INT_FIELD(layout_params, "width"); jint child_height = _GET_INT_FIELD(layout_params, "height"); jint child_gravity = _GET_INT_FIELD(layout_params, "gravity"); if(child_width > 0) g_object_set(G_OBJECT(_child), "width-request", child_width, NULL); if(child_height > 0) g_object_set(G_OBJECT(_child), "height-request", child_height, NULL); if(child_gravity != -1) { printf(":::-: setting child gravity: %d", child_gravity); Java_android_view_View_setGravity(env, child, child_gravity); }*/ } GtkWidget *parent = _PTR(widget); GtkWidget *iter = gtk_widget_get_first_child(parent); for(int i = 0; i < index; i++) { iter = gtk_widget_get_next_sibling(iter); if(iter == NULL) break; } gtk_widget_insert_before(gtk_widget_get_parent(GTK_WIDGET(_PTR(child))), parent, iter); } JNIEXPORT void JNICALL Java_android_view_ViewGroup_native_1removeView(JNIEnv *env, jobject this, jlong widget, jlong child) { gtk_widget_unparent(gtk_widget_get_parent(GTK_WIDGET(_PTR(child)))); }