2007年03月05日

Eclipseで自作ツール開発 第23回 チップ一覧を表示

前回はビューを作って画像を読み込むところで力尽きたので、今回は画像をずらずらと表示させるところまでいきたい。こんな風に。

WSM000072.JPG

SWTのウィンドウ上に自由に画像を表示させるには、org.eclipse.widgets.Canvasクラスを使う必要がある。JPanelだろうと何だろうと自由に描画できるSwingとは大違いで、なんだかAWTやらDelphiやらの時代に戻った感があるけど、まあiアプリも似たようなもんだしいいか。続きを読む
posted by LoyalTouch at 21:30| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年03月04日

Eclipseで自作ツール開発 第22回 チップを一覧から選ぶ

背景色はドロップダウンから選べる。斜め背景の色と向きもドロップダウンリストから選択可能になった。選択結果はすぐにプレビューで反映される。かなり便利になったもんだ。

ただもう一押し足りない。オブジェクトの番号をベタで数値で書かなきゃいけない、という問題だ。今回はこの問題の対応をしよう。チップ画像の一覧から選択できるようにするのだ。

一覧の選択をするといっても、今までどおりドロップダウンリストから選ぶ方法は使えない。なぜならドロップダウンリストは文字列しか表示できないから、チップ画像の選択という手段になりえないからだ。それではどうするか。ひとまず、Editorとは別のViewを表示して、そこから何らかの方法で選択させることにしよう。続きを読む
posted by LoyalTouch at 00:35| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年02月28日

Eclipseで自作ツール開発 第21回 contributorClass登場

前回最後に紹介した非常に気味の悪いバグ、あれはどうもViewの気分でお気軽にEditorPartにアクションを追加したのが悪いらしい。EditorにはEditorなりのアクションの追加方法があるようだ。ではそれは何か。

http://www13.plala.or.jp/observe/PDE/PDEEditor.html

ここを参考にしてみると、みんなcontributorClassなるものに動作を追加してるらしい。何それ?聞いたことないよ?続きを読む
posted by LoyalTouch at 16:45| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年02月26日

Eclipseで自作ツール開発 第20回 ひょっとして向いてないっすか?

IDocumentProviderとかそこら辺と格闘することしばし。どうやらやっとEditorの仕組みがわかりかけてきたですよ?

っていうか、基本的にバイナリデータをエディットするのにEditorは向いていないんじゃないかと思い始めてみたり・・・
続きを読む
posted by LoyalTouch at 22:57| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年02月25日

Eclipseで自作ツール開発 第19回 書き込めないぞEditor 〜フランケンの焦燥〜

前回、initメソッドでInputStreamからドメインオブジェクトにデータをロードすることができたが、今度はドメインオブジェクトからOutputStreamにセーブしよう。

と、いったところで問題が発生

続きを読む
posted by LoyalTouch at 19:58| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年02月23日

Eclipseで自作ツール開発 第18回 作りこめEditor

前回はとりあえずEditorをEclipseの画面に表示させるところまでをやった。今回はこの前まで作っていたビューの機能をEditorに移植するところをやろう。

続きを読む
posted by LoyalTouch at 13:33| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年02月22日

Eclipseで自作ツール開発 第17回 Editorを作ろう

さて。チップエディタのおおよその機能が出来上がったので、こいつで早速チップデータを作成してやったりしたい。そのためにはファイルへのI/Oが必要だ。
ところでEclipseでのファイルI/Oはどうするか?今までとりあえずプラグインを作成するという目的で邁進していたから華麗にスルーしていたけど、実はI/Oは今まで作成していたViewではあまり向いていないのだ。

続きを読む
posted by LoyalTouch at 20:29| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年02月21日

Eclipseで自作ツール開発 第16回 姉さん事件です

前回、初回しかチップの変更が反映しないとかいう問題があったけど、ChipLabelProviderのgetColumnImageから呼び出しているgetChipImageを細工したら動いた。

どういう細工かというと、チップ初回作成時のみ適用していた内部呼び出しのredrawChipを初回以外でも呼び出すようにして、さらにImageオブジェクトの生成削除を必ずやるようにしたらできたんだけど

[ビフォー]
private Image getChipImage(ChipDatum datum) {
    Image chip = imageRegistry.get(Integer.toString(datum.id));
    if(chip == null){
        chip = new Image(display, chipWidth, chipWidth);
        imageRegistry.put(Integer.toString(datum.id), chip);
        redrawChip(datum);
        chip = imageRegistry.get(Integer.toBinaryString(datum.id));
    }

    return chip;
}

[アフター]
private Image getChipImage(ChipDatum datum) {
    Image chip = imageRegistry.get(Integer.toString(datum.id));
    imageRegistry.remove(Integer.toString(datum.id));
    chip = new Image(display, chipWidth, chipWidth);
    imageRegistry.put(Integer.toString(datum.id), chip);
    redrawChip(datum);
    chip = imageRegistry.get(Integer.toBinaryString(datum.id));

    return chip;
}

毎回Imageオブジェクトを生成削除してたらパフォーマンス悪い気がするんだけど、いいのかなあ?iアプリに毒されてる?

謎だ・・・でも、これで少し進展したかも。
posted by LoyalTouch at 01:16| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年02月18日

Eclipseで自作ツール開発 第15回 変われラベルプロバイダ

現在のところ、自作ツールはチップデータを変更してもチップ部分に何の変更も起きない。本当は背景色を赤に指定すれば赤、オブジェクトを7にしたら7番のチップを描画するようにしてほしいのだが・・


