Skip to content

Commit 4179dc7

Browse files
ptzieglerakurtakov
authored andcommitted
[GTK4] Migrate FileDialog to new GTK FileDialog API
The FileChooser API has been marked as deprecated with GTK 4.10 and replaced by the FileDialog API. With this contribution, this old API has now been limited to GTK3. Following methods have been added to OS.java: - g_list_store_new - g_list_store_append Following methods have been moved from GTK.java to GTK3.java: - gtk_file_chooser_add_filter - gtk_file_chooser_get_filter - gtk_file_chooser_set_current_name - gtk_file_chooser_set_filter - gtk_file_chooser_set_select_multiple - gtk_file_chooser_native_new Following constant has been added to GTK.java: - GTK_TYPE_FILE_FILTER Following methods have been removed from GTK4.java: - gtk_file_chooser_get_files - gtk_file_chooser_get_file - gtk_file_chooser_set_current_folder - gtk_file_chooser_set_file Following methods have been added to GTK4.java: - gtk_file_dialog_set_initial_name - gtk_file_dialog_set_initial_file - gtk_file_dialog_set_title - gtk_file_dialog_set_default_filter - gtk_file_dialog_set_filters - gtk_file_dialog_get_default_filter - gtk_file_dialog_open_multiple - gtk_file_dialog_open_multiple_finish - gtk_file_dialog_open - gtk_file_dialog_open_finish - gtk_file_dialog_save - gtk_file_dialog_save_finish This commit also amends an oversight from 2e61b4b where the title of the directory dialog was no longer set. Contributes to: eclipse-platform#652
1 parent b58c168 commit 4179dc7

File tree

13 files changed

+454
-200
lines changed

13 files changed

+454
-200
lines changed

bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk3.c

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -780,6 +780,16 @@ JNIEXPORT jboolean JNICALL GTK3_NATIVE(gtk_1events_1pending)
780780
}
781781
#endif
782782

783+
#ifndef NO_gtk_1file_1chooser_1add_1filter
784+
JNIEXPORT void JNICALL GTK3_NATIVE(gtk_1file_1chooser_1add_1filter)
785+
(JNIEnv *env, jclass that, jlong arg0, jlong arg1)
786+
{
787+
GTK3_NATIVE_ENTER(env, that, gtk_1file_1chooser_1add_1filter_FUNC);
788+
gtk_file_chooser_add_filter((GtkFileChooser *)arg0, (GtkFileFilter *)arg1);
789+
GTK3_NATIVE_EXIT(env, that, gtk_1file_1chooser_1add_1filter_FUNC);
790+
}
791+
#endif
792+
783793
#ifndef NO_gtk_1file_1chooser_1get_1filename
784794
JNIEXPORT jlong JNICALL GTK3_NATIVE(gtk_1file_1chooser_1get_1filename)
785795
(JNIEnv *env, jclass that, jlong arg0)
@@ -804,6 +814,18 @@ JNIEXPORT jlong JNICALL GTK3_NATIVE(gtk_1file_1chooser_1get_1filenames)
804814
}
805815
#endif
806816

817+
#ifndef NO_gtk_1file_1chooser_1get_1filter
818+
JNIEXPORT jlong JNICALL GTK3_NATIVE(gtk_1file_1chooser_1get_1filter)
819+
(JNIEnv *env, jclass that, jlong arg0)
820+
{
821+
jlong rc = 0;
822+
GTK3_NATIVE_ENTER(env, that, gtk_1file_1chooser_1get_1filter_FUNC);
823+
rc = (jlong)gtk_file_chooser_get_filter((GtkFileChooser *)arg0);
824+
GTK3_NATIVE_EXIT(env, that, gtk_1file_1chooser_1get_1filter_FUNC);
825+
return rc;
826+
}
827+
#endif
828+
807829
#ifndef NO_gtk_1file_1chooser_1get_1uri
808830
JNIEXPORT jlong JNICALL GTK3_NATIVE(gtk_1file_1chooser_1get_1uri)
809831
(JNIEnv *env, jclass that, jlong arg0)
@@ -828,6 +850,36 @@ JNIEXPORT jlong JNICALL GTK3_NATIVE(gtk_1file_1chooser_1get_1uris)
828850
}
829851
#endif
830852

