Components 要素は、1 つのバージョンのプラグインを構成するコンポーネントを指定するために使用されます。
複数の Components 要素を使用して、プラグインのコンポーネントを識別できます。各 Components 要素で、1 つまたは複数のコンポーネントを識別できます。Components 要素のプラットフォームと製品に関する情報は RuntimeRequirements 要素で定義します。
Components 要素内に定義されたすべてのコンポーネントが同じプラットフォームに適用されている場合、それぞれ個々の ComponentEntry 要素に RuntimeRequirements 要素を追加する必要はありません。
Components 要素には、RuntimeRequirements 要素と共に 1 つまたは複数の次の要素を含めることができます。
次に、Components 要素と、それに含めることができる要素との基本的な関係の概要を示します。
<Components> <RuntimeRequirements ... /> <RegistryEntries> <RegistryEntry ... /> </RegistryEntries> <SystemVariables> <SystemVariable ... /> </SystemVariables> <EnvironmentVariables> <EnvironmentVariable ... /> </EnvironmentVariables> <ComponentEntry ... > <RuntimeRequirements ... /> </ComponentEntry> <ComponentEntry ... /> <Commands ...> <Command ... /> </Commands> </Components>
ComponentEntry 要素は必須であり、Components 要素内の個々のコンポーネントの詳細を指定するために使用します。
必要に応じて任意の数の ComponentEntry 要素を指定できます。コンポーネント タイプは、次のいずれかのファイル形式です。
Windows と Mac OS
Windows のみ
LoadReasons 属性を LoadOnCommandInvocation に設定する場合、ComponentEntry 要素に Commands 要素を含めることができます。
ComponentEntry 要素には、次の任意の属性を付加できます。
属性 |
説明 |
---|---|
AppName |
AutoLISP の場合はオプション。ObjectARX および .NET の場合は必須。コンポーネント名です。ObjectARX API の AcadAppInfo クラスの AppName と同じです。 |
AppDescription |
コンポーネントの説明です。ObjectARX API の AcadAppInfo クラスの AppDescription と同じです。 |
AppType |
コンポーネント タイプです。ModuleName 属性に指定されているファイル拡張子から派生したタイプよりも優先されます。 コンポーネント タイプは次のいずれかです。
|
ModuleName |
バンドル内のコンポーネントへの相対パスです。ObjectARX API の AcadAppInfo クラスの ModuleName と同じです。 コンポーネント タイプはファイルの拡張子から判断されます。
アプリケーションで複数の言語を処理する場合、異なるバージョンの各コンポーネントを指定するには、ModuleName とロケール コードを組み合わせます。サポートされているロケール コードの一覧については、「サポートされているロケール コード リファレンス」を参照してください。 注: すべてのパス指定子は「¥」ではなく「/」です。また、パスはルートの .bundle フォルダへの相対パスです。
|
PerDocument |
AutoLISP のみ。True の場合、ドキュメントにつき 1 度 AutoLISP ファイルがロードされます。既定は True です。 |
Loadreasons |
複数の値を指定できます。LoadReasons を使用するコンポーネントのロード動作パラメータ、および LoadOnCommandInvocation パラメータによるその例外を定義します。 LoadReasons が指定されていない場合、既定で LoadOnAutoCADStartup、LoadOnAppearance、および LoadOnProxy が有効です。パラメータを無効にする(False に設定する)必要がある場合、False に設定したパラメータと共に LoadReasons 要素を指定する必要があります。 既定で LoadOnCommandInvocation は無効です。有効にすると、LoadOnAutoCADStartup と LoadOnAppearance が明示的に有効にされていない場合は無効になります。1 つまたは複数のコマンドの要素が Components 要素の一部として定義されている場合、LoadOnCommandInvocation は暗黙的に有効になります。 AcadAppInfo LoadReasons の詳細については、『ObjectARX Reference Guide』を参照してください。 有効なパラメータ値:
次のパラメータを使用できます。
|
XamlType |
XAML タイプ。現在、サポートされている値は "ContextualTabRule" のみで、XAML ファイルを ModuleName 属性に割り当てる場合に必要です。XAML ファイルを使用するアプリケーション ファイルは、XAML ファイルを含む ComponentEntry 要素の後に一覧表示されます。 |
RegistryEntries 要素は省略可能で、1 つまたは複数の RegistryEntry 要素を含めることができます。RegistryEntry 要素には、プラグインを作成または修正するレジストリ エントリの定義が含まれます。レジストリ エントリは、Windows のレジストリまたは Mac OS のプロパティ リスト(PLIST)ファイルに格納されます。
属性 |
説明 |
---|---|
Name |
作成または修正するレジストリ エントリの名前。 |
Value |
レジストリ エントリに割り当てる値。 値には次の接頭演算子(省略可能)を含めることができます: +、-、&、|。 詳細は、「変数値の接頭演算子」を参照してください。 注: 値がレジストリ エントリに適用された場合、接頭演算子は保持されません。
|
Type |
レジストリ エントリに割り当てるデータ タイプ。既存のレジストリ エントリを修正する場合は省略可能。 有効な値は次のとおりです。
レジストリ エントリの値の一部として接頭演算子を使用した場合は、適切なデータ タイプを指定する必要があります。適切なデータ タイプが使用されていない場合、演算は文字列の演算として扱われます。 |
Flags |
省略可能、作成および修正フラグ。複数のフラグを指定することができます。各フラグを区切るには、パイプ記号を使用します。 次のフラグがサポートされています。
注: Open または OpenOnce フラグは、レジストリ エントリの値を修正するために使用する必要があります。
|
次の例は、レジストリ キー MYREGKEY を作成して、値 STRING と NUMBER を追加します。
<RegistryEntries> <RegistryEntry Key="MYREGKEY" Name="STRING" Value="Example" Type="REG_SZ" /> <RegistryEntry Key="MYREGKEY" Name="NUMBER" Value="123" Type="REG_DWORD" /> </RegistryEntries>
SystemVariables 要素は省略可能で、1 つまたは複数の SystemVariables 要素を含めることができます。SystemVariable 要素には、プラグインを作成または修正するシステム変数の定義が含まれます。
属性 |
説明 |
---|---|
Name |
作成または修正するシステム変数の名前。 |
Value |
変数に割り当てる値。 値には次の接頭演算子(省略可能)を含めることができます: +、-、&、|。 詳細は、「変数値の接頭演算子」を参照してください。 注: 値が変数に適用された場合、接頭演算子は保持されません。
|
PrimaryType |
変数に割り当てるデータ タイプ。既存のシステム変数を修正する場合は省略可能。 有効な値は次のとおりです。
変数の値の一部として接頭演算子を使用した場合は、適切なデータ タイプを指定する必要があります。適切なデータ タイプが使用されていない場合、演算は文字列の演算として扱われます。 |
StorageType |
変数の値を格納する場所。保持する場合。既存のシステム変数を修正する場合は省略可能。 有効な値は次のとおりです。
|
Owner |
省略可能。AcRX サービス名。 システム変数を読み込み専用にするために使用され、acrxRegisterService() を使用してサービス名を登録したアプリケーションによってのみ修正できます。 |
Flags |
省略可能、作成および修正フラグ。複数のフラグを指定することができます。各フラグを区切るには、パイプ記号を使用します。 次のフラグがサポートされています。
注: Open または OpenOnce フラグは、変数の値を修正するために使用する必要があります。
|
次の例は、MYVARIABLE という名前のシステム変数を作成します。
<SystemVariable Name="MYVARIABLE" PrimaryType="String" StorageType="User" Value="Example" Owner="" Flags="Create|DotIsEmpty|SpacesAllowed" />
次の例は、初めてプラグインがロードされたときに、システム変数 CURSORSIZE の値を 100 に変更します。
<SystemVariable Name="CURSORSIZE" Value="100" Flags="OpenOnce" />
EnvironmentVariables 要素は省略可能で、1 つまたは複数の EnvironmentVariable 要素を含めることができます。EnvironmentVariable 要素には、プラグインを作成または修正する環境変数の定義が含まれます。環境変数は、Windows のレジストリまたは Mac OS のプロパティ リスト(PLIST)ファイルに格納されます。
属性 |
説明 |
---|---|
Name |
作成または修正する環境変数の名前。 |
Value |
変数に割り当てる値。 値には次の接頭演算子(省略可能)を含めることができます: +、-、&、|。 詳細は、「変数値の接頭演算子」を参照してください。 注: 値が変数に適用された場合、接頭演算子は保持されません。
|
Type |
省略可能。Value のデータ タイプ。 有効な値は次のとおりです。
変数の値の一部として接頭演算子を使用した場合は、適切なデータ タイプを指定する必要があります。適切なデータ タイプが使用されていない場合、演算は文字列の演算として扱われます。 |
Flags |
省略可能、作成および修正フラグ。複数のフラグを指定することができます。各フラグを区切るには、パイプ記号を使用します。 次のフラグがサポートされています。
注: Open または OpenOnce フラグは、変数の値を修正するために使用する必要があります。
|
次は、MYNUMVAR および MYSTRVAR という名前の 2 つの環境変数を作成する例です。
<EnvironmentVariables> <EnvironmentVariable Name="MYNUMVAR" Value="123" /> <EnvironmentVariable Name="MYSTRVAR" Value="Example" /> </EnvironmentVariables>
接頭演算子は、プラグインがロードされたときに、変数の現在の値を修正するために使用します。次の表に一覧表示されている接頭演算子のいずれかを、RegistryEntry、SystemVariable、または EnvironmentVariable 要素の Value 属性に追加することができます。
接頭語 |
説明 |
---|---|
+ (プラス符号) |
既存の変数の値に値を追加または末尾に追加します。 Int16、Int32, Real: 既存の変数の値に Value を追加します。 String: 既存の変数の値の末尾に Value を追加します。 |
- (ハイフン) |
既存の変数の値から値を差し引く、または除去します。 Int16、Int32、Real: 既存変数の値から Value を差し引きます。 String: 既存の変数の値から Value を除去します。 |
& (アンパサンド) |
変数の既存の値に対するビット方式の AND 演算。数値のみがサポートされています。 |
| (パイプ記号) |
変数の既存の値に対するビット方式の OR 演算。数値のみがサポートされています。 |
次の例では、定常オブジェクト スナップ END、MID、CEN、NOD、QUA、INT が常に有効になり、他のすべてのオブジェクト スナップは現在の設定が保持されます。
<SystemVariable Name="OSMODE" Value="|63" Flags="Open" />
LoadReasons 属性に対して LoadOnCommandInvocation パラメータが有効な場合を除き、Commands 要素は省略可能です。LoadOnCommandInvocation に対して登録するコマンドを指定するために使用されます。
必要に応じて複数の Command 要素を指定できます。
Commands 要素には次の属性を付加できます。
属性 |
説明 |
---|---|
GroupName |
関連しあうコマンドをグループ化するために使用する名前です。 |
各コマンドのグローバル名とローカル名を指定します。
Command 要素には、次の任意の属性を付加できます。
属性 |
説明 |
---|---|
Global |
グローバル コマンド名です。 |
Local |
ローカル コマンド名です。 複数の言語についてコマンドを定義するには、Local とローカル コードを組み合わせます。サポートされているロケール コードの一覧については、「サポートされているロケール コード リファレンス」を参照してください。 |
HelpTopic |
コマンドがアクティブで[F1]が押されたときに表示されるヘルプ トピック。 注: ヘルプ トピックを表示するには、ヘルプ ファイルをプラグインに割り当てる必要があります。プラグインのヘルプ ファイルの場所は、ApplicationPackage 要素領域の HelpFile 属性で指定します。
|
StartupCommand |
True の場合、起動時にコマンドが実行されます。 |