java-gnome's cool new stuffs

C'est vrai, c'est génial ! Ce que j'ai toujours aimé dans le projet java-gnome, c'est sa facilité d'accès lorsque l'on connaît un peu le langage Java. Je préfère de loin réaliser une interface graphique avec java-gnome qu'avec Swing. Pourquoi ? Déjà parce que c'est plus beau et surtout parce que c'est plus simple.

Bon trêve de compliments, je ne suis pas là pour expliquer à quel point écrire des applications avec java-gnome c'est bien. Quoi que ça serait presque çamais bon...

Depuis la version 4.0.12 de l'API, j'essaie de contribuer pas mal à son développement même si avec mon travail qui n'a rien à voir avec l'informatique je suis plutôt crevé en rentrant. Cependant, je prends quand même le temps de développer plusieurs branches. J'avais donc envie de faire un petit point sur les nouveautés qui arriveront (j'espère) pour la version 4.0.13 de java-gnome.

Je commence par la première branche que j'ai codé seul et qui est terminée (elle est en attente d'intégration défintive dans l'API). Cette branche est nommée entry-gtk-2.16. Elle a pour but d'ajouter les fonctionnalités arrivées pour les GtkEntry avec GTK 2.16 dans la classe Entry de java-gnome. Ainsi tout comme avec la bibliothèque de développement en C, on pourra mettre des icônes des deux côtés de l'entrée de texte ou encore se servir de l'indicateur de progression qui y est intégré. Voici une démonstration :


Les branches suivantes que je développe étaient auparavant codées par Serkan Kaba qui depuis a lancé un appel afin que quelqu'un reprenne son travail. C'est donc ce que j'ai fait avec 3 de ses branches.

Je me suis intéressé pour commencer à l'intégration de libsexy dans java-gnome. Cette bibliothèque apporte quelques widgets intéressants en plus à GTK. Je peux à présent considérer mon travail sur l'intégration de libsexy presque terminé puisque tout a été implémenté par Serkan et moi. On pourra, donc une fois le merge avec le code l'API fait, utiliser des Labels contenant des liens,


mais aussi, des Entrys supportant les corrections orthographiques (truc dont j'ai besoin),


des textes d'astuces (tooltips) différents selon les lignes des TreeViews et enfin, des widgets Tooltip pouvant contenir des choses plus complexes que des simples lignes de texte.


J'ai également décidé de ne pas implémenter le SexyIconEntry puisque la classe Entry de GTK 2.16 offre encore plus de fonctionnalités.

J'ai aussi travaillé sur une branche visant à implanter le widget offert par la bibilothèque nommée VTE (pour Virtual Terminal Emulator). Les amateurs de GNOME connaissent probablement ce widget puisque c'est lui qui est utilisé par l'émulateur de terminal de GNOME.


Enfin, pour terminer, j'ai terminé le code d'une branche dédiée à ajouter les fonctionnalités liées au LinkButton (bouton contenant un lien). On pourra donc alors profiter de ce widget dans java-gnome mais également profiter de ses nouveautés dans la boîte de dialogue AboutDialog. En effet, jusqu'à présent, on ne pouvait qu'insérer un lien et l'afficher afin de spécifier le site web de l'application à laquelle cette boîte de dialogue était attachée. Maintenant, ce lien devient intéractif, c'est-à-dire qu'un clic dessus permettra d'ouvrir le navigateur web à l'adresse donnée.


C'est tout pour le moment, j'espère que chacune de ses branches sera intégrée dans java-gnome avant la sortie de la version 4.0.13 (qui sera d'ailleurs peut-être estampillée 4.1.1) et qui promet encore de belles choses.

Ah oui j'oubliais, on m'a des fois fait la remarque suivante : "Wa pour développer java-gnome faut connaître le C et la JNI non ?". Et bien en fait non, il n'y a pas besoin de savoir manipuler le C et la JNI. En effet, tout ce qui est code C / JNI est automatiquement généré par un ... générateur ... qui grâce à des fichiers de types .defs et les .h des bibliothèques génère le code C / JNI automatiquement. Il ne reste donc que l'API public (haut niveau si je peux dire ça comme ça) à écrire. Bien entendu, il y a toujours des cas particuliers (comme je suis un grand chanceux, je suis tombé dessus...) où il faut écrire quelques bouts de code en C pour contourner certains "manques" de Java (comme les callbacks).

Vus : 273
Publié par Respawner : 34