カスタム TabSetDelegate の実装によるタブのカスタマイズ
タブの表示アルゴリズムを変えることができます。TabSetDelegate クラスは、*actions.xml のタブとデータベースに保管されているタブをまとめるクラスです。RenderInfoPageModelTag は TabSetDelegate.getDefaultAndDynamicTabs() の出力を受け取って、クライアント上にタブを表示する JSON を出力します。コードはほぼ次のようになるはずです。
public class DefaultTabSetDelegate implements TabSetDelegate {
/**
* This is the main method to add the site, org and user tabs along side
* the default set that was in the action model.
*/
public NmHTMLActionModel getDefaultAndDynamicTabs() {…code here}
独自の TabSetDelegate クラスを追加するには、service.properties ファイルで次のように指定します。
<Service context="default" name="com.ptc.core.ui.tab.TabSetDelegate">
<Option serviceClass="com.ptc.core.ui.tab.your.package.
CustomizedClassDelegate"
requestor="infoPage" selector="wt.part.WTPart"/>
</Service>
セレクタにはタイプ wt.part.WTPart を指定しています。つまり、この委任は、WTPart の部品情報ページとそのすべてのソフトタイプで呼び出されます。