Difference between revisions of "Extending the IDE/fr"

From Free Pascal wiki
Jump to navigationJump to search
 
(8 intermediate revisions by 2 users not shown)
Line 5: Line 5:
 
== Vue d'ensemble ==
 
== Vue d'ensemble ==
  
L'IDE supporte plusieurs types de plugins:
+
L'IDE supporte 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.  
+
; 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 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 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é : Ceux-ci sont utilisés par les lignes de l'inspecteur d'objet.  
+
; É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 sont tous les autres 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.
  
  
Il y a deux possibilités pour ajouter vos propres plugins à Lazarus:  
+
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 «register» d'une unité.
+
# écrire un paquet, l'installer et enregistrer les plugins dans la procédure «register» d'une unité ;
# Etendre le code de Lazarus, et envoyer votre fichier diff CVS(Concurrent Versions System) à la liste de courriel de Lazarus.
+
# étendre le code de Lazarus, et envoyer le fichier diff CVS(Concurrent Versions System) à la liste de courriel de Lazarus.
  
 
== Écrire des Composants ==
 
== Écrire des Composants ==
Line 36: Line 36:
 
Conseil: voir le fichier propedits.pp pour des exemples  
 
Conseil: voir le fichier propedits.pp pour des exemples  
  
== Traiter les registre d'évènement ==
+
== 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 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.  
+
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:
+
Exemples :
  
   Ajouter votre traitement (ceci est normalement fait dans le constructeur de votre objet):
+
   Ajoutez votre traitement (ceci est normalement fait dans le constructeur de votre objet):
 
     GlobalDesignHook.AddHandlerComponentAdded(@YourOnComponentAdded);<br>   
 
     GlobalDesignHook.AddHandlerComponentAdded(@YourOnComponentAdded);<br>   
   Enlever votre traitement:  
+
   Enlevez votre traitement :  
 
     GlobalDesignHook.RemoveHandlerComponentAdded(@YourOnComponentAdded);<br>
 
     GlobalDesignHook.RemoveHandlerComponentAdded(@YourOnComponentAdded);<br>
 
   Vous pouvez enlever tous les traitements immédiatement.
 
   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:  
+
   Par exemple, c'est une bonne idée d'ajouter cette ligne dans le destructeur de l'objet :  
 
     GlobalDesignHook.RemoveAllHandlersForObject(Self);
 
     GlobalDesignHook.RemoveAllHandlersForObject(Self);
  
Line 73: Line 73:
 
   GetRootClassName
 
   GetRootClassName
 
   ComponentRenamed
 
   ComponentRenamed
     Appelé quand un composant a été renommé
+
     Appelé quand un composant a été renommé.
 
   ComponentAdded
 
   ComponentAdded
 
     Appelé quand un nouveau composant a été ajouté au LookupRoot  
 
     Appelé quand un nouveau composant a été ajouté au LookupRoot  
 
   ComponentDeleting
 
   ComponentDeleting
     Appelé avant q'un composant soit libéré.  
+
     Appelé avant qu'un composant soit libéré.  
 
   DeleteComponent
 
   DeleteComponent
 
     Appelé par l'IDE pour supprimer un composant.  
 
     Appelé par l'IDE pour supprimer un composant.  
Line 106: Line 106:
 
                                   '*.pp;*.pas',false);// and once as normal page
 
                                   '*.pp;*.pas',false);// and once as normal page
 
   HelpDB.RegisterItem(DirectoryItem);
 
   HelpDB.RegisterItem(DirectoryItem);
 +
 +
 +
 +
{{AutoCategory}}

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);