メインコンテンツ

組み込み Web ビュー レポートのハイパーリンクの作成

この例では、slreportgen.webview.EmbeddedWebViewDocument クラスの以下のメソッドを使用して、ドキュメント ペインとレポートに組み込まれた Web ビューとの間に一方向および双方向のハイパーリンクを作成する方法を説明します。

  • createDiagramTwoWayLink — ドキュメントの場所と組み込み Web ビューのブロック線図との間に双方向のリンクを作成します。リンクをドキュメント内でクリックすると、ターゲットのブロック線図が Web ビューで開きます。ブロック線図内でクリックすると、ドキュメント ペインがドキュメント内の目的の場所までスクロールします。

  • createElementTwoWayLink — ドキュメントの場所と組み込み Web ビューのブロック線図の要素との間に双方向のリンクを作成します。リンクをドキュメント内でクリックすると、モデル要素を含むブロック線図が開き、その要素が一時的に強調表示されます。ブロック線図内で要素をクリックすると、ドキュメント ペインがドキュメント内の目的の場所までスクロールします。

  • createDiagramLink — ドキュメントから組み込み Web ビューのブロック線図へのリンクを作成します。

  • createElementLink — ドキュメントから組み込み Web ビューのブロック線図の要素へのリンクを作成します。

組み込み Web ビュー レポートのクラスの作成

createDiagramTwoWayLinkcreateElementTwoWayLink を使用して、組み込み Web ビュー レポート内にドキュメント ペインと組み込み Web ビューとの間の双方向リンクを作成する fillcontent メソッドを含む、TwoWayLinkWebView という名前のクラスを作成します。

classdef TwoWayLinkWebView < slreportgen.webview.EmbeddedWebViewDocument

    methods
        function wvdoc = TwoWayLinkWebView(reportPath,modelName)
            % Invoke the EmbeddedWebViewDocument constructor, which
            % saves the report path and model name for use by the fill
            % methods of the report.
            wvdoc@slreportgen.webview.EmbeddedWebViewDocument( ...
                reportPath,modelName);
        end

        function fillContent(wvdoc)
            % Fill the Content hole in the report template with design
            % variable information. Use DOM or Report API methods to
            % create, format, add, and append content to this report.

            [~, handles] = getExportDiagrams(wvdoc);

            n = numel(handles);
            for i = 1:n
                diagHandle = handles{i};
                diagHeading = createDiagramTwoWayLink(wvdoc, ...
                    diagHandle, ...
                    mlreportgen.dom.Heading(2, ...
                        get_param(diagHandle,"Name")));
                append(wvdoc,diagHeading);

                blockFinder = slreportgen.finder.BlockFinder( ...
                    diagHandle);

                while hasNext(blockFinder)
                    r = next(blockFinder);
                    elemHandle = r.Object;
                    elemHeading = createElementTwoWayLink(wvdoc, ...
                        elemHandle, ...
                        mlreportgen.dom.Heading(3, ...
                            get_param(elemHandle,"Name")));
                    append(wvdoc,elemHeading);
                end

            end
        end
    end
end

ドキュメント パネルから組み込み Web ビューへの一方向リンクを作成するには、createDiagramTwoWayLinkcreateDiagramLink に、createElementTwoWayLinkcreateElementLink に置き換えます。

組み込み Web ビュー レポートの作成

sf_car モデルの組み込み Web ビュー レポートを作成し、レポート内の双方向リンクをテストするには、以下を行います。

1.MATLAB コマンド ウィンドウで次のように入力します。

model_name = "sf_car";
load_system(model_name);
wvdoc = TwoWayLinkWebView("myReport",model_name);
open(wvdoc);
fill(wvdoc);
close(wvdoc);
rptview(wvdoc);

2.ドキュメント ペインで、ブロック線図名をクリックします。たとえば、"Engine" をクリックします。組み込み Web ビューには、関連付けられた図が表示されます。

3.組み込み Web ビューのエクスプローラー バーで sf_car をクリックします。組み込み Web ビューに sf_car ブロック線図が表示され、ドキュメント ペインでそのブロック線図名が一時的に強調表示されます。

4.ドキュメント ペインで、要素名をクリックします。たとえば、"Inputs" をクリックします。組み込み Web ビューで Inputs ブロックが強調表示されます。

5.組み込み Web ビューで Vehicle ブロックをダブルクリックします。ドキュメント ペインでその要素名が一時的に強調表示されます。

組み込み Web ビュー ジェネレーターを作成する他のタスクについては、以下を参照してください。

組み込み Web ビュー レポートを生成する方法の詳細については、組み込み Web ビュー レポートの生成を参照してください。

参考

トピック