Difference between revisions of "Extending the IDE/ja"

From Lazarus wiki
Jump to navigationJump to search
Line 1: Line 1:
{{Extending the IDE}}
{{Extending the IDE}}
= Extending the IDE =
{{Japanese Menu}}
== Overview ==
= IDEを拡張する =
== 概要 ==
The IDE supports several types of plugins:
The IDE supports several types of plugins:
Line 21: Line 23:
# Extend the lazarus code, and send your cvs diff to the lazarus mailing list.
# Extend the lazarus code, and send your cvs diff to the lazarus mailing list.
== Writing components ==
== コンポーネントを作成する ==

Revision as of 04:31, 6 January 2008

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

メインページ - Lazarus Documentation日本語版 - 翻訳ノート - 日本語障害情報



The IDE supports several types of plugins:

These are the items in the component palette. For a example TButton can be used to create Buttons.
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.
Property Editors
These are used by the rows in the object inspector.
These are all other types.

There are two possibilities to add your own plugins to Lazarus:

  1. Write a package, install it and register your plugins in the 'Register' procedure of a unit.
  2. Extend the lazarus code, and send your cvs diff to the lazarus mailing list.


ToDo Hint: Create a new component via the package editor.

Writing component editors

ToDo Hint: see componenteditors.pas for examples

Writing property editors

ToDo Hint: see propedits.pp for examples

Register event handlers

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.


 Adding your handler (this is normally done in the constructor of your object):
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
   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:

                  'Package1 - A new package',
 HelpDB.TOCNode:=THelpNode.Create(HelpDB,FPDocNode);// once as TOC
                                 '*.pp;*.pas',false);// and once as normal page

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