2005-08-01から1ヶ月間の記事一覧

Wizard の Extension を追加する

どうやら、プロジェクトを作るためにはウィザードを使用するらしいです。というわけで、とりあえず Extension を追加してみます。Wizard にはいくつかあるようですが、org.eclipse.ui.newWizards が今回の用途にはあっているようです。で、[Finish] を追加し…

プロジェクトを作れるようにしたい

今まで Eclipse から LG3D を起動/終了させてきたり、プリファレンス画面を作ってきました。まぁ、ここまでは準備段階で、本当の Plug-in としての機能を作り込んでいきたいと思います。何を作るかというと、新規作成の「LG3D プロジェクト」を作れるように…

LG3DHOME が入力されていないとエラーを出力する

LG3DHOME を Preference で入力できるようにしたからには、逆に入力していないとただしく起動できません。そこで、入力されていない場合は起動できないようにしてみました。って、いってもたいしたことではないのですが... ^^;;StartActionDelegate クラスの…

Preference で設定した値を使用する

値を利用するのは、値を設定するのと基本的には同じようです。IPreferenceStore オブジェクトを取得して、そこから getString メソッドで home を取得するようにしました。 IPreferenceStore store = WrpePlugin.getDefault().getPreferenceStore(); String …

Preference のロードとセーブ

昨日のコードだと、値は常に初期化されてしまいます。それだと困るので Preference のロードとセーブをできるようにしてみたいと思います。そういう用途のために IPreferenceStore インタフェースというのがすでに用意されているんですね。ただ、この IPrefe…

イベント処理

