Gambas France BETA


Pas de compte ? Incription

créer son propre widget...

1
AuteurMessages
spheris#1 Posté le 27/10/2022 à 17:10:13
Bonjour,
Pour bien comprendre le fonctionnement de la création de widget, je souhaiterais réaliser le widget suivant:

mon widget s'appelera viking
Ce widget hérite d'une textbox suivi d'un bouton qui, lorsque je sais du texte et clique sur le bouton, lira le texte à haute voix par l'intermédiaire du logiciel pico (utilisé par JY autrefois).
il aura comme méthode
1
humain.parler("montexte as string)"

et comme propriétés :
1
2
humain.volume = integer
humain.nom = text

Immédiatement plusieurs question surgissent :

A) Comment afficher le petit icone du widget dans la barre le panel des widget à droite comme la photo
B) Comment choisir la catégorie (form, view, chooser, container, etc...) dans laquelle je mets mon widget.
C) Comment physiquement créer ce widget exploitable par toute la communauté gb.
D) Commnet générer un paquet d'un exécutable exploitable par d'autre gambasien contenant ce widget?
E) Où ecrire le code pour la créationde ce widget, methode, classe, form, comment faire?

Autant de qustions intéressantes pour comprendre comment créer un widget.

Je va essayer de faire une synthèse après de tous nos échanges sous forme de tuto.

Merci à tous pour votre participation.
;)
linuxos#2 Posté le 27/10/2022 à 17:58:24
Un peu de sel, de poivre et la crevette sera... Bonjour Spheris,

A) Comment afficher le petit icone du widget dans la barre le panel des widget à droite comme la photo

-> il suffit de placer l'icone qui doit s'afficher dans les répertoire 'Projet -> control' (dans l'IDE), qui est sera en fait le répertoire '<application>/.hidden/control'
L'icone doit faire 64x64 maxi je crois, en PNG, et avoir le même nom en minuscule que la Classe du widget
Un 'reload' du projet sera necessaire pour que l'IDE intergre bien ton nouveau Widget dans l'IDE.

B) Comment choisir la catégorie (form, view, chooser, container, etc...) dans laquelle je mets mon widget.

-> Le choix de la catégorie se fait en précisant la proprietée suivante en debut de la Classe du Widget:
Ex: Public Const _Group As String = "Special" => je ne connais pas toutes les catégories mais cela semble être le nom des TAB en anglais

C) Comment physiquement créer ce widget exploitable par toute la communauté gb.

-> Il faut définir ton Projet Widget en tant que 'Composant' dans les paramètres du Projet.
La seule bonne méthode que je connaisse pour installer un Composant est de générer le Package de ton projet Widget et de l'installer après.
Mais le problème se pose lorsque l'on utilise une version compilée de Gambas, car les packages de Gambas dont dépend ton Package Widget ne sont pas présents sur le système.
Dans mon cas je les copies manuellement a partir du Package crée. J'utilise un vieux Gestionnaire de fichiers nommé 'MC ou Midnight Commander'.
Je vais le faire remonter a Benoit et voir si il n'existe pas une autre solution plus facile, par exemple, que l'IDE dépose elle meme les fichiers dans le compte de l'utilisateur sous la bonne forme.

D) Commnet générer un paquet d'un exécutable exploitable par d'autre gambasien contenant ce widget?

-> A réfléchir, je te reviendrais plus tard pour cette question

E) Où ecrire le code pour la créationde ce widget, methode, classe, form, comment faire?

-> A réfléchir, je te reviendrais plus tard pour cette question, mais c'est un projet normal, défini en tant que 'Composant', avec des Classes 'exportées' (le mot clé EXPORT) doit étre présent en haut de chaque classe qui définissent ton Widget.

Voila en gros

Olivier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
1