853+
#ifndef NO_gtk_1file_1chooser_1native_1new
854+
JNIEXPORT jlong JNICALL GTK3_NATIVE(gtk_1file_1chooser_1native_1new)
855+
(JNIEnv *env, jclass that, jbyteArray arg0, jlong arg1, jint arg2, jbyteArray arg3, jbyteArray arg4)
856+
{
857+
jbyte *lparg0=NULL;
858+
jbyte *lparg3=NULL;
859+
jbyte *lparg4=NULL;
860+
jlong rc = 0;
861+
GTK3_NATIVE_ENTER(env, that, gtk_1file_1chooser_1native_1new_FUNC);
862+
if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
863+
if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
864+
if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
865+
/*
866+
rc = (jlong)gtk_file_chooser_native_new((const gchar *)lparg0, (GtkWindow *)arg1, arg2, (const gchar *)lparg3, (const gchar *)lparg4);
867+
*/
868+
{
869+
GTK3_LOAD_FUNCTION(fp, gtk_file_chooser_native_new)
870+
if (fp) {
871+
rc = (jlong)((jlong (CALLING_CONVENTION*)(const gchar *, GtkWindow *, jint, const gchar *, const gchar *))fp)((const gchar *)lparg0, (GtkWindow *)arg1, arg2, (const gchar *)lparg3, (const gchar *)lparg4);
872+
}
873+
}
874+
fail:
875+
if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, JNI_ABORT);
876+
if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, JNI_ABORT);
877+
if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, JNI_ABORT);
878+
GTK3_NATIVE_EXIT(env, that, gtk_1file_1chooser_1native_1new_FUNC);
879+
return rc;
880+
}
881+
#endif
882+
831883
#ifndef NO_gtk_1file_1chooser_1set_1current_1folder
832884
JNIEXPORT void JNICALL GTK3_NATIVE(gtk_1file_1chooser_1set_1current_1folder)
833885
(JNIEnv *env, jclass that, jlong arg0, jlong arg1)
@@ -852,6 +904,20 @@ JNIEXPORT void JNICALL GTK3_NATIVE(gtk_1file_1chooser_1set_1current_1folder_1uri
852904
}
853905
#endif
854906

907+
#ifndef NO_gtk_1file_1chooser_1set_1current_1name
908+
JNIEXPORT void JNICALL GTK3_NATIVE(gtk_1file_1chooser_1set_1current_1name)
909+
(JNIEnv *env, jclass that, jlong arg0, jbyteArray arg1)
910+
{
911+
jbyte *lparg1=NULL;
912+
GTK3_NATIVE_ENTER(env, that, gtk_1file_1chooser_1set_1current_1name_FUNC);
913+
if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
914+
gtk_file_chooser_set_current_name((GtkFileChooser *)arg0, (const gchar *)lparg1);
915+
fail:
916+
if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
917+
GTK3_NATIVE_EXIT(env, that, gtk_1file_1chooser_1set_1current_1name_FUNC);
918+
}
919+
#endif
920+
855921
#ifndef NO_gtk_1file_1chooser_1set_1do_1overwrite_1confirmation
856922
JNIEXPORT void JNICALL GTK3_NATIVE(gtk_1file_1chooser_1set_1do_1overwrite_1confirmation)
857923
(JNIEnv *env, jclass that, jlong arg0, jboolean arg1)
@@ -882,6 +948,16 @@ JNIEXPORT void JNICALL GTK3_NATIVE(gtk_1file_1chooser_1set_1filename)
882948
}
883949
#endif
884950

