Main Content

コンポーネントが実行するタスクの指定

コンポーネントのカスタマイズについて

コンポーネントをビルドすると、MATLAB® ファイルが MATLAB ワークスペース内に作成されます。コンポーネントが実行するタスクを指定するには、これらの MATLAB ファイルを編集します。

メモ

execute.m を編集して、レポートの出力の形式とコンテンツを "必ず" 指定しなければなりません。このファイルはレポート生成中に呼び出され、コンポーネントのタスクを呼び出します。必要に応じて、他の MATLAB ファイルを編集して、追加のコンポーネントのプロパティと動作を指定できます。

詳細については、次の各節を参照してください。

必要なカスタマイズ: レポートの出力の形式とコンテンツの指定

コンポーネントをビルドしたら、execute.m ファイルを編集してレポートの出力の形式とコンテンツを指定します。

execute コマンドは次の構文を使用します。

out = execute(thisComp, parentDoc)

ここで、

  • thisComp は実行しているコンポーネントのハンドルです。

  • parentDoc は生成しているドキュメントのハンドルです。

  • out は、レポートに追加するドキュメント オブジェクト モデル (DOM) ノードまたは文字列です。

    DOM ノードの操作の詳細については、MATLAB ドキュメンテーションの xmlwrite を参照してください。

execute.m ファイル内のコードの 1 行以上の既定行には、コンポーネントのプロパティが個々に示されます。execute.m ファイル内のコンポーネントのプロパティ行の例を次に示します。

pstring = thisComp.NewStringProperty;  % New string property;

以下の節では、execute.m を編集し、追加のレポート要素を作成する方法を説明します。

テーブルの作成

テーブルを作成するには、Source プロパティ値を cell 配列または構造体の名前に置き換えます。

out = execute(rptgen.cfr_table(...
'Source', tableSrc,...
'numHeaderRows',1,...
'TableTitle','Example Title'),...
 parentDoc);

詳細については、MATLAB コマンド ラインで「help(rptgen.cfr_table)」と入力してください。

リストの作成

リストを作成するには、Source プロパティ値を cell ベクトルの名前に置き換えます。

out = execute(rptgen.cfr_list(...
'Source', listSrc,...
'ListStyle','orderedlist',...
'ListTitle','Example List'),...
 parentDoc);

詳細については、MATLAB コマンド ラインで「help(rptgen.cfr_list)」と入力してください。

テキストの作成

テキストを作成するには、ParaText プロパティ値を文字ベクトルに置き換えます。

