ページ更新: 2004-12-10 (金) (6623日前)
関連: eclipse/SWT/情報源 グラフィクスのリソースリークを調べるために使うツール。 単体のコードと、eclipse plugin (S-leak ビューが使える) がある。 [編集]Sleak #
アプリケーションのメニューで呼び出せるようにしてみた (2004-12-10) #試しに、Sleak (ViewCVS) をアプリケーションから呼び出せるようにしてみた。 [編集]1. SleakAdapterを作成 #アプリケーションから呼び出すために、Sleakと同じパッケージにSleakAdapterクラスを作成。 package org.eclipse.swt.tools.internal; public class SleakAdapter { Sleak sleak; public SleakAdapter(Sleak sleak) { this.sleak = sleak; } public Sleak getSleak() { return sleak; } public void open() { sleak.open(); } public void setActive() { sleak.shell.setActive(); } public boolean isVisible() { return (sleak.shell != null) && sleak.shell.isVisible(); } public boolean isDisposed() { return (sleak.shell == null) || sleak.shell.isDisposed(); } }[編集] 2.アプリケーションの new Display() のを変更 #変更前 display = new Display(); 変更後 DeviceData data = new DeviceData(); data.tracking = true; display = new Display(data); this.sleak = new SleakAdapter(new Sleak());[編集] 3. SleakのWindowを表示するコードを作成 #こいつを実行してやれば、Sleakのウィンドウが開く。 if(!sleak.isDisposed() && shell.isVisible()) { sleak.setActive(); } else { sleak.open(); }[編集] 自前でやる場合 (2005-07-19) #自前で同じことをするなら、Displayを次のようにして作成して: final DeviceData data = new DeviceData(); data.tracking = true; display = new Display(data); DeviceData#objectsとerrorsを得て、表示してやればよい。 final DeviceData data = display.getDeviceData(); if (!data.tracking) { return; } final Object[] objects = data.objects; final Error[] errors = data.errors;[編集] 参考 # |