- PR -

EclipseのLayoutを改造したい

1
投稿者投稿内容
しんい
ベテラン
会議室デビュー日: 2005/09/01
投稿数: 55
投稿日時: 2007-08-23 09:05
お世話になっております。

RCPアプリケーションを作成しているのですが、EditorやViewを最大化すると、MenuBar,CoolBar,StatusLine以外はすべて隠れてしまいます。
実現したいのは、EditorやViewを最大化しても、特定のControlは隠れない。つまりCoolBarやStatusLineのようなControlを作りたいのです。
また副次的に、Eclipse元来のCoolBarやStatusLineを取得して自由に操作したいと思っております。

おそらく、EditorやViewのエリアはSashFormをベースにしているのではないかと思います。従って、Viewに特殊な挙動を求めるのは難しいのではないかと思います。
そこで、EclipseのLayoutを改造して、Editor等のエリア外にControlを設置したいと考えました。
EclipseのLayoutはorg.eclipse.ui.internal.layout.TrimLayoutでした。
子コントロールは4つで、順に
CoolBar、StatusLine、不明(MenuBarと思われる)、Editor/Viewエリアです。
CoolBarとStatusLineはorg.eclipse.ui.internal.WindowTrimProxyというLayoutDataを持っていました。その他はnullです。

ここまで分かった時点で実験をしました。
@CoolBarやStatusLine等をWorkbenchWindow.getChildrenで取得し、削除しました。すると、不明(MenuBarと思われる)以外は通常通り削除できました。どうしても3つ目のControlだけは何が削除されたか分りません。

A新しく作ったControl(今回はComposite)にCoolBarのLayoutDataをセットし、CoolBarを削除(Dispose)してみました。なぜだかよく分りませんが、DisposeしたはずのCoolBarが復活してしまい、よくわからない状態になってしまいます。

フレームワークを使用する以上、一定の制限は存在すると思いますが、EclipseのLayoutについて参考になる情報やサイト等があれば、是非教えて頂きたいと思います。
また、認識が不足していたり、誤っている場合もご指摘頂ければありがたいです。

よろしくお願い致します。
朝日奈ありす
大ベテラン
会議室デビュー日: 2007/05/02
投稿数: 189
お住まい・勤務地: 最北の地
投稿日時: 2007-08-24 06:32
> 実現したいのは、EditorやViewを最大化しても、特定のControlは隠れない。つまりCoolBarやStatusLineのようなControlを作りたいのです。

Eclipse 3.3 をつかってみてとかいってみる。
しんい
ベテラン
会議室デビュー日: 2005/09/01
投稿数: 55
投稿日時: 2007-08-24 08:37
お世話になっております。

杏さん、ご返信ありがとうございました。
ちなみに、現状Eclipse3.3を使用しておるのですが、何かそういったControlが追加されておるのでしょうか。
知識不足で申し訳ございませんが、ご教授頂きたいと思います。

よろしくお願い致します。
1

スキルアップ/キャリアアップ(JOB@IT)