951+
#ifndef NO_gtk_1file_1chooser_1set_1filter
952+
JNIEXPORT void JNICALL GTK3_NATIVE(gtk_1file_1chooser_1set_1filter)
953+
(JNIEnv *env, jclass that, jlong arg0, jlong arg1)
954+
{
955+
GTK3_NATIVE_ENTER(env, that, gtk_1file_1chooser_1set_1filter_FUNC);
956+
gtk_file_chooser_set_filter((GtkFileChooser *)arg0, (GtkFileFilter *)arg1);
957+
GTK3_NATIVE_EXIT(env, that, gtk_1file_1chooser_1set_1filter_FUNC);
958+
}
959+
#endif
960+
885961
#ifndef NO_gtk_1file_1chooser_1set_1local_1only
886962
JNIEXPORT void JNICALL GTK3_NATIVE(gtk_1file_1chooser_1set_1local_1only)
887963
(JNIEnv *env, jclass that, jlong arg0, jboolean arg1)
@@ -892,6 +968,16 @@ JNIEXPORT void JNICALL GTK3_NATIVE(gtk_1file_1chooser_1set_1local_1only)
892968
}
893969
#endif
894970

971+
#ifndef NO_gtk_1file_1chooser_1set_1select_1multiple
972+
JNIEXPORT void JNICALL GTK3_NATIVE(gtk_1file_1chooser_1set_1select_1multiple)
973+
(JNIEnv *env, jclass that, jlong arg0, jboolean arg1)
974+
{
975+
GTK3_NATIVE_ENTER(env, that, gtk_1file_1chooser_1set_1select_1multiple_FUNC);
976+
gtk_file_chooser_set_select_multiple((GtkFileChooser *)arg0, (gboolean)arg1);
977+
GTK3_NATIVE_EXIT(env, that, gtk_1file_1chooser_1set_1select_1multiple_FUNC);
978+
}
979+
#endif
980+
895981
#ifndef NO_gtk_1file_1chooser_1set_1uri
896982
JNIEXPORT void JNICALL GTK3_NATIVE(gtk_1file_1chooser_1set_1uri)
897983
(JNIEnv *env, jclass that, jlong arg0, jbyteArray arg1)

bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk3.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,7 @@
2121
#define GTK_DISABLE_SINGLE_INCLUDES
2222

2323
#include <gtk/gtk.h>
24+
// Hard-link code generated from GTK3.java to LIB_GTK
25+
#define GTK3_LOAD_FUNCTION(var, name) LOAD_FUNCTION_LIB(var, LIB_GTK, name)
2426

2527
#endif /* INC_gtk3_H */

bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk3_stats.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,16 +88,22 @@ typedef enum {
8888
gtk_1event_1box_1new_FUNC,
8989
gtk_1event_1controller_1handle_1event_FUNC,
9090
gtk_1events_1pending_FUNC,
91+
gtk_1file_1chooser_1add_1filter_FUNC,
9192
gtk_1file_1chooser_1get_1filename_FUNC,
9293
gtk_1file_1chooser_1get_1filenames_FUNC,
94+
gtk_1file_1chooser_1get_1filter_FUNC,
9395
gtk_1file_1chooser_1get_1uri_FUNC,
9496
gtk_1file_1chooser_1get_1uris_FUNC,
97+
gtk_1file_1chooser_1native_1new_FUNC,
9598
gtk_1file_1chooser_1set_1current_1folder_FUNC,
9699
gtk_1file_1chooser_1set_1current_1folder_1uri_FUNC,
100+
gtk_1file_1chooser_1set_1current_1name_FUNC,
97101
gtk_1file_1chooser_1set_1do_1overwrite_1confirmation_FUNC,
98102
gtk_1file_1chooser_1set_1extra_1widget_FUNC,
99103
gtk_1file_1chooser_1set_1filename_FUNC,
104+
gtk_1file_1chooser_1set_1filter_FUNC,
100105
gtk_1file_1chooser_1set_1local_1only_FUNC,
106+
gtk_1file_1chooser_1set_1select_1multiple_FUNC,
101107
gtk_1file_1chooser_1set_1uri_FUNC,
102108
gtk_1frame_1set_1shadow_1type_FUNC,
103109
gtk_1gesture_1drag_1new_FUNC,

bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk4.c

Lines changed: 131 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -656,62 +656,104 @@ JNIEXPORT void JNICALL GTK4_NATIVE(gtk_1expander_1set_1child)
656656
}
657657
#endif
658658

