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...)
 
Line 1: Line 1:
{{Extending the IDE}}
+
{{Étendre l'IDE}}
  
= Extending the IDE =
+
= Étendre l'IDE =
  
== Overview ==
+
== Vue d'ensemble ==
  
The IDE supports several types of plugins:
+
L'IDE soutient 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 items dans la palette composante. Pour un 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 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.  
  
; Property Editors : These are used by the rows in the object inspector.
+
; Éditeurs de propriété : Ceux-ci sont employés par les rangées dans l'inspecteur d'objet.  
  
; Experts : These are all other types.
+
; Experts : Ce sont tous les autres types.
  
  
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 vos plugins dans la procédure «registre» d'une unité.  
# Extend the lazarus code, and send your cvs diff to the lazarus mailing list.
+
# Prolonger le code de Lazarus, et envoyer votre fichier diff à partir de la version CVS à la mailing liste de Lazarus.  
  
== Writing components ==
+
== Écrire un 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 registre 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 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.  
  
Examples:
+
Exemples:
  
 
   Adding your handler (this is normally done in the constructor of your object):
 
   Adding your handler (this is normally done in the constructor of your object):

Revision as of 16:11, 8 July 2007

Template:Étendre l'IDE

É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:

  1. Écrire un paquet, l'installer et enregistrer vos plugins dans la procédure «registre» d'une unité.
  2. 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