Eclipse 3.1 RC2 では、双方向言語サポートが完備され、JFace およびワークベンチがサポートされる予定です。双方向言語は、コンテキストに基づいて、 右から左、および左から右の両方向に書き込み可能な言語です。Eclipse は、デフォルトではヘブライ語、アラビア語、ペルシャ語、およびウルドゥー語を認識します。
以下の方法 (優先順位順) のいずれか 1 つが該当する場合、ワークベンチの方向は反転します。
これらの値は、org.eclipse.jface.Window#setDefaultOrientation() を呼び出すために使用されます。 ウィンドウのすべてのサブクラスおよびそれらのウィンドウの子は、指定された方向を取ります。デフォルトの方向は SWT#NONE です。
ビューおよびエディターは、デフォルトではそれぞれの親のウィンドウの方向を継承します。ダイアログは、super#getShellStyle を呼び出してそれぞれの方向を設定するときに、それぞれの親の shellStyle を使用して方向を継承します。
図 1 - リソース・パースペクティブの右から左の方向のスクリーン・ショット
多くの場合、右から左のモードではアイコンは意味をなさなくなります。この問題は、特に、編集に関係するすべてのアイコンに共通しています。フラグメント内のイメージ検索を使用可能にする方法は、パス内の $nl$ を使用可能にし、プラットフォーム・バンドル・サポートを使用してアイコン・ファイルを探すだけです。
次に例を示します。
String iconPath = "$nl$/icons/myicon.gif";
URL url = Platform.find( Platform.getBundle(MyPluginId), new Path(iconPath));
Image Descriptor descriptor = ImageDescriptor.createFromURL(url);
アイコン参照が plugin.xml 内にある場合は、$nl$ 接頭部がパスにあることを確認してください。アイコン参照がワークベンチで定義されている拡張ポイントである場合は、検索が処理されます。このように ImageDescriptors がロードされる独自の拡張ポイントを作成していることを確認してください。
オーバーライドするアイコンを選択する方法に、厳密な決まりはありません。一般的な方法では、水平矢印を使用してテキストの方向を暗示しているアイコンに焦点を合わせます。