Extending the IDE/sk

From Free Pascal wiki
Revision as of 11:24, 26 March 2005 by Slavko (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Rozširovanie IDE

Úvod

IDE podporuje niekoľko typov pluginov:

Komponenty
Sú to položky Palety komponentov. Napríklad TButton môžete použiť na vytváranie tlačítiek.
Editory komponentov
Tieto sú použité pri dvojkliku na komponent v návrhu alebo pridaním niektorých ďalších položiek do kontextového menu návrhu, ktoré vyvoláte pravým kliknutím na komponent.
Editory vlastností
Tieto sú použité riadkymi v Object Inspectore.
Experti
Toto sú všetky ostatné typy.


Máte dve možnosti ako pridať svoj vlastný plugin do IDE Lazarus:

  1. Napíšte balíček, nainštalujte ho a registrujte svoj plugin v procedúre 'Register' jednotky.
  2. Rozšírte kód Lazarus a pošlite svoj CVS rozdiely do maillistu Lazarus.

Písanie komponentov

Vytvorte nový komponent pomocou Editora balíčkov.

Písanie editorov komponentov

Viz príklady v componenteditors.pas

Písanie editorov vlastností

Viz príklady v propedits.pp

Registrovanie obslúh udalostí

V IDE je niekoľko udalostí, pre ktoré môže plugin pridať svoju vlastnú obsluhu. V súbore propedits.pp sa nachádza objekt GlobalDesignHook", ktorý obsluhuje neikoľko udalostí pre navrhovanie. Každá udalosť volá zoznam obslúh. Predvolené obsluhy sú pridané samotným IDE. Svoje vlastné obsluhy môžete pridať pomocou metód AddHandlerXXX a RemoveHandlerXXX. Tieto budú volané pred predvolenými obsluhami.

Príklady:

 Pridanie svojej obsluhy (toto by mal vykonať konštruktor vášho objektu):
   GlobalDesignHook.AddHandlerComponentAdded(@YourOnComponentAdded);
 Odstránenie vašej obsluhy:
   GlobalDesignHook.RemoveHandlerComponentAdded(@YourOnComponentAdded);
 Môžete odstrániť všetky obsluhy naraz. Napríklad, je vhodé pridať do deštruktora objektu tentor riadok:
   GlobalDesignHook.RemoveAllHandlersForObject(Self);

Obsluhy GlobalDesignHook:

 // lookup root
 ChangeLookupRoot
   Je volaná pri zmene "LookupRoot". "LookupRoot" je vlastník objektu aktuálne vybratého komponentu. Zvyčajne to je TForm.
 // methods
 CreateMethod
 GetMethodName
 GetMethods
 MethodExists
 RenameMethod
 ShowMethod
 MethodFromAncestor
 ChainCall
 // components
 GetComponent
 GetComponentName
 GetComponentNames
 GetRootClassName
 ComponentRenamed
   Volaná pri premenovaní komponentu
 ComponentAdded
   Volaná pri priradní komponentu do LookupRoot
 ComponentDeleting
   VOlaná pred uvoľnením komponentu.
 DeleteComponent
   VOlaná pri odstráenní komponentu pomocou IDE.
 GetSelectedComponents
   Vracia aktuálny výber komponentov.
 // persistent objects
 GetObject
 GetObjectName
 GetObjectNames
 // modifing
 Modified
 Revert
 RefreshPropertyValues


Spolupracovníci a zmeny

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

  • Prvotný preklad - Slavko 02:24, 26 Mar 2005 (PST)