続きを読む
posted by LoyalTouch at 23:46| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年02月15日

Eclipseで自作ツール開発 第14回 ComboBoxEditor活用

そういえば、チップの背景色やら斜め背景色は16色しか選べない仕様だ。0未満や17以上の数値を入力しようとしたらバリデータかなんかを仕掛けて、エラーを出すというのも手だろう。でもできれば選択肢を1〜16までに始めから限定したい。そうだな、たとえばコンボボックスみたいに・・・

WS000067.JPG
続きを読む
posted by LoyalTouch at 08:57| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年02月14日

Eclipseで自作ツール開発 第13回 リスナの利用でスマートな設計

前回に引き続き、ContentProviderを改造してTableViewerすっきり利用の巻だよー

前回はせっかくTableViewer利用のための情報満載の中身の濃ゆい引用元を引っ張ってきたのに、それに逆らって安易な設計をして満足していたんだけどね。

↓引用元
http://yoichiro.cocolog-nifty.com/eclipse/2004/05/tableviewer.html

このままじゃダメだと思って部屋を飛び出してきました。いや、うそだけど。

続きを読む
posted by LoyalTouch at 12:33| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年02月12日

Eclipseで自作ツール開発 第12回 ドメインオブジェクトを使いやすく

前回はひとまずEclipse上でアクションを使用可能にするようにしたんだけど、本来的にはこっからが本番。ドメインオブジェクトを改造して、ドメインオブジェクトにデータを追加したら自動的にTableにも反映するように変更するのだ。

そのためにはまず、現在単にList<ChipDatum>として作成していたドメインオブジェクトを、独自の追加・削除メソッドを持つ新しいクラスに変更しなくてはいけない。
続きを読む
posted by LoyalTouch at 18:32| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年02月09日

Eclipseで自作ツール開発 第11回 アクション追加の巻

今回はTableViewerの表と行の追加/削除を同期させるように、ドメインオブジェクトやらContentProviderやらを改造する......

と、いうまえに、まず始めにEclipse上で何らかのアクションを起こすと行の追加・削除が行えるようにアクションの設定をしなきゃ話が始まらないのだった。というわけで方針転換。俺のプラグインにアクションを追加するぞ!

続きを読む
posted by LoyalTouch at 15:08| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年02月02日

Eclipseで自作ツール開発 第10回 チッププレビューを動かそう

今までチップイメージのプレビューは固定でチップの左上のものを描画していたけど、ちゃんとプレビューになるようにチップの描画を変えようというのが今回の趣旨だ。続きを読む
posted by LoyalTouch at 11:01| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年01月31日

Eclipseで自作ツール開発 第9回 色対応

前回の状態から少し進化させよう。今度は、背景色と斜め背景色のデータに合わせてセルの背景色を変更するという仕様だ。これでもう少しプレビューが見やすくなったに違いない。

こんな感じで。


WS000062.JPG


続きを読む
posted by LoyalTouch at 02:25| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年01月27日

Eclipseで自作ツール開発 第8回 Cellを 編集するICellModifier

今回は無言だったCellをちゃんと編集できるようにする変。SwingのJTableでいうところのTableCellEditor実装編といったところか?続きを読む
posted by LoyalTouch at 23:17| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年01月26日

Eclipseで自作ツール作成 第7回 ContentProviderとドメインオブジェクト

さて。前回はとりあえずテーブルの行に数字をいろいろと入れるのと、作成したチップのプレビューを表示するのを実装した。今回は独自のContentProviderを実装して、チップ用オブジェクトを表に表示させるようにする。
これができると、チップ用オブジェクトの内容を変更したときに即座に表にチッププレビューの画像を変更できるようになったりする。らしい

続きを読む
posted by LoyalTouch at 19:22| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年01月18日

Eclipseで自作ツール作成 第6回 作りこめTableViewer

画像の作成処理も出来上がったところで、TableViewerをいったん作成してしまおう。前回はImageRegistryクラスのことをしゃべったあたりで力尽きてしまった。


続きを読む
posted by LoyalTouch at 22:54| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年01月17日

Eclipseで自作ツール作成 第5回 そうだ、Imageを忘れてた

前回フェルマーの最終定理なみ投げ捨てをしてしまったんだけど、あの尻切れトンボの理由はEclipse(というかSWT)では画像はちょっとクセのある扱いになっているからであり、あの行数でさらにImageについて語るのはくどいだろうという判断で2回に分割したのですよ。

さて、SWTでの画像の扱い方なんだけど、Java標準のAWTやら今までこのブログであつかってたDoJaやらとは全然違うややこしい取り扱いをしなきゃいけないようだ。識者(誰だよ)に言わせるとWindowsAPIを生で触っている感じらしい。よく知らないけど。(猫ちゃんならわかるんだろうか)

続きを読む
posted by LoyalTouch at 18:50| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年01月16日

Eclipseで自作ツール作成 第4回 使おうTableViewer

前回作った表あるでしょ。自作のテーブルコンポーネント。あれ、どうも物足りないというか、まったく持って使えない代物なんじゃないのという気がして俺の中の灰色の脳細胞がふて寝するところだった。ていうか何が物足りないか。

自作コンポーネント
WSM000063.JPG


今までの作業(EXCEL)
WS000057.JPG

変わってねーじゃねーか。

見づらいよぅパパー。せめて表を作成したらその横にどんなチップが生成されているのか、プレビューが見たいよぅ。

続きを読む
posted by LoyalTouch at 17:41| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする