Rebonjour 4ian,
Je voulais savoir ce qu’il faut faire pour pouvoir créer des objets et des types d’événement dans un extension qui a été crée d’après AES et qui n’est pas prévu pour cela.
Au fait, peut-on avoir plusieurs types d’événements ou plusieurs type d’objets dans une même extension ?
Y a rien de vraiment très spécial à faire.
Le mieux est d’aller chercher le squelette d’un objet dans une extension déjà faite : Va par exemple dans le dossier de l’extension TextObject.
Copie tous les fichiers .cpp et .h sauf Extension.cpp dans le dossier de ton extension. Ensuite, renomme les début de nom de fichiers “Text” par le nom de ton objet. Fait de même dans les fichiers en remplaçant tous les “TextObject” par ce que tu souhaite.
Il ne reste plus qu’à déclarer ton objet à GD. Tu peux là aussi t’inspirer de l’extension TextObject, en ouvrant cette fois ci Extension.cpp. Tu verra notamment :
[code] DECLARE_OBJECT(“Text”,
_(“Texte”),
_(“Objet affichant un texte”),
“Extensions/texticon.png”,
&CreateTextObject,
&DestroyTextObject);
//Déclarations d'actions/conditions/expressions
DECLARE_END_OBJECT()[/code]
qui est la partie qui déclare l’objet.
Pour commencer, tu peux donc copier toute la déclaration de l’objet depuis Extension.cpp dans le fichier Extension.cpp de ton extension, puis les fichiers Text*.cpp/Text*.h comme je l’ai dit plus haut, puis ne pas oublier d’ajouter un #include “TextObject.h” dans ton Extension.cpp
En faisant ça, ton extension devrait fournir un objet Texte comme l’extension Objet Texte.
Oui sans problèmes :
[code]DECLARE_OBJECT(“ObjectType1”,
_(“MonObjet1”),
_(“Objet fort utile”),
“Extensions/texticon.png”,
&CreateMyObject1,
&DestroyMyObject1);
//Déclarations d'actions/conditions/expressions
DECLARE_END_OBJECT()
DECLARE_OBJECT(“ObjectType2”,
_(“Un autre objet de mon extension”),
_(“Objet affichant un de jolies choses”),
“Extensions/texticon.png”,
&CreateMyObject2,
&DestroyMyObject2);
//Déclarations d'actions/conditions/expressions
DECLARE_END_OBJECT()[/code]
On peut de même multiplier les déclarations d’évènements.
Merci,
C’est pas tellement les objets qui m’interessent, mais plutôt les événement : je cherche à implémenter un événement For Each pour parcourir un tableau de type std::map. Je vais aller me plonger dans la doc, parce que l’événement Fonction est assez difficiel à comprendre du fait qu’il possède beaucoup de fonctions superflues…