Difference between revisions of "Extending the IDE/fr"

From Lazarus wiki
Jump to navigationJump to search
(New page: {{Extending the IDE}} = Extending the IDE = == Overview == The IDE supports several types of plugins: ; Components : These are the items in the component palette. For a example TButton...)
 
 
(18 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
{{Extending the IDE}}
 
{{Extending the IDE}}
  
= Extending the IDE =
+
= Étendre l'IDE =
  
== Overview ==
+
== Vue d'ensemble ==
  
The IDE supports several types of plugins:
+
L'IDE supporte plusieurs types de plugins :
  
; Components : These are the items in the component palette. For a example TButton can be used to create Buttons.
+
; Composants : Ce sont les éléments de la palette des composants. Par exemple, TButton peut être employé pour créer des boutons.  
  
; Component Editors : Component editors are used when you double click on a component in the designer or to add some extra items to the popup menu of the designer, when you right click on a component.
+
; Éditeurs de composants : Les é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.  
  
; Property Editors : These are used by the rows in the object inspector.
+
; Éditeurs de propriétés : Ceux-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é.
  
; Experts : These are all other types.
+
; Experts : Ceux-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.
  
  
There are two possibilities to add your own plugins to Lazarus:
+
Il y a deux possibilités pour ajouter vos propres plugins à Lazarus :  
  
# Write a package, install it and register your plugins in the 'Register' procedure of a unit.
+
# écrire un paquet, l'installer et enregistrer les plugins dans la procédure «register» d'une unité ;
# Extend the lazarus code, and send your cvs diff to the lazarus mailing list.
+
# étendre le code de Lazarus, et envoyer le fichier diff CVS(Concurrent Versions System) à la liste de courriel de Lazarus.
  
== Writing components ==
+
== Écrire des Composants ==
  
 
ToDo
 
ToDo
Hint: Create a new component via the package editor.
+
Conseil: Créer un nouveau composant par l'intermédiaire de l'éditeur de paquet.
  
== Writing component editors ==
+
== Écrire un éditeurs de composant ==
  
 
ToDo
 
ToDo
Hint: see componenteditors.pas for examples
+
Conseil: voir le fichier componenteditors.pas pour des exemples
  
== Writing property editors ==
+
== Écrire un éditeurs de propriété ==
  
 
ToDo
 
ToDo
Hint: see propedits.pp for examples
+
Conseil: voir le fichier propedits.pp pour des exemples
  
== Register event handlers ==
+
== Traiter les registres d'événement ==
  
There are several events in the IDE, for which plugins can add their own handlers. In propedits.pp there is a "GlobalDesignHook" object, which maintains several events for designing. Each event calls a list of handlers. The default handlers are added by the IDE. You can add your own handlers with the AddHandlerXXX and RemoveHandlerXXX methods. They will be called before the default handlers.
+
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 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.  
  
Examples:
+
Exemples :
  
   Adding your handler (this is normally done in the constructor of your object):
+
   Ajoutez votre traitement (ceci est normalement fait dans le constructeur de votre objet):
 
     GlobalDesignHook.AddHandlerComponentAdded(@YourOnComponentAdded);<br>   
 
     GlobalDesignHook.AddHandlerComponentAdded(@YourOnComponentAdded);<br>   
   Removing your handler:
+
   Enlevez votre traitement :  
 
     GlobalDesignHook.RemoveHandlerComponentAdded(@YourOnComponentAdded);<br>
 
     GlobalDesignHook.RemoveHandlerComponentAdded(@YourOnComponentAdded);<br>
   You can remove all handlers at once. For example, it is a good idea to add
+
   Vous pouvez enlever tous les traitements immédiatement.
   this line in the destructor of object:
+
   Par exemple, c'est une bonne idée d'ajouter cette ligne dans le destructeur de l'objet :  
 
     GlobalDesignHook.RemoveAllHandlersForObject(Self);
 
     GlobalDesignHook.RemoveAllHandlersForObject(Self);
  
The handlers of GlobalDesignHook:
+
Les traitements de GlobalDesignHook :  
  
   // lookup root
+
   // racine de consultation
 
   ChangeLookupRoot
 
   ChangeLookupRoot
     Called when the "LookupRoot" changed.
+
     Appelé quand le "LookupRoot" a changé.  
     The "LookupRoot" is the owner object of the currently selected components.
+
     Le "LookupRoot" est l'objet du propriétaire des composants actuellement choisis.  
     Normally this is a TForm.<br>
+
     Normalement c'est un TForm. <br>
   // methods
+
   // méthodes
 
   CreateMethod
 
   CreateMethod
 
   GetMethodName
 
   GetMethodName
Line 67: Line 67:
 
   MethodFromAncestor
 
   MethodFromAncestor
 
   ChainCall<br>
 
   ChainCall<br>
   // components
+
   // composants
 
   GetComponent
 
   GetComponent
 
   GetComponentName
 
   GetComponentName
Line 73: Line 73:
 
   GetRootClassName
 
   GetRootClassName
 
   ComponentRenamed
 
   ComponentRenamed
     Called when a component was renamed
+
     Appelé quand un composant a été renommé.
 
   ComponentAdded
 
   ComponentAdded
     Called when a new component was added to the LookupRoot
+
     Appelé quand un nouveau composant a été ajouté au LookupRoot  
 
   ComponentDeleting
 
   ComponentDeleting
     Called before a component is freed.
+
     Appelé avant qu'un composant soit libéré.  
 
   DeleteComponent
 
   DeleteComponent
     Called by the IDE to delete a component.
+
     Appelé par l'IDE pour supprimer un composant.  
 
   GetSelectedComponents
 
   GetSelectedComponents
     Get the current selection of components.<br>
+
     Obtenir le choix courant des composants.<br>
   // persistent objects
+
   // objets persistants
 
   GetObject
 
   GetObject
 
   GetObjectName
 
   GetObjectName
 
   GetObjectNames<br>
 
   GetObjectNames<br>
   // modifing
+
   // modifing  
 
   Modified
 
   Modified
 
   Revert
 
   Revert
 
   RefreshPropertyValues
 
   RefreshPropertyValues
  
 +
==Ajouter de l'aide pour des sources ==
  
==Adding help for sources==
+
Créer d'abord un THelpDatabase :
 
 
First create a THelpDatabase:
 
 
   HelpDB:=TFPDocHTMLHelpDatabase(
 
   HelpDB:=TFPDocHTMLHelpDatabase(
 
     HelpDatabases.CreateHelpDatabase('ANameOfYourChoiceForTheDatabase',
 
     HelpDatabases.CreateHelpDatabase('ANameOfYourChoiceForTheDatabase',
Line 108: Line 107:
 
   HelpDB.RegisterItem(DirectoryItem);
 
   HelpDB.RegisterItem(DirectoryItem);
  
==Original contributors and changes==
 
  
This page has been converted from the epikwiki [http://lazarus-ccr.sourceforge.net/index.php?wiki=ExtendingTheIde version].
 
  
This document was authored by Mattias Gaertner
+
{{AutoCategory}}
Initial import and formatted for Lazarus-CCR - [[User:Tom | VlxAdmin]] 9/26/2003
 

Latest revision as of 13:50, 26 November 2017

Deutsch (de) English (en) español (es) français (fr) 日本語 (ja) русский (ru) slovenčina (sk) 中文(中国大陆)‎ (zh_CN)

Étendre l'IDE

Vue d'ensemble

L'IDE supporte plusieurs types de plugins :

Composants
Ce sont les éléments de la palette des composants. Par exemple, TButton peut être employé pour créer des boutons.
Éditeurs de composants
Les é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.
Éditeurs de propriétés
Ceux-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é.
Experts
Ceux-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.


Il y a deux possibilités pour ajouter vos propres plugins à Lazarus :

  1. écrire un paquet, l'installer et enregistrer les plugins dans la procédure «register» d'une unité ;
  2. étendre le code de Lazarus, et envoyer le fichier diff CVS(Concurrent Versions System) à la liste de courriel de Lazarus.

Écrire des 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 registres 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 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.

Exemples :

 Ajoutez votre traitement (ceci est normalement fait dans le constructeur de votre objet):
   GlobalDesignHook.AddHandlerComponentAdded(@YourOnComponentAdded);
Enlevez votre traitement : GlobalDesignHook.RemoveHandlerComponentAdded(@YourOnComponentAdded);
Vous pouvez enlever tous les traitements immédiatement. Par exemple, c'est une bonne idée d'ajouter cette ligne dans le destructeur de l'objet : GlobalDesignHook.RemoveAllHandlersForObject(Self);

Les traitements de GlobalDesignHook :

 // racine de consultation 
 ChangeLookupRoot
   Appelé quand le "LookupRoot" a changé. 
   Le "LookupRoot" est l'objet du propriétaire des composants actuellement choisis. 
   Normalement c'est un TForm. 
// méthodes CreateMethod GetMethodName GetMethods MethodExists RenameMethod ShowMethod Called MethodFromAncestor ChainCall
// composants GetComponent GetComponentName GetComponentNames GetRootClassName ComponentRenamed Appelé quand un composant a été renommé. ComponentAdded Appelé quand un nouveau composant a été ajouté au LookupRoot ComponentDeleting Appelé avant qu'un composant soit libéré. DeleteComponent Appelé par l'IDE pour supprimer un composant. GetSelectedComponents Obtenir le choix courant des composants.
// objets persistants GetObject GetObjectName GetObjectNames
// modifing Modified Revert RefreshPropertyValues

Ajouter de l'aide pour des sources

Créer d'abord un 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);