さて、画面ができたので、イベント処理です。DirectoryFieldEditor クラスは PropertyChangeEvent が扱えるそうなので、さっそく次のようなコードを書いてみました。 home.setPropertyChangeListener(new IPropertyChangeListener() { public void propertyC…

Property の画面を作る

画面を作るといっても、今のところ設定するのは 1 つの項目だけですが ^^;;LG3DHOME を設定する画面を作っていきます。すでに Property の画面はあるので、むかーしのウィンドウシステムのプログラミング (Windows にあらず) みたいなイベントループなどは書…

SWT

さて、困った。って、困っただらけなのであるのですが ^^;;ようするに、Eclips を使ったことがないということは、SWT など触れたこともないということなのです。SWT のなんたるかも全然知らないで、Preference のダイアログを作れるのでしょうか?JFace とい…

Preference ページを作る

今のままだと LG3D を起動するにしても、LG3D をインストールしたディレクトリが決めうちなのが問題です。そこで、Preference ページを作ってインストールしたディレクトリを設定できるようにしてみます。まずは Extensions タブから Extension Point を新た…

プロジェクトの置き場を考える

そろそろ、プロジェクトをどうするか考えなくてはいけないような気がしてきました。java.net の LG3D プロジェクトの下に入れてもらうか、SourceForge などを利用するか?lg3d-incubator (https://lg3d-incubator.dev.java.net/) に入れてもらうというのもあ…

JVM の終了

やっと見つけました。どうも探し方が悪かったようで、妙に時間がかかってしまいました。というのも、IVMRunner などのインタフェースの Javadoc ばかり見ていたからなのです。いいわけですけど ^^;;まさか、インプリメントしたクラスに定義されているとは思…

JVM を終了させるには

昨日から考えていたのですが、今朝ふと思いつきました。Tomcat は開始するときは startup、終了するときは shutdown を実行するのであったということ。Tomcat Plug-in では Tomcat を終了させるときには shutdown コマンドに相当するクラスを起動させていた…

LG3D の終了... できない

LG3D は動くようになりました。というわけで、次は止めてみましょう。8/12 に書いたように、Tomcat Plug-in では start メソッドも、stop メソッドも単一のメソッドをコールしているだけです。 public void start() throws CoreException { this.runTomcatBo…

LG3D の起動

とりあえず、LG3D は動くようになりました。でも、どうして動いているのかはまだよく分かってなかったりするのですが ^^;;;;;;; まぁ、いいや。クラスパス、ブートクラスパス、JVM へのオプション、起動するクラスなどすべて決めうちです。lg3d-dev もしくは…

Eclipse のヘルプ

今日も進展はあまりなし。それはそうとして、Eclipse のヘルプは見にくくありませんか?特に Javadoc。PDE と JDT が別々になっていて、それぞれ、左側のヘルプのツリーを展開していかないとでてこないというところ。プログラム作るときに Javadoc を見るのは…

LG3DLauncher クラスの作成

ようやくランチャクラスを作るところまでいきました。クラス名は LG3DLauncher です。ベタですが...はじめは単に LG3D を起動するようにします。本当ならばプロジェクトの設定とか取り込まなくてはいけないのでしょうが、面倒くさいので ^^;;なにはなくとも…

ログ

実際に JVM の起動をおこなう前に、ログでも出力できるようにしてみます。同じように Tomcat Plug-in を参考にして。どうやら、Plugin クラスには getLog メソッドというものがあって、ILog インタフェースのオブジェクトがとれるらしいです。なので、WrpePl…

Action クラスを作成

昨日の続きで Action クラスを作ります。はじめに Extensions のところで、Start LG3D (action) を選択して、[class:] をクリック。入力するのはパッケージとクラス名です。パッケージには jp.gr.java_conf.skrb.lg3d.wrpe.actions、クラス名は StartActionD…

プロジェクトを作る

というころで、早速 Eclipse で Plug-in プロジェクトを作りましょう。特にテンプレートを使用しなかったので、Extensions は何もありません。まずはここに actionSets を追加して、メニューバーとツールバーに追加してみます。actionSets は ID が必須じゃ…

LG3D Plug-in の名前を決める

調べてばかりじゃしかたないので、実際に作り出しましょう。Project Looking Glass の Plug-in を作るに当たり、まずやることは... 名前を決めること名前がなければはじまらないですから。で、考えたのですが、やっぱり Throught the Looking Glass もしくは…

Tomcat Plug-in 探求 その 2

runTomcatBootstrap メソッドを調べる runTomcatBootstrap メソッドは 70 行ぐらいあるのですが、はじめの方は VM に対するオプションやクラスパスの設定をおこなっているだけでした。これらは必要に応じて調べればいいので、一番重要な部分を調べていきます…

Tomcat Plug-in 探求

昨日、行きづまってしまったので、ちょっと視点を変えようと思います。何をするかというと、LG3D Plug-in で作ろうとしている機能と同じようなことを実現している Plug-in をパクろう 参考にしようと思っているわけです。で、探したのが Sysdeo Tomcat Launc…

早くも壁

結局、Plug-in を作るのは、Extension Point が重要なんですね。どの Extension Point を使うかを決めてしまえば、使うべきクラスやインタフェースはおのずと決まってくるのでしょう。でも、問題なのは Extension Point が多すぎて、どれを選んでいいのかわ…

Extensions タブ

昨日は plugin.xml を直接書きかえていたのですが、さっそくいただいた Ecipse 3 完全攻略をみたら、Extensinos タグでおなじことがもっと簡単にできる書いてあるではないですか。どうも、IDE を使い慣れていないので、直接コードを書いてしまうんですね、こ…

plugin.xml を書きかえてみる

どうも、おとといにやったことからして、plugin.xml がキーになるようですね。ということで、plugin.xml を書きかえて動作がどういう風に変化するか調べてみました。まずはメニューを増やしてみたいと思います。 <menu label="Sample &amp;Menu" id="sampleMenu"> <separator name="sampleGroup"> </separator> </menu>の部分を <menu label="Sample &amp;Menu" id="sampleMenu"> <separator name="sampleGroup"> </separator></menu>

ISBN:4797327782:title

今、某雑誌向けの Project Looking Glass の記事を書いてます。今日はそっちの作業が忙しくて、Eclipse に触る暇がありませんでした。ところで、この blog を見て、あまりにも低次元で何も知らないことを嘆き悲しんでくれた某編集の方に「Eclipse 3 完全攻略…

動きを調べる (ちょっとだけだけどね)

さて、Debug モードでちょこちょこ動かし始めました。すべてのメソッドに Breakpoint を入れて、どんな順番で起動されるかとか、誰が呼び出しているかなどを見てみたいと思っています。Eclipse を起動しただけだと、この Plug-in はインスタンス化されないん…

Action の親玉を調べる

そういえば、もう 1 つの SampleAction クラスがインタフェースを実装していることを忘れていました。IWorkbenchWindowActionDelegate とういインタフェースを実装しているようです。IWorkbenchWindowActionDelegate という名前なのですから Workbench に関…

サンプルのソースを見る

プロジェクトを展開していったら、Java のソースが 2 つありました。 片方が SamplePlugin クラスで、もう一方が SampleAction クラスです。名前からすると、Plug-in の実体は SamplePlugin クラスで、SampleAction クラスは Action といういうのですからボ…

Eclipse で Project Looking Glass を動かす

そういえば、LG3D を動かすことについて触れてませんでした。Plug-in を使わないでも LG3D のアプリケーションを起動することができます。試しにやってみましょう。サンプルは JAVA PRESS Vol.43 に掲載された Monolith1 クラスです。 import javax.vecmath.…