Extending the IDE/ja
│
Deutsch (de) │
English (en) │
español (es) │
français (fr) │
日本語 (ja) │
русский (ru) │
slovenčina (sk) │
中文(中国大陆) (zh_CN) │
IDEを拡張する
概要
IDEはいくつかのプラグインをサポートしています。
- コンポーネント
- コンポーネントパレット上にアイコンとして現れます。と問えば、TButtonはボタンを作るのに使われます。
- コンポーネントエディタ
- コンポーネントエディタはコンポーネントを設計時にダブルクリックしたり、設計時にコンポーネント上で右クリックで表示されるポップアップメニューにいくつかの項目を追加するときに使われます。
- プロパティエディタ
- オブジェクトインスペクタの行で使われます。
- エキスパート
- その他の全てです。
Lazarusに独自のプラグインを追加するには、2つの方法があります。
- パッケージを書く方法, 自分でプラグインを書いて、そのユニットの'Register'手続きを使います。
- Lazarusのコードを拡張して、差分をlazarusのメーリングリストへ送る方法。
コンポーネントを作成する
ToDo Hint: Create a new component via the package editor.
コンポーネントエディタを作成する
ToDo Hint: see componenteditors.pas for examples
プロパティエディタを作成する
ToDo Hint: see propedits.pp for examples
イベントハンドラを登録する
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.
Examples:
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
ソースのヘルプを追加する
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);
最初の製作者と変更
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