Extending the IDE/fr
Étendre l'IDE
Vue d'ensemble
L'IDE soutient plusieurs types de plugins:
- Composants
- Ce sont les items dans la palette composante. Pour un exemple TButton peut être employé pour créer des boutons.
- Éditeurs de composants
- Les éditeurs de composants sont employés quand vous double cliquez sur un composant dans le concepteur ou pour ajouter quelques items supplémentaires au menu automatique du concepteur, quand vous cliquez sur un composant.
- Éditeurs de propriété
- Ceux-ci sont employés par les rangées dans l'inspecteur d'objet.
- Experts
- Ce sont tous les autres types.
Il y a deux possibilités pour ajouter vos propres plugins à Lazarus:
- Écrire un paquet, l'installer et enregistrer vos plugins dans la procédure «registre» d'une unité.
- Prolonger le code de Lazarus, et envoyer votre fichier diff à partir de la version CVS à la mailing liste de Lazarus.
Écrire un Composants
ToDo Conseil: Créer un nouveau composant par l'intermédiaire de l'éditeur de paquet.
Écrire un éditeurs de composant
ToDo Conseil: voir le fichier componenteditors.pas pour des exemples
Écrire un éditeurs de propriété
ToDo Conseil: voir le fichier propedits.pp pour des exemples
Traiter les registre d'évènement
Il 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 traitement par défaut sont ajoutés par l'ide. Vous pouvez ajouter vos propres traitement avec les méthodes AddHandlerXXX et RemoveHandlerXXX. Ils s'appelleront avant les traitements par défaut.
Exemples:
Adding your handler (this is normally done in the constructor of your object): GlobalDesignHook.AddHandlerComponentAdded(@YourOnComponentAdded);
Removing your handler: GlobalDesignHook.RemoveHandlerComponentAdded(@YourOnComponentAdded);
You can remove all handlers at once. For example, it is a good idea to add this line in the destructor of object: GlobalDesignHook.RemoveAllHandlersForObject(Self);
The handlers of GlobalDesignHook:
// lookup root ChangeLookupRoot Called when the "LookupRoot" changed. The "LookupRoot" is the owner object of the currently selected components. Normally this is a TForm.
// methods CreateMethod GetMethodName GetMethods MethodExists RenameMethod ShowMethod Called MethodFromAncestor ChainCall
// components GetComponent GetComponentName GetComponentNames GetRootClassName ComponentRenamed Called when a component was renamed ComponentAdded Called when a new component was added to the LookupRoot ComponentDeleting Called before a component is freed. DeleteComponent Called by the IDE to delete a component. GetSelectedComponents Get the current selection of components.
// persistent objects GetObject GetObjectName GetObjectNames
// modifing Modified Revert RefreshPropertyValues
Adding help for sources
First create a THelpDatabase:
HelpDB:=TFPDocHTMLHelpDatabase( HelpDatabases.CreateHelpDatabase('ANameOfYourChoiceForTheDatabase', TFPDocHTMLHelpDatabase,true)); HelpDB.DefaultBaseURL:='http://your.help.org/';
FPDocNode:=THelpNode.CreateURL(HelpDB, 'Package1 - A new package', 'file://index.html'); HelpDB.TOCNode:=THelpNode.Create(HelpDB,FPDocNode);// once as TOC DirectoryItem:=THelpDBISourceDirectory.Create(FPDocNode,'$(PkgDir)/lcl', '*.pp;*.pas',false);// and once as normal page HelpDB.RegisterItem(DirectoryItem);
Original contributors and changes
This page has been converted from the epikwiki version.
This document was authored by Mattias Gaertner Initial import and formatted for Lazarus-CCR - VlxAdmin 9/26/2003