659-
#ifndef NO_gtk_1file_1chooser_1get_1file
660-
JNIEXPORT jlong JNICALL GTK4_NATIVE(gtk_1file_1chooser_1get_1file)
659+
#ifndef NO_gtk_1file_1dialog_1get_1default_1filter
660+
JNIEXPORT jlong JNICALL GTK4_NATIVE(gtk_1file_1dialog_1get_1default_1filter)
661661
(JNIEnv *env, jclass that, jlong arg0)
662662
{
663663
jlong rc = 0;
664-
GTK4_NATIVE_ENTER(env, that, gtk_1file_1chooser_1get_1file_FUNC);
665-
rc = (jlong)gtk_file_chooser_get_file((GtkFileChooser *)arg0);
666-
GTK4_NATIVE_EXIT(env, that, gtk_1file_1chooser_1get_1file_FUNC);
664+
GTK4_NATIVE_ENTER(env, that, gtk_1file_1dialog_1get_1default_1filter_FUNC);
665+
rc = (jlong)gtk_file_dialog_get_default_filter((GtkFileDialog *)arg0);
666+
GTK4_NATIVE_EXIT(env, that, gtk_1file_1dialog_1get_1default_1filter_FUNC);
667667
return rc;
668668
}
669669
#endif
670670

671-
#ifndef NO_gtk_1file_1chooser_1get_1files
672-
JNIEXPORT jlong JNICALL GTK4_NATIVE(gtk_1file_1chooser_1get_1files)
673-
(JNIEnv *env, jclass that, jlong arg0)
671+
#ifndef NO_gtk_1file_1dialog_1new
672+
JNIEXPORT jlong JNICALL GTK4_NATIVE(gtk_1file_1dialog_1new)
673+
(JNIEnv *env, jclass that)
674674
{
675675
jlong rc = 0;
676-
GTK4_NATIVE_ENTER(env, that, gtk_1file_1chooser_1get_1files_FUNC);
677-
rc = (jlong)gtk_file_chooser_get_files((GtkFileChooser *)arg0);
678-
GTK4_NATIVE_EXIT(env, that, gtk_1file_1chooser_1get_1files_FUNC);
676+
GTK4_NATIVE_ENTER(env, that, gtk_1file_1dialog_1new_FUNC);
677+
rc = (jlong)gtk_file_dialog_new();
678+
GTK4_NATIVE_EXIT(env, that, gtk_1file_1dialog_1new_FUNC);
679679
return rc;
680680
}
681681
#endif
682682

683-
#ifndef NO_gtk_1file_1chooser_1set_1current_1folder
684-
JNIEXPORT jboolean JNICALL GTK4_NATIVE(gtk_1file_1chooser_1set_1current_1folder)
685-
(JNIEnv *env, jclass that, jlong arg0, jlong arg1, jlong arg2)
683+
#ifndef NO_gtk_1file_1dialog_1open
684+
JNIEXPORT void JNICALL GTK4_NATIVE(gtk_1file_1dialog_1open)
685+
(JNIEnv *env, jclass that, jlong arg0, jlong arg1, jlong arg2, jlong arg3, jlong arg4)
686686
{
687-
jboolean rc = 0;
688-
GTK4_NATIVE_ENTER(env, that, gtk_1file_1chooser_1set_1current_1folder_FUNC);
689-
rc = (jboolean)gtk_file_chooser_set_current_folder((GtkFileChooser *)arg0, (GFile *)arg1, (GError **)arg2);
690-
GTK4_NATIVE_EXIT(env, that, gtk_1file_1chooser_1set_1current_1folder_FUNC);
687+
GTK4_NATIVE_ENTER(env, that, gtk_1file_1dialog_1open_FUNC);
688+
gtk_file_dialog_open((GtkFileDialog *)arg0, (GtkWindow *)arg1, (GCancellable *)arg2, (GAsyncReadyCallback)arg3, (gpointer)arg4);
689+
GTK4_NATIVE_EXIT(env, that, gtk_1file_1dialog_1open_FUNC);
690+
}
691+
#endif
692+
693+
#ifndef NO_gtk_1file_1dialog_1open_1finish
694+
JNIEXPORT jlong JNICALL GTK4_NATIVE(gtk_1file_1dialog_1open_1finish)
695+
(JNIEnv *env, jclass that, jlong arg0, jlong arg1, jlongArray arg2)
696+
{
697+
jlong *lparg2=NULL;
698+
jlong rc = 0;
699+
GTK4_NATIVE_ENTER(env, that, gtk_1file_1dialog_1open_1finish_FUNC);
700+
if (arg2) if ((lparg2 = (*env)->GetLongArrayElements(env, arg2, NULL)) == NULL) goto fail;
701+
rc = (jlong)gtk_file_dialog_open_finish((GtkFileDialog *)arg0, (GAsyncResult *)arg1, (GError **)lparg2);
702+
fail:
703+
if (arg2 && lparg2) (*env)->ReleaseLongArrayElements(env, arg2, lparg2, 0);
704+
GTK4_NATIVE_EXIT(env, that, gtk_1file_1dialog_1open_1finish_FUNC);
691705
return rc;
692706
}
693707
#endif
694708

