1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
JNIEXPORT jobjectArray JNICALL Java_upload_main_parcourWinC(JNIEnv *p, jobject o)
{
jobjectArray t = NULL;
int argc = 0;
char **argv = NULL;
gtk_init(&argc,&argv);
GtkWidget *pFileSelection;
GSList *fileList;
gchar *sChemin;
GSList *elt;
int i;
int j;
/* Creation de la fenetre de selection */
pFileSelection = gtk_file_chooser_dialog_new("Ouvrir...",NULL ,GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,GTK_STOCK_OPEN, GTK_RESPONSE_OK,NULL);
/* On limite les actions a cette fenetre */
gtk_window_set_modal(GTK_WINDOW(pFileSelection), TRUE);
gtk_file_chooser_set_select_multiple( GTK_FILE_CHOOSER(pFileSelection) , TRUE );
/* Affichage fenetre */
switch(gtk_dialog_run(GTK_DIALOG(pFileSelection)))
{
case GTK_RESPONSE_OK:
/* Recuperation du chemin */
fileList = gtk_file_chooser_get_filenames ( GTK_FILE_CHOOSER(pFileSelection) );
i = g_slist_length( fileList );
t = (*p)->NewObjectArray( p , i , (*p)->FindClass(p, "java/lang/String"), NULL );
for( j=0 ; j < i ; j++ )
{
elt = g_slist_nth( fileList , j );
sChemin = (gchar*) (elt->data);
(*p)->SetObjectArrayElement(p, t , j ,(*p)->NewStringUTF(p, sChemin ));
g_free(sChemin);
}
break;
default:
break;
}
gtk_widget_destroy(pFileSelection);
return t;
} |
Partager