Sign in Join
Wiki copytemporary

Revision 2 of 4, by WikiArchive on 11-4-2026. The page as it is now.

Extending the IDE/ja

日本語版メニュー

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

Contents

IDEを拡張する

概要

IDEはいくつかのプラグインをサポートしています。

コンポーネント コンポーネントパレット上にアイコンとして現れます。と問えば、TButtonはボタンを作るのに使われます。

コンポーネントエディタ コンポーネントエディタはコンポーネントを設計時にダブルクリックしたり、設計時にコンポーネント上で右クリックで表示されるポップアップメニューにいくつかの項目を追加するときに使われます。

プロパティエディタ オブジェクトインスペクタの行で使われます。

エキスパート その他の全てです。

Lazarusに独自のプラグインを追加するには、2つの方法があります。

  1. パッケージを書く方法, 自分でプラグインを書いて、そのユニットの'Register'手続きを使います。
  1. 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

イベントハンドラを登録する

IDEにはいくつかのイベントがあり、それに対してプラグインは独自のハンドラを追加することができます。propedits.pp で、"GlobalDesignHook"オブジェクトがあります。これは、設計時のイベントを管理します。各々のイベントはハンドラーのリストを呼び出します。デフォルトのハンドラーはIDEから追加されています。あなたは独自のハンドラを、AddHandlerXXXやRemoveHandlerXXX手続きを使って登録できます。それらは、デフォルトのハンドラの前に呼び出されます。

例:

pascal
独自��ンドラを追加���。(通常�����作���オブジェクト�コンストラクタ�������。):
       GlobalDesignHook.AddHandlerComponentAdded(@YourOnComponentAdded);
pascal
独自��ンドラを�り除���:
       GlobalDesignHook.RemoveHandlerComponentAdded(@YourOnComponentAdded);
pascal
�����ンドラを一度�削除�る��も����。�����次�行をオブジェクト�デストラクタ�追加�る�も良���ょ�。:
       GlobalDesignHook.RemoveAllHandlersForObject(Self);

GlobalDesignHookのハンドラです:

pascal
// 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

ソースのヘルプを追加する

THelpDatabaseを最初に作りましょう:

pascal
HelpDB:=TFPDocHTMLHelpDatabase(
        HelpDatabases.CreateHelpDatabase('ANameOfYourChoiceForTheDatabase',
                                                TFPDocHTMLHelpDatabase,true));
     HelpDB.DefaultBaseURL:='<http://your.help.org/'>;
pascal
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


From the Free Pascal wiki, page "Extending the IDE/ja", as the Internet Archive kept it on 2023-03-27. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.