695-
#ifndef NO_gtk_1file_1chooser_1set_1file
696-
JNIEXPORT jboolean JNICALL GTK4_NATIVE(gtk_1file_1chooser_1set_1file)
697-
(JNIEnv *env, jclass that, jlong arg0, jlong arg1, jlong arg2)
709+
#ifndef NO_gtk_1file_1dialog_1open_1multiple
710+
JNIEXPORT void JNICALL GTK4_NATIVE(gtk_1file_1dialog_1open_1multiple)
711+
(JNIEnv *env, jclass that, jlong arg0, jlong arg1, jlong arg2, jlong arg3, jlong arg4)
698712
{
699-
jboolean rc = 0;
700-
GTK4_NATIVE_ENTER(env, that, gtk_1file_1chooser_1set_1file_FUNC);
701-
rc = (jboolean)gtk_file_chooser_set_file((GtkFileChooser *)arg0, (GFile *)arg1, (GError **)arg2);
702-
GTK4_NATIVE_EXIT(env, that, gtk_1file_1chooser_1set_1file_FUNC);
713+
GTK4_NATIVE_ENTER(env, that, gtk_1file_1dialog_1open_1multiple_FUNC);
714+
gtk_file_dialog_open_multiple((GtkFileDialog *)arg0, (GtkWindow *)arg1, (GCancellable *)arg2, (GAsyncReadyCallback)arg3, (gpointer)arg4);
715+
GTK4_NATIVE_EXIT(env, that, gtk_1file_1dialog_1open_1multiple_FUNC);
716+
}
717+
#endif
718+
719+
#ifndef NO_gtk_1file_1dialog_1open_1multiple_1finish
720+
JNIEXPORT jlong JNICALL GTK4_NATIVE(gtk_1file_1dialog_1open_1multiple_1finish)
721+
(JNIEnv *env, jclass that, jlong arg0, jlong arg1, jlongArray arg2)
722+
{
723+
jlong *lparg2=NULL;
724+
jlong rc = 0;
725+
GTK4_NATIVE_ENTER(env, that, gtk_1file_1dialog_1open_1multiple_1finish_FUNC);
726+
if (arg2) if ((lparg2 = (*env)->GetLongArrayElements(env, arg2, NULL)) == NULL) goto fail;
727+
rc = (jlong)gtk_file_dialog_open_multiple_finish((GtkFileDialog *)arg0, (GAsyncResult *)arg1, (GError **)lparg2);
728+
fail:
729+
if (arg2 && lparg2) (*env)->ReleaseLongArrayElements(env, arg2, lparg2, 0);
730+
GTK4_NATIVE_EXIT(env, that, gtk_1file_1dialog_1open_1multiple_1finish_FUNC);
703731
return rc;
704732
}
705733
#endif
706734

