[Extension][2.0.65] Extension Widgets (GUI)

Bonjour à tous,

L’extension Widgets permet d’avoir des widgets (des contrôles d’interface graphique).

Présentation détaillée :
L’extension fournit pour le moment un seul widget : la zone de texte. Elle possède de nombreuses fonctionnalités :

  • Couleurs totalement personnalisables
  • Possibilité de sélectionner du texte
  • Possibilité de masquer les caractères (pour un mot de passe par exemple) et de mettre un texte indicatif

Bugs connus :

  • Après la compilation d’un jeu, il faut copier manuellement le fichier WidgetsCore.dll (Windows) ou WidgetsCore.so (Linux) du dossier CppPlatform/Extensions/Runtime (pas d’un autre dossier) dans le dossier du jeu compilé
  • Sur Linux uniquement : Il est impossible d’entrer du texte dans la zone de texte depuis l’aperçu (l’aperçu fenêtré ne marche pas non plus)
  • Sur Windows : Il est impossible d’entrer du texte dans la zone de texte depuis l’aperçu traditionnel, il suffit de lancer l’aperçu dans le mode “fenêtré” pour éviter ce bug

Plus d’informations sur le site officiel : http://gd-extensions.victorlevasseur.com/?page=widgets

Compatible : Game Develop 3.2.65
Téléchargement de la version 2.0.65 (Windows) : http://gd-extensions.victorlevasseur.com/?page=widgets&subpage=telechargement
Téléchargement de la version 2.0.61 pour GD 3.1.61 (Linux) : http://gd-extensions.victorlevasseur.com/?page=widgets&subpage=telechargement
Accès au code source de l’extension : https://github.com/victorlevasseur/GD-Widgets-Extension

Boost est composé essentiellement de fichiers d’entêtes, donc il n’est pas si lourd que ça ( suivant l’utilisation qui est faite ) : Les jeux l’utilisent déjà, notamment pour tout ce qui est pointeurs intelligents et compagnie.
Donc si SFGUI utilise Boost juste dans un domaine bien précis, ça vaut peut être le coup de l’utiliser ?

En tout cas, très bonne idée d’extension ! :slight_smile:

Peut-être, mais Boost est utilisé par tous les widgets de SFGUI et SFGUI elle-même est très lourde.
Enfin, maintenant que j’ai commencé à la faire à la main… :wink:

C’est une très bonne idée d’extension. Elle pourra aussi ouvrir des fenêtres modales ?

Le but de l’extension n’est pas de faire des fenêtre mais juste de disposer de widgets que l’on place sur la scène. :wink:

Ça promet tout sa, bonne continuation ! :slight_smile:

Ce serai une superbe extension!

Bonne continuation et bon courage :smiley: :wink:

Quelques news :
Comme l’auront remarqué ceux qui ose parcourir la catégorie du forum consacrée au dev d’extension,
je vais finalement utiliser une projet libre (licence zlib) qui fournit des widgets pour la SFML :
[size=150]SFGUI[/size]

Cette bibliothèque est toujours en développement (très actif : dernière modif de la lib date d’il y a quelques heures) et fournit pour le moment des widgets simples qui sont :

  • Les boutons
  • Les entrées de texte
  • Différent widgets pour positionner les autres (ne sera pas utiliser par mon extension)
  • Des fenêtres dessinées dans le rendu (ne sera pas non plus utilisé)
  • Des glissières (slider) pour sélectionner une valeur dans un intervalle de valeurs
  • Des barres de redimensionnement

Bon, ça peut paraître peu mais la bibliothèque évolue : ils travaillent sur une liste multi-colonne pour sélectionner des éléments.

Donc, pour commencer réellement la création et l’adaptation de SFGUI pour GD, je vais attendre la prochaine version de GD car elle fournira une fonctionnalité nécessaire au fonctionnement interne de SFGUI. :wink:

Ces widgets seront-ils personnalisables (je veux dire par la couleur, la taille…) ?

Qui sont “ils” dans “ils travaillent…” ?

Oui, suivant un thème (sous forme d’un fichier contenant un pseudo css), soit individuellement (il faut que je vois comment on fait).

EDIT : ils = Stefan Schindler (le créateur, alias TankOs), binary1248 et anttirt. :wink:
Plus d’infos sur SFGUI ici : https://github.com/TankOs/SFGUI

Je confirme pour la personnalisation des widgets séparément : cela vient d’être ajouté.
D’ailleurs, un autre moteur de rendu des widgets (ce qui donne l’apparence des widgets) est en développement.
Il existera donc 2 moteurs de rendu de SFGUI :

  • BREW (actuel) qui utilise des rectangles, cercles, lignes pour faire un rendu des widgets
  • BOB (celui en cours de dev) qui utilises des images

Rendu SFGUI avec BOB (hors GD) :

Rendu SFGUI avec BREW (hors GD) :

Je viens de faire la partie qui gère la personnalisation de la zone de texte, voici tout ce que l’on peut personnaliser (il reste encore des choses à ajouter) :
[attachment=0]EditEntry.png[/attachment]

On peut donc personnaliser 3 couleurs sur les 4 états de la zone de texte. :wink:

ça promet :smiley:

J’ai vu:

Y aura t’il une fonction plusieur lignes?

Pas pour le moment car SFGUI ne fournit pas encore ce widget. :wink:

Dommage mais cette extention à l’air tellment pratique que l’on peut faire sans j’ai hate quelle soit fini

Mais il faut savoir que SFGUI évolue très vite et que je pourrais peut-être contribuer à ce projet en créant quelques widgets. :wink:

J’attends juste la prochaine version de GD et je posterai un jeu compilé pour vous montrer ce qu’on pourra faire avec.

Cette extension serait un très bon apport à GD :
Je peux contribuer si jamais tu ouvre le code source, ou si tu souhaite des conseils sur comment implémenter telle ou telle chose.

Merci de ton soutien 4ian,
mais je bute sur un petit problème lié à SFGUI : les widgets conservent leur focus même si un autre le prend. La cause peut être le fait que je les utilise indépendamment sans container. Je voudrais bien utiliser un container, mais il faut faire son rendu sans faire ceux des widgets qui sont dedans. Or, c’est pas possible de faire ça avec GD vu que chaque widget a son rendu…
Bref, j’attends une réponse du dev de SFGUI : http://www.sfml-dev.org/forum/viewtopic.php?t=6112&postdays=0&postorder=asc&start=15&sid=6c020fe7c94438b9fa6e2116aaefabc8

Cependant, j’ai réussi à bidouiller un truc, mais c’est pas optimal. :wink:

EDIT : Il se peut que j’ouvre le code source, mais pour le moment, je code le principal pour tester plus facilement. :wink:

Voici une petite démo contenant deux zones de texte avec deux apparences différentes :
http://www.levasseursoftware.net/down/Demo-Zone%20de%20texte.zip

L’extension Widgets pèse moins de 3 Mo, ce qui est assez peu. :wink:

Est-ce que tu pourrais s’il te plaît ajouter la gestion du copier/couper/coller/sélectionner ?