プログラムによるソリューションが機能していることは間違いありませんが、Eclipse 拡張ポイントを使用した別のソリューションを提案したいと思います。これは、この API の意図された使用方法だと思います。
拡張機能では、 はまったく必要ありませんDesktopExtension
。
mycore.client (Core Project)
|
\- Desktop
|
\- MyOutline
myext.client (Extended Project)
|
\- MyPage
MyOutline
extendsの場合、 (コアで定義された) に(拡張ポイントを使用して) を直接AbstractExtensibleOutline
追加することができます。MyPage
MyOutline
pageContribution
org.eclipse.scout.rt.extension.client.pages

テキストを表示するplugin.xml
と、クライアント エクステンション バンドル ( myext.client
) ファイルは次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<extension
point="org.eclipse.scout.rt.extension.client.pages">
<pageContribution
active="true"
class="myext.client.pages.MyPage"
order="1">
<outline
class="mycore.client.ui.desktop.outlines.MyOutline">
</outline>
</pageContribution>
</extension>
</plugin>
[順序] フィールドを使用すると、ページ リスト内の位置を指定できます (この方法で、リストの途中にページを挿入できます)。
次の方法で登録することもできます。
pageModification
pageRemoval
...あなたのニーズに応じて。
Menu
同じ方法で貢献する方法を説明したこのフォーラム投稿も確認してください: Multi Module - Menu Extension
Mars (バージョン 4.2 以降) では、拡張性のために別のメカニズムが導入されていることにも注意してください。詳細については、この Wiki ページを確認してください: Scout Concepts - Extensibility。
この新しいメカニズムは、Kepler (Scout 3.9) で導入したものよりも強力です。Mars バージョンは、新しい拡張パターンと古い拡張パターンの両方をサポートしています。長期的には新パターンのみの対応になると思います。