Dialog: add dismiss(), hide() and onCreate() methods

This commit is contained in:
Julian Winkler
2024-02-11 12:38:43 +01:00
parent d253bfd24f
commit bc8443e542
4 changed files with 43 additions and 16 deletions

View File

@@ -7,8 +7,9 @@
JNIEXPORT jlong JNICALL Java_android_app_Dialog_nativeInit(JNIEnv *env, jobject this)
{
GtkWidget *dialog = gtk_dialog_new();
gtk_window_set_default_size(GTK_WINDOW(dialog), 500, 500);
g_signal_connect_swapped(dialog, "response", G_CALLBACK(gtk_window_destroy), dialog);
return _INTPTR(dialog);
return _INTPTR(g_object_ref(dialog));
}
JNIEXPORT void JNICALL Java_android_app_Dialog_nativeSetTitle(JNIEnv *env, jobject this, jlong ptr, jstring title)
@@ -32,3 +33,9 @@ JNIEXPORT void JNICALL Java_android_app_Dialog_nativeShow(JNIEnv *env, jobject t
GtkWindow *dialog = GTK_WINDOW(_PTR(ptr));
gtk_window_present(dialog);
}
JNIEXPORT void JNICALL Java_android_app_Dialog_nativeClose(JNIEnv *env, jobject this, jlong ptr)
{
GtkWindow *dialog = GTK_WINDOW(_PTR(ptr));
gtk_window_close(dialog);
}

View File

@@ -39,6 +39,14 @@ JNIEXPORT void JNICALL Java_android_app_Dialog_nativeSetContentView
JNIEXPORT void JNICALL Java_android_app_Dialog_nativeShow
(JNIEnv *, jobject, jlong);
/*
* Class: android_app_Dialog
* Method: nativeClose
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_android_app_Dialog_nativeClose
(JNIEnv *, jobject, jlong);
#ifdef __cplusplus
}
#endif