707-
#ifndef NO_gtk_1file_1dialog_1new
708-
JNIEXPORT jlong JNICALL GTK4_NATIVE(gtk_1file_1dialog_1new)
709-
(JNIEnv *env, jclass that)
735+
#ifndef NO_gtk_1file_1dialog_1save
736+
JNIEXPORT void JNICALL GTK4_NATIVE(gtk_1file_1dialog_1save)
737+
(JNIEnv *env, jclass that, jlong arg0, jlong arg1, jlong arg2, jlong arg3, jlong arg4)
738+
{
739+
GTK4_NATIVE_ENTER(env, that, gtk_1file_1dialog_1save_FUNC);
740+
gtk_file_dialog_save((GtkFileDialog *)arg0, (GtkWindow *)arg1, (GCancellable *)arg2, (GAsyncReadyCallback)arg3, (gpointer)arg4);
741+
GTK4_NATIVE_EXIT(env, that, gtk_1file_1dialog_1save_FUNC);
742+
}
743+
#endif
744+
745+
#ifndef NO_gtk_1file_1dialog_1save_1finish
746+
JNIEXPORT jlong JNICALL GTK4_NATIVE(gtk_1file_1dialog_1save_1finish)
747+
(JNIEnv *env, jclass that, jlong arg0, jlong arg1, jlongArray arg2)
710748
{
749+
jlong *lparg2=NULL;
711750
jlong rc = 0;
712-
GTK4_NATIVE_ENTER(env, that, gtk_1file_1dialog_1new_FUNC);
713-
rc = (jlong)gtk_file_dialog_new();
714-
GTK4_NATIVE_EXIT(env, that, gtk_1file_1dialog_1new_FUNC);
751+
GTK4_NATIVE_ENTER(env, that, gtk_1file_1dialog_1save_1finish_FUNC);
752+
if (arg2) if ((lparg2 = (*env)->GetLongArrayElements(env, arg2, NULL)) == NULL) goto fail;
753+
rc = (jlong)gtk_file_dialog_save_finish((GtkFileDialog *)arg0, (GAsyncResult *)arg1, (GError **)lparg2);
754+
fail:
755+
if (arg2 && lparg2) (*env)->ReleaseLongArrayElements(env, arg2, lparg2, 0);
756+
GTK4_NATIVE_EXIT(env, that, gtk_1file_1dialog_1save_1finish_FUNC);
715757
return rc;
716758
}
717759
#endif
@@ -742,6 +784,36 @@ JNIEXPORT jlong JNICALL GTK4_NATIVE(gtk_1file_1dialog_1select_1folder_1finish)
742784
}
743785
#endif
744786

787+
#ifndef NO_gtk_1file_1dialog_1set_1default_1filter
788+
JNIEXPORT void JNICALL GTK4_NATIVE(gtk_1file_1dialog_1set_1default_1filter)
789+
(JNIEnv *env, jclass that, jlong arg0, jlong arg1)
790+
{
791+
GTK4_NATIVE_ENTER(env, that, gtk_1file_1dialog_1set_1default_1filter_FUNC);
792+
gtk_file_dialog_set_default_filter((GtkFileDialog *)arg0, (GtkFileFilter *)arg1);
793+
GTK4_NATIVE_EXIT(env, that, gtk_1file_1dialog_1set_1default_1filter_FUNC);
794+
}
795+
#endif
796+
797+
#ifndef NO_gtk_1file_1dialog_1set_1filters
798+
JNIEXPORT void JNICALL GTK4_NATIVE(gtk_1file_1dialog_1set_1filters)
799+
(JNIEnv *env, jclass that, jlong arg0, jlong arg1)
800+
{
801+
GTK4_NATIVE_ENTER(env, that, gtk_1file_1dialog_1set_1filters_FUNC);
802+
gtk_file_dialog_set_filters((GtkFileDialog *)arg0, (GListModel *)arg1);
803+
GTK4_NATIVE_EXIT(env, that, gtk_1file_1dialog_1set_1filters_FUNC);
804+
}
805+
#endif
806+
807+
#ifndef NO_gtk_1file_1dialog_1set_1initial_1file
808+
JNIEXPORT void JNICALL GTK4_NATIVE(gtk_1file_1dialog_1set_1initial_1file)
809+
(JNIEnv *env, jclass that, jlong arg0, jlong arg1)
810+
{
811+
GTK4_NATIVE_ENTER(env, that, gtk_1file_1dialog_1set_1initial_1file_FUNC);
812+
gtk_file_dialog_set_initial_file((GtkFileDialog *)arg0, (GFile *)arg1);
813+
GTK4_NATIVE_EXIT(env, that, gtk_1file_1dialog_1set_1initial_1file_FUNC);
814+
}
815+
#endif
816+
745817
#ifndef NO_gtk_1file_1dialog_1set_1initial_1folder
746818
JNIEXPORT void JNICALL GTK4_NATIVE(gtk_1file_1dialog_1set_1initial_1folder)
747819
(JNIEnv *env, jclass that, jlong arg0, jlong arg1)
@@ -752,6 +824,34 @@ JNIEXPORT void JNICALL GTK4_NATIVE(gtk_1file_1dialog_1set_1initial_1folder)
752824
}
753825
#endif
754826

