4DPop


このコンポーネントはデザインモードにパレットをインストールします。互換のあるコンポーネントがインストールされると、このパレットにツールが追加されていきます。

インストール

1. データベースのストラクチャファイル (".4db") と同階層に "Components" フォルダを作成します。
2. "4DPop.4dbase" フォルダまたはこのフォルダのエイリアスを "Components" に置きます。.
3. データベースを開きます。
4. "On Statup"データベースメソッドに "Install 4DPop" とタイプし、Tabキーを押すと、4DPopパレットをロードする以下のメソッドが挿入されます。

        `Run 4DPop
        `This code is available even if the component is not present like in the final application.
If (Not(Is compiled mode))
        ARRAY TEXT($tTxt_Components;0)
        COMPONENT LIST($tTxt_Components)
        If (Find in array($tTxt_Components;"4DPop")>0)
                EXECUTE METHOD("4DPop_Palette")
        End if
End if

5. データベースを再起動すると、デザインモードでスクリーンの左下にパレットが表示されます。

*Macintoshでは拡張子 "4dbase" のコンポーネントはパッケージです。

利用方法

ヘルプメニュー、あるいはパレットの "i" アイコンをクリックして、4DPopのヘルプを表示させることができます。

パレットはデザインモードで、スクリーンの左下に表示されます。パレットが閉じられている場合、ハンドルをドラッグすると開くことができます。

パレットが閉じられているときにハンドルをダブルクリックすると、パレットが開かれ、インストールされている4DPopコンポーネントに従ってサイズが調整されます。開かれたパレットのハンドルをダブルクリックすると、パレットは閉じられます。

互換のあるコンポーネントがインストールされていない場合、開かれたパレットには以下の画像が表示されます:

コンポーネントがインストールされていると、対応するボタンが表示されます。

  • ボタンをクリックすると、対応するツールが起動されるか、またはツールを選択するためのメニューが表示されます。
  • Optionキー (Mac OS) またはAltキー (Windows) を押しながらクリックすると、コンポーネントのヘルプファイルが開かれます (コンポーネントのストラクチャファイルと同階層にある"MyComponent.htm"ファイル)。

タイトルバーをクリックしてパレットを移動し、スクリーンの左または右に配置できます。パレットの位置は記憶されます。

パレットのタイトルバーにはコンテキストメニューが割り当てられています。ここからツールを選択したり、パレットに関するいくつかの機能にアクセスできます。

パレットに、新しい互換コンポーネントをドロップしてインストールできます。確認ダイアログが表示されたのち、エイリアスあるいはコピーが "Components" フォルダに作成され、データベースが再起動されます。

コンポーネントはアルファベット順に並べられます。コンポーネントの並び順を指定するためには、ファイルに "01" を追加するなどします。

互換コンポーネント

インタプリタやコンパイル済みのコンポーネントを4DPopのツールとして追加できます。ツールはコンポーネントの開発ルールに従っていなければなりません (ドキュメント参照)。

4DPopパレットへのコンポーネントの統合は、コンポーネントデータベースの "Extras" に "4DPop.xml" ファイルがあるかどうかで判断されます。このファイルには、キーや属性を使用して、コンポーネントの定義を記述します。

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<tools name=":xliff:Ruler" picture="Ruler.png" helptip=":xliff:ToolHelpTip" initProc="Init">
<tool name="Rulers" method="4DPop_ScreenRuler"/>
</tools>

タグ 説明
<tools></tools> ファイルの開始と終了 (必須タグ)

属性:
name: * ボタンの下に表示される名前 (必須)。
picture: ボタンのピクチャファイルの名前。このファイルはコンポーネントの "Resources" フォルダのルートに置かなければなりません (オプション、省略した場合デフォルトピクチャが使用されます)。
helptip: * ボタンに割り当てるヘルプTipテキスト。
initproc: ** ロード時に実行するコンポーネントメソッドの名前。
ondrop: ** ボタンにドロップされたときに実行するコンポーネントメソッドの名前。
default: ** 2つ以上のコンポーネントがインストールされているとき、ボタンがクリックされた際に実行するコンポーネントメソッド名。
popup: ボタンにリンクするポップアップメニューマークの表示フラグ。値: "True" (1つしか<tool>タグがない場合でもマークを表示する、以下参照)。

<tool></tool> ツールと属性定義の開始と終了

このタグは複数記述できます。<tool>タグが一つしかない場合、メソッドはボタンがクリックされると即座に実行されます。複数の<tool>タグがある場合、ボタンにリンクされたメニューマークが表示され、利用可能なツールがメニューとして表示されます。default 属性が定義されていると、クリックでメソッドが実行され、長いクリックやマークのクリックでツールのメニューが表示されます。

属性:
name: * ボタンに関連付けられたメニューに表示されるツールの名称 (複数の<tool>タグがある場合必須)
method: ** 実行するツールに対応するコンポーネントメソッド名 (必須)
picture: メニュー項目に関縁づけるピクチャ名。このファイルはコンポーネントの "Resources" フォルダになければなりません。

注: コンポーネントメソッドを使用してメニューを構築し表示することができます。この場合、1つの<tool>タグがコンポーネントメソッドを呼び出し、このメソッドでメニューの表示とユーザの選択を処理します。ボタンにメニューマークを表示させるために、<tools>タグのpopup属性に "True" を渡します。

* ":xliff:resname" シンタックスを受け入れます。文字列はコンポーネントのxliffファイルに定義されていなければなりません。表示される文字はローカライズされます。

** これらのメソッドは、コンポーネントデータベース内で、コンポーネントとホストデータベースで共有されるよう設定しなければなりません。
これらすべてのメソッドは引数として (パレットのボタンの) ポインタを受け取ります。このポインタはボタンの状態をテストしたり、ポップアップを正しく表示するために使用します。コンポーネントをコンパイルする場合は、4DPopから呼ばれるコンポーネントメソッドで、この引数を明示的に宣言しなければなりません [C_POINTER($1)] 。そうしないと、メソッドが呼び出されるたびにエラーが生成されます (-20008 - incorrect Parameters in a command EXECUTE).

ソースコード

このコンポーネントはコンパイル版で提供されますが、コンポーネントフォルダ内の"Sources" フォルダにはソースコードが含まれています。