Sign in Join
Wiki copytemporary

Extending the IDE/fr: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11# Étendre l'IDE
22
33## Vue d'ensemble
44
55L'IDE supporte plusieurs types de plugins :
66
77Composants
88Ce sont les éléments de la palette des composants. Par exemple, TButton peut être employé pour créer des boutons.
99
1010Éditeurs de composants
1111Les éditeurs de composants sont employés quand on double-clique sur un composant dans le concepteur. Ils peuvent aussi servir à ajouter un élément au menu surgissant du concepteur quand on clique sur un composant avec le bouton droit de la souris.
1212
1313Éditeurs de propriétés
1414Ceux-ci sont utilisés par chaque ligne de l'inspecteur d'objet afin de pouvoir établir ou modifier la valeur d'une propriété du composant sélectionné.
1515
1616Experts
1717Ceux-ci représentent tous les autres types. Ils comprennent les nouveaux éléments d'un menu, les combinaisons de touches pour les raccourcis, ou encore de nouvelles fonctionnalités pour l'IDE.
1818
1919Il y a deux possibilités pour ajouter vos propres plugins à Lazarus :
2020
21211. écrire un paquet, l'installer et enregistrer les plugins dans la procédure «register» d'une unité ;
22222. étendre le code de Lazarus, et envoyer le fichier diff CVS(Concurrent Versions System) à la liste de courriel de Lazarus.
2323
2424## Écrire des Composants
2525
2626ToDo Conseil: Créer un nouveau composant par l'intermédiaire de l'éditeur de paquet.
2727
2828## Écrire un éditeurs de composant
2929
3030ToDo Conseil: voir le fichier componenteditors.pas pour des exemples
3131
3232## Écrire un éditeurs de propriété
3333
3434ToDo Conseil: voir le fichier propedits.pp pour des exemples
3535
3636## Traiter les registres d'événement
3737
3838Il y a plusieurs événements dans l'IDE, pour quelles plugins peuvent ajouter leurs propres traitement. Dans propedits.pp il y a un objet "GlobalDesignHook", qui maintient plusieurs évènements de conception. Chaque événement appelle une liste de traitement. Les traitements par défaut sont ajoutés par l'IDE. Vous pouvez ajouter vos propres traitements avec les méthodes AddHandlerXXX et RemoveHandlerXXX. Ils s'appelleront avant les traitements par défaut.
3939
4040Exemples :
4141
42-` Ajoutez votre traitement (ceci est normalement fait dans le constructeur de votre objet):`\
43-`   GlobalDesignHook.AddHandlerComponentAdded(@YourOnComponentAdded);`\
44-`  Enlevez votre traitement : `\
45-`   GlobalDesignHook.RemoveHandlerComponentAdded(@YourOnComponentAdded);`\
46-`  Vous pouvez enlever tous les traitements immédiatement.`\
47-` Par exemple, c'est une bonne idée d'ajouter cette ligne dans le destructeur de l'objet : `\
48-`   GlobalDesignHook.RemoveAllHandlersForObject(Self);`
42+```text
43+ Ajoutez votre traitement (ceci est normalement fait dans le constructeur de votre objet):
44+ GlobalDesignHook.AddHandlerComponentAdded(@YourOnComponentAdded);
45+ Enlevez votre traitement :
46+ GlobalDesignHook.RemoveHandlerComponentAdded(@YourOnComponentAdded);
47+ Vous pouvez enlever tous les traitements immédiatement.
48+ Par exemple, c'est une bonne idée d'ajouter cette ligne dans le destructeur de l'objet :
49+ GlobalDesignHook.RemoveAllHandlersForObject(Self);
50+```
4951
5052Les traitements de GlobalDesignHook :
5153
52-` // racine de consultation `\
53-` ChangeLookupRoot`\
54-`   Appelé quand le "LookupRoot" a changé. `\
55-`   Le "LookupRoot" est l'objet du propriétaire des composants actuellement choisis. `\
56-`   Normalement c'est un TForm. `\
57-`  // méthodes `\
58-` CreateMethod`\
59-` GetMethodName`\
60-` GetMethods`\
61-` MethodExists`\
62-` RenameMethod`\
63-` ShowMethod`\
64-`   Called`\
65-` MethodFromAncestor`\
66-` ChainCall`\
67-`  // composants `\
68-` GetComponent`\
69-` GetComponentName`\
70-` GetComponentNames`\
71-` GetRootClassName`\
72-` ComponentRenamed`\
73-`   Appelé quand un composant a été renommé.`\
74-` ComponentAdded`\
75-`   Appelé quand un nouveau composant a été ajouté au LookupRoot `\
76-` ComponentDeleting`\
77-`   Appelé avant qu'un composant soit libéré. `\
78-` DeleteComponent`\
79-`   Appelé par l'IDE pour supprimer un composant. `\
80-` GetSelectedComponents`\
81-`   Obtenir le choix courant des composants.`\
82-`  // objets persistants `\
83-` GetObject`\
84-` GetObjectName`\
85-` GetObjectNames`\
86-`  // modifing `\
87-` Modified`\
88-` Revert`\
89-` RefreshPropertyValues`
54+```text
55+ // racine de consultation
56+ ChangeLookupRoot
57+ Appelé quand le "LookupRoot" a changé.
58+ Le "LookupRoot" est l'objet du propriétaire des composants actuellement choisis.
59+ Normalement c'est un TForm.
60+ // méthodes
61+ CreateMethod
62+ GetMethodName
63+ GetMethods
64+ MethodExists
65+ RenameMethod
66+ ShowMethod
67+ Called
68+ MethodFromAncestor
69+ ChainCall
70+ // composants
71+ GetComponent
72+ GetComponentName
73+ GetComponentNames
74+ GetRootClassName
75+ ComponentRenamed
76+ Appelé quand un composant a été renommé.
77+ ComponentAdded
78+ Appelé quand un nouveau composant a été ajouté au LookupRoot
79+ ComponentDeleting
80+ Appelé avant qu'un composant soit libéré.
81+ DeleteComponent
82+ Appelé par l'IDE pour supprimer un composant.
83+ GetSelectedComponents
84+ Obtenir le choix courant des composants.
85+ // objets persistants
86+ GetObject
87+ GetObjectName
88+ GetObjectNames
89+ // modifing
90+ Modified
91+ Revert
92+ RefreshPropertyValues
93+```
9094
9195## Ajouter de l'aide pour des sources
9296
9397Créer d'abord un THelpDatabase :
9498
95-` HelpDB:=TFPDocHTMLHelpDatabase(`\
96-`    HelpDatabases.CreateHelpDatabase('ANameOfYourChoiceForTheDatabase',`\
97-`                                            TFPDocHTMLHelpDatabase,true));`\
98-` HelpDB.DefaultBaseURL:='`[`http://your.help.org/`](http://your.help.org/)`';`
99+``` pascal
100+ HelpDB:=TFPDocHTMLHelpDatabase(
101+ HelpDatabases.CreateHelpDatabase('ANameOfYourChoiceForTheDatabase',
102+ TFPDocHTMLHelpDatabase,true));
103+ HelpDB.DefaultBaseURL:='http://your.help.org/';
104+```
99105
100-` FPDocNode:=THelpNode.CreateURL(HelpDB,`\
101-`                  'Package1 - A new package',`\
102-`                  '`[`file://index.html`](file://index.html)`');`\
103-` HelpDB.TOCNode:=THelpNode.Create(HelpDB,FPDocNode);// once as TOC`\
104-` DirectoryItem:=THelpDBISourceDirectory.Create(FPDocNode,'$(PkgDir)/lcl',`\
105-`                                 '*.pp;*.pas',false);// and once as normal page`\
106-` HelpDB.RegisterItem(DirectoryItem);`
106+``` pascal
107+ FPDocNode:=THelpNode.CreateURL(HelpDB,
108+ 'Package1 - A new package',
109+ 'file://index.html');
110+ HelpDB.TOCNode:=THelpNode.Create(HelpDB,FPDocNode);// once as TOC
111+ DirectoryItem:=THelpDBISourceDirectory.Create(FPDocNode,'$(PkgDir)/lcl',
112+ '*.pp;*.pas',false);// and once as normal page
113+ HelpDB.RegisterItem(DirectoryItem);
114+```
107115
108116---
109117*From the Free Pascal wiki, page "Extending the IDE/fr", as it stood on 2017-11-26 after a change by Gillou58, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
110118Category: Français

Back to history