out = execute(rptgen.cfr_paragraph(...
'ParaText', paraSrc,...
 parentDoc);

詳細については、コマンド ラインで「help(rptgen.cfr_paragraph)」と入力してください。

Figure の作成

Figure を作成するには、FigureHandle プロパティ値で Figure を指定します。

figSrc = gcf;
out = execute(rptgen_hg.chg_fig_snap(...
'FigureHandle', figSrc,...
'Title', '',...
'isResizeFigure', 'manual',...
'PrintSize', [6 4],...
'PrintUnits', 'inches'),...
 parentDoc);

詳細については、MATLAB コマンド ラインで「help(rptgen_hg.chg_fig_snap)」と入力してください。

子コンポーネントの実行

以下のコードは子コンポーネントを実行します。1 行目は、子コンポーネントに対して execute.m を呼び出します。2 行目は、子コンポーネントを実行した結果をレポートに追加します。

childOut = thisComp.runChildren(parentDoc);
out = parentDoc.createDocumentFragment(out, childOut);

レポート エクスプローラー階層内のコンポーネントのアウトライン テキストの変更

レポート エクスプローラーの階層内でコンポーネントの説明に使用される文字列を変更するには、getOutlineString MATLAB ファイルを編集します。既定では、getoutlinestring はコンポーネントの表示名を返します。getOutlineString コマンドは次の構文を使用します。

olstring = getOutlineString(thisComp) 

ここで、

  • thisComp は、指定している説明をもつコンポーネントです。

  • olstring は、コンポーネントに関する情報を表示する 1 行です。これには、最大 32 文字を含めることができます。

文字列をカスタマイズし、コンポーネントに関する追加の情報 (プロパティについての情報など) を含めます。次の例では、関数 truncatestring で入力データを 1 行の文字ベクトルに変換しています。データが空の場合は、2 番目の引数が戻り値になります。3 番目の引数は結果として得られる文字ベクトルで許容される最大サイズです。

cInfo = '';
pstring = rptgen.truncateString(thisComp.string,'<empty>',16);

次のように、名前と追加のコンポーネント情報の区切り文字としてダッシュ (-) を使用します。

if ~isempty(cInfo)
   olstring = [olstring, '-', cInfo];
end

プロパティ ダイアログ ボックスの外観の変更

getdialogschema.m ファイルを編集して、以下のようなダイアログ ボックスのレイアウトの多くの側面を制御できます。

  • ウィジェットの作成と配置

  • ペインでのウィジェットの整理

  • ペインを内部に含む最上部の表示の作成

このコマンドの構文は、次のようになります。

dlgstruct = getdialogschema(thisComp, name)

ここで、

  • thisComp は、編集しているコンポーネントのインスタンスです。

  • name は、特定のタイプのペインを作成するために getdialogschema に渡される文字ベクトルです。レポート エクスプローラーでは、通常、name は空です。

メモ

このファイルに明示的に含まれていないフィールドは変更しないでください。これらのフィールドは、今後のリリースで変更される可能があります。

追加のコンポーネントのプロパティの指定

追加の MATLAB ファイルを編集し、コンポーネントをさらにカスタマイズできます。これらのファイルにアクセスするには、レポート エクスプローラーの左側のアウトライン ペインでコンポーネントを右クリックし、コンテキスト メニューから [ファイルの編集] を選択します。

詳細については、次の各節を参照してください。

コンポーネントが子コンポーネントをもつことが可能かどうかの指定

コンポーネントが子をもつことが可能かどうかを指定するには、getParentable.m を編集します。このコマンドは、値 true または false を返します。たとえば、コンポーネントが子コンポーネントをもたないようにする場合は、コード内の値を以下のように変更します。

p = false;

コンポーネントの説明の変更

getDescription.m 内の説明は、レポート エクスプローラーの [説明] フィールドと同じ値です。次の例は、このファイルの compDesc 値を編集し、コンポーネントの説明を An example component に変更する方法を示します。

compDesc = 'An example component';

コンポーネントの表示名の変更

getName.m 内の表示名は、レポート エクスプローラーの [表示名] フィールドと同じ値です。次の例は、このファイルの compName 値を編集し、コンポーネントの表示名を Example Component に変更する方法を示します。

compName = 'Example Component';

コンポーネント カテゴリ名の変更

getType.m 内のカテゴリ名は、レポート エクスプローラーの [カテゴリ名] フィールドと同じ値です。次の例は、このファイルの compCategory 値を編集し、コンポーネントのカテゴリ名を Custom Components に変更する方法を示します。

compCategory = 'Custom Components';

コンポーネントの登録

レポート エクスプローラーでは、rptcomps2.xml を使用してコンポーネントを登録できます。このファイルは、利用可能なコンポーネントのリストの作成にも役立ちます。

このファイルのコンテンツは、getName.m ファイルおよび getType.m ファイルの値と一致しなければなりません。これらのいずれかのファイルの値を変更した場合は、rptcomps2.xml のそれぞれの値も変更する必要があります。レポート エクスプローラーで新しい情報を表示するには、MATLAB ソフトウェアのセッションを再起動しなければなりません。

MATLAB ヘルプ ブラウザーでのコンポーネントのヘルプの表示

viewHelp.m ファイルは、コンポーネントのヘルプ ファイルを MATLAB ヘルプ ブラウザー内で表示します。ヘルプ ファイルを表示するには、レポート エクスプローラーでコンポーネントの名前を強調表示し、[ヘルプ] をクリックします。