2005-01-01から1年間の記事一覧
で、どうするかというとやっぱり org.eclipse.jface.dialogs.Dialog をそのまま使ってみようかと思います。まずはダイアログをそのまま表示するところから。 public void run(IAction action) { IWorkbench workbench = WrpePlugin.getDefault().getWorkbenc…
ついでなので、他にどんなダイアログがあるのか調べていきます。org.eclipse.ui.dialogs には次のようなクラスが定義されています (abstract、depricated は除外してあります)。 CheckedTreeSelectionDialog ContainerSelectionDialog ElementListSelectionD…
さて、メニューを選択されたときの中身を作りましょう。LG3D の JAR の MANIFEST.MF に記述する情報は アプリケーションのタイトル メインクラス名 アイコンのファイル名 設定ファイル名 この中で必須なのは、タイトルとメインクラスです。これ以外に、JAR …
普段は Windows で作っているのですが、Linux でも試してみました。と、やっぱりバグが。とても単純なので、書きたくないぐらいですが... ファイルセパレータを間違えました ^^;; "\" をファイルセパレータに使っていたのです。だめですね、ちゃんと検証しな…
というわけで、objectContribution に filter を追加してみました。必須のアトリビュートは name と value。というかアトリビュートはこれしかないんですけどね。Tomcat Plug-in だと name が project Nature。って、ナンの意味なんでしょ?まぁ、いいや。と…
この機能を作れば、とりあえず使い物になるかなというところです。Project Looking Glass では JAR ファイルを使用して、アプリケーションをデプロイするからです。といっても、どこから手をつければいいか全然わかっていないんですけどね ^^;;そういえば、T…
昨日、Javadoc を組み込めなかった原因が分かったので、今日は再挑戦。LG3DProjectWizard#perfromFinish を次のようにしてみました。 IPreferenceStore store = WrpePlugin.getDefault().getPreferenceStore(); String home = store.getString(WrpePlugin.LG…
どういう設定をすればいいのか分からなくなってしまったので、ちょっと視点を変えてみます。LG3D のプロジェクトで lg3d-core.jar のプロパティで Javadoc の場所を指定して、JavaProject の CLASSPATH を見てみようというわけです。で、WrpeLaunchConfigura…
IClasspathAttribute オブジェクトに Javadoc の情報が保持されているようだということは分かったのですが、実際に IClasspathAttribute オブジェクトの name と value にはいったいどのような値が設定されているのでしょうか。それをまず調べてみたいと思い…
Eclipse の機能の 1 つに Javadoc を表示するというのがありますね。LG3D 3D API に関しても、同じように Javadoc を表示したいのすね。実際は Project Looking Glass の Javadoc はかなり貧弱なので、表示してもあまり意味はないのですが、今後充実してくる…
ある程度、ソースができたので、ここらで一度、本当に Plug-in としてエクスポートしてみたいと思います。といってもどうやるのかよく分かっていないのですが... ^^;;とりあえず Eclipse を立ちあげて、MANIFEST エディターを開いてみましょう。エクスポート…
昨日はとりあえず、実行できるところまでは試してみました。もうすこし、ちゃんと動作しているか試してみます。 Debug モード 適当なところにブレークポイントを設定して Debug モードで実行してみました。実行してみると、ちゃんとデバッグすることができま…
クラスパスの取得方法は分かっりました。忘れないうちに WrpeLaunchConfigurationDelegate クラスに組み込んでおきます。 private String[] extractClasspath(ILaunchConfiguration configuration, String home) throws CoreException { List<String> classpath = ne</string>…
今日は、envp という変数からです。 String[] envp= DebugPlugin.getDefault().getLaunchManager().getEnvironment(configuration);これを WrpeLaunchConfigurationDelegate#launch メソッドに組み込んで試してみました。 String[] envp= DebugPlugin.getDef…
引き続き JUnit Plug-in を調べていきましょう。昨日は IType を取得するところまでいったので、次の VMRunnerConfiguration オブジェクトを取得するところです。 JUnitBaseLaunchConfiguration#launch の中では launchTypes メソッドをコールして VMRunnerC…
さて、JUnit Plug-in の続きです。もう一度 launch メソッドを参照しておきます。 public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor pm) throws CoreException { IType[] testTypes = getTestTypes(c…
今日はあまり時間がなかったので、思ったように進みませんでした。昨日、Project Looking Glass を実行させるだけはできましたが、いろいろと足りないことがあります。そこで、JUnit Plug-in ではどうやっているんだろうと調べてみました。WrpeLaunchConfigu…
さて、起動です。起動させるには、LaunchConfigurationDelegate の派生クラスである WrpeLaunchConfigurationDelegate クラスの launch メソッドを書けばいいということは分かります。launch メソッドの引数は ILaunchConfiguration configuration, String m…
昨日はいいところで時間切れ。ということで、昨日の続きです。昨日の plugin.xml で実行すると、なぜか Java Application のアイコンが変更されてしまったのでした。で、ドキュメント (Launch configuration type images) をちゃんと読んでみると、plugin.xm…
また、アプリケーションの起動に話は戻ります。まだまだ、拡張ポイントの追加は続くのです。つづいて、たぶん本命だろうと思われる拡張ポイント launchConfigurationTabGroups です。この拡張ポイントが実行のコンフィギュレーションをおこなう右側のパネル…
9/14 に書きましたが、この plugin を java.net に登録してみました。で、今日その結果がきました。 Sorry, your request for hosting of the lg3d-eclipse-plugin project has been disapproved. ということで、ダメでした ^^;;理由を読んでみると Eclipse …
launchConfigurationType の delegate に指定するクラスを新規作成してみました。でも、やっぱりエラーダイアログが表示されてしまいます。やっぱり何か足りなさそうなので、Program debug and launch support ドキュメントの続き。それにしてもこのドキュメ…
昨日の Program debug and launch support を読んでいます。とりあえず、launchConfigurationTypes 拡張ポイントを使うことで、起動の選択肢が作れるらしいということが分かりました。さっそく、やってみました。MANIFEST エディターで launchConfigurationT…
JUnit のソースをごらんになったことがあるでしょうか。長くないし、あの Kent Beck が書いたわけですから、コードの勉強するにはとてもいい教材です。で、Eclipse の JUnit Plugin もシンプルなんだろうと思っていたら、そんなことありませんでした (泣)と…
だんだんと佳境に入ってきたこの LG3D WRPE Plug-in ですが (WRPE ってあんまり意味がないと思いだしてきましたが... ^^;;)、とうとうアプリケーションを起動させるところまできました。思えば長い (そんなに長くないか) 道のりでしたが...で、アプリケーシ…
プロジェクトの置き場をどうしようという話を以前書きましたが、その後川原さんとも相談して、java.net に登録してみたらということになりました。まぁ、java.net でだめだったら、SourceForge で登録すればいいんだし。ということで、java.net に登録。java…
ここまで作ってきたコードで LG3D のプロジェクトを作ることができました。プロジェクトができてしまえば、あとは普通のプロジェクトのようにクラスを作ってコンパイルしてというところまではできるようになりました。よかった、よかった。ところがサンプル…
IJavaProject の取り方は分かりました。IProject や IJavaProject は IWorkbenchWindows に結びつけられているんですね。window が IWorkbenchWindows だとすると次のようなコードで IProject や IJavaProject が取得できるようです。 ISelection selection=…
昨日の懸念というのは、そういことです。今のコードだと、プロジェクトを作成したときに LG3DHOME を使用して lg3d-core.jar を CLASSPATH に追加しています。しかし、LG3DHOME が変更されたら、設定された lg3d-core.jar のパスは無効になってしまいます。…
LG3DHOME が設定されていないと、lg3d-core.jar を CLASSPATH に正しく設定することができません。実行時だけに使用する JAR であれば実行するまでに設定しておいてもらえばいいのですが、コンパイル時にも必要なので事前に設定してもらう必要があるのです。…