84 |
NSA_SET_PTR (env, obj, widget); |
NSA_SET_PTR (env, obj, widget); |
85 |
} |
} |
86 |
|
|
|
JNIEXPORT void JNICALL |
|
|
Java_gnu_java_awt_peer_gtk_GtkFileDialogPeer_connectJObject |
|
|
(JNIEnv *env, jobject obj) |
|
|
{ |
|
|
void *ptr = NSA_GET_PTR (env, obj); |
|
|
|
|
|
gdk_threads_enter (); |
|
|
|
|
|
gtk_widget_realize (GTK_WIDGET (ptr)); |
|
|
|
|
|
connect_awt_hook (env, obj, 1, GTK_WIDGET (ptr)->window); |
|
|
|
|
|
gdk_threads_leave (); |
|
|
} |
|
|
|
|
87 |
JNIEXPORT void JNICALL |
JNIEXPORT void JNICALL |
88 |
Java_gnu_java_awt_peer_gtk_GtkFileDialogPeer_connectSignals |
Java_gnu_java_awt_peer_gtk_GtkFileDialogPeer_connectSignals |
89 |
(JNIEnv *env, jobject obj) |
(JNIEnv *env, jobject obj) |
94 |
|
|
95 |
gdk_threads_enter (); |
gdk_threads_enter (); |
96 |
|
|
|
gtk_widget_realize (GTK_WIDGET (ptr)); |
|
|
|
|
97 |
g_signal_connect (G_OBJECT (GTK_DIALOG (ptr)), |
g_signal_connect (G_OBJECT (GTK_DIALOG (ptr)), |
98 |
"response", |
"response", |
99 |
GTK_SIGNAL_FUNC (handle_response), *gref); |
GTK_SIGNAL_FUNC (handle_response), *gref); |
127 |
This function extracts the filename from the GtkFileFilterInfo object, |
This function extracts the filename from the GtkFileFilterInfo object, |
128 |
and passes it to the Java method. The Java method will call the filter's |
and passes it to the Java method. The Java method will call the filter's |
129 |
accept() method and will give back the return value. */ |
accept() method and will give back the return value. */ |
130 |
gboolean filenameFilterCallback (const GtkFileFilterInfo *filter_info, |
static gboolean filenameFilterCallback (const GtkFileFilterInfo *filter_info, |
131 |
gpointer obj) |
gpointer obj) |
132 |
{ |
{ |
|
gchar* dirname; |
|
133 |
jclass cx; |
jclass cx; |
134 |
jmethodID id; |
jmethodID id; |
135 |
jstring *filename; |
jstring *filename; |
150 |
|
|
151 |
JNIEXPORT void JNICALL |
JNIEXPORT void JNICALL |
152 |
Java_gnu_java_awt_peer_gtk_GtkFileDialogPeer_nativeSetFilenameFilter |
Java_gnu_java_awt_peer_gtk_GtkFileDialogPeer_nativeSetFilenameFilter |
153 |
(JNIEnv *env, jobject obj, jobject filter_obj) |
(JNIEnv *env, jobject obj, jobject filter_obj __attribute__((unused))) |
154 |
{ |
{ |
155 |
void *ptr; |
void *ptr; |
156 |
GtkFileFilter *filter; |
GtkFileFilter *filter; |
160 |
gdk_threads_enter (); |
gdk_threads_enter (); |
161 |
|
|
162 |
filter = gtk_file_filter_new(); |
filter = gtk_file_filter_new(); |
163 |
gtk_file_filter_add_custom(filter, |
gtk_file_filter_add_custom(filter, GTK_FILE_FILTER_FILENAME, |
164 |
GTK_FILE_FILTER_FILENAME, |
filenameFilterCallback, obj, NULL); |
|
G_CALLBACK(filenameFilterCallback), |
|
|
obj, |
|
|
NULL); |
|
165 |
|
|
166 |
gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(ptr), filter); |
gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(ptr), filter); |
167 |
|
|
216 |
static jmethodID disposeID; |
static jmethodID disposeID; |
217 |
void *ptr; |
void *ptr; |
218 |
G_CONST_RETURN gchar *fileName; |
G_CONST_RETURN gchar *fileName; |
219 |
jstring str_fileName; |
jstring str_fileName = NULL; |
220 |
|
|
221 |
/* We only need this for the case when the user closed the window, |
/* We only need this for the case when the user closed the window, |
222 |
or clicked ok or cancel. */ |
or clicked ok or cancel. */ |
248 |
if (responseId == GTK_RESPONSE_OK) { |
if (responseId == GTK_RESPONSE_OK) { |
249 |
fileName = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (GTK_WIDGET (ptr))); |
fileName = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (GTK_WIDGET (ptr))); |
250 |
str_fileName = (*gdk_env)->NewStringUTF (gdk_env, fileName); |
str_fileName = (*gdk_env)->NewStringUTF (gdk_env, fileName); |
|
} else if (responseId == GTK_RESPONSE_CANCEL) { |
|
|
str_fileName = NULL; |
|
251 |
} |
} |
252 |
|
|
253 |
if (!isIDSet) |
if (!isIDSet) |