827+
#ifndef NO_gtk_1file_1dialog_1set_1initial_1name
828+
JNIEXPORT void JNICALL GTK4_NATIVE(gtk_1file_1dialog_1set_1initial_1name)
829+
(JNIEnv *env, jclass that, jlong arg0, jbyteArray arg1)
830+
{
831+
jbyte *lparg1=NULL;
832+
GTK4_NATIVE_ENTER(env, that, gtk_1file_1dialog_1set_1initial_1name_FUNC);
833+
if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
834+
gtk_file_dialog_set_initial_name((GtkFileDialog *)arg0, (char *)lparg1);
835+
fail:
836+
if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
837+
GTK4_NATIVE_EXIT(env, that, gtk_1file_1dialog_1set_1initial_1name_FUNC);
838+
}
839+
#endif
840+
841+
#ifndef NO_gtk_1file_1dialog_1set_1title
842+
JNIEXPORT void JNICALL GTK4_NATIVE(gtk_1file_1dialog_1set_1title)
843+
(JNIEnv *env, jclass that, jlong arg0, jbyteArray arg1)
844+
{
845+
jbyte *lparg1=NULL;
846+
GTK4_NATIVE_ENTER(env, that, gtk_1file_1dialog_1set_1title_FUNC);
847+
if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
848+
gtk_file_dialog_set_title((GtkFileDialog *)arg0, (char *)lparg1);
849+
fail:
850+
if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
851+
GTK4_NATIVE_EXIT(env, that, gtk_1file_1dialog_1set_1title_FUNC);
852+
}
853+
#endif
854+
755855
#ifndef NO_gtk_1frame_1set_1child
756856
JNIEXPORT void JNICALL GTK4_NATIVE(gtk_1frame_1set_1child)
757857
(JNIEnv *env, jclass that, jlong arg0, jlong arg1)

bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk4_stats.h

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,22 @@ typedef enum {
7777
gtk_1event_1controller_1motion_1new_FUNC,
7878
gtk_1event_1controller_1scroll_1new_FUNC,
7979
gtk_1expander_1set_1child_FUNC,
80-
gtk_1file_1chooser_1get_1file_FUNC,
81-
gtk_1file_1chooser_1get_1files_FUNC,
82-
gtk_1file_1chooser_1set_1current_1folder_FUNC,
83-
gtk_1file_1chooser_1set_1file_FUNC,
80+
gtk_1file_1dialog_1get_1default_1filter_FUNC,
8481
gtk_1file_1dialog_1new_FUNC,
82+
gtk_1file_1dialog_1open_FUNC,
83+
gtk_1file_1dialog_1open_1finish_FUNC,
84+
gtk_1file_1dialog_1open_1multiple_FUNC,
85+
gtk_1file_1dialog_1open_1multiple_1finish_FUNC,
86+
gtk_1file_1dialog_1save_FUNC,
87+
gtk_1file_1dialog_1save_1finish_FUNC,
8588
gtk_1file_1dialog_1select_1folder_FUNC,
8689
gtk_1file_1dialog_1select_1folder_1finish_FUNC,
90+
gtk_1file_1dialog_1set_1default_1filter_FUNC,
91+
gtk_1file_1dialog_1set_1filters_FUNC,
92+
gtk_1file_1dialog_1set_1initial_1file_FUNC,
8793
gtk_1file_1dialog_1set_1initial_1folder_FUNC,
94+
gtk_1file_1dialog_1set_1initial_1name_FUNC,
95+
gtk_1file_1dialog_1set_1title_FUNC,
8896
gtk_1frame_1set_1child_FUNC,
8997
gtk_1gesture_1click_1new_FUNC,
9098
gtk_1gesture_1drag_1new_FUNC,

0 commit comments

Comments
 (0)