カテゴリ:開発状況( 99 )

[CoveredCalc] 開発再開

ようやく本業がひどい状態を抜け出せた感じなので CoveredCalc の開発を再開します。
前のエントリに 5 月が終われば‥‥とか書いてありますが、結局、9月になるまで大変でした。というか、5月はまだマシな方だったような。8月は一度だけですが連続34時間勤務とかありましたし(--;

とりあえず、まだ google のリポジトリにコミットできていなかった分をコミットしました。
古くは 3 月あたりに行った作業とかもあって、既に覚えていなかったりするんですが、とにかく機械的にコミットしました。
ビルド通るんでしょうか。ちょっと心配です。

まずはソースを思い出すところから始めないと‥‥。
[PR]
by hironytic | 2009-09-08 09:32 | 開発状況

[CoveredCalc] Haiku 環境の更新とか

休日はこたつプログラミングを再開。寒いもん。
ノートPC は Aspire One に変わっているんですけどね。Aspire One からリモートデスクトップで別の部屋にあるメインマシンにログオンし、そこから VMware を起動して作業したりとか‥‥なんか間違ってますね。

久々に Haiku の環境を更新。r28724 になりました。CoveredCalc の Issue 38 が治ってました。まあ BeOS ではきちんと動いてたから Haiku の互換性の問題だとは思ってましたが、せっかくなので調査してフィードバックしたいと思いつつも、作業する余裕がなくて放置していたら治ってたという次第です。

ちょっと中途半端ではありますが、Windows 版の XML 言語ファイル対応がほぼ終わった状態です。BeOS/Haiku 版がまったくビルド通らなくなっているのでこれから対応を入れていきます。そろそろいったん google のリポジトリにコミットしなきゃいけないなーと思っているところです。
[PR]
by hironytic | 2008-11-27 09:36 | 開発状況

[CoveredCalc] v2の状況など

本業の仕事から帰ってきたあとの時間を利用して、コツコツ CoveredCalc のコーディングをしています。先週末から突然仕事が忙しくなったので今週は全然開発できてません。昨日も家に帰ってきたのが午前1時半。6時には起きないといけないので、とても開発に割く時間なんかなし。悲しい‥‥。

ここのところは、Windows 版の言語ファイルをリソース DLL から XML 形式に変更中です。言語ファイルの定義は、(メッセージなどの)文字列、ダイアログのレイアウト、メニューの 3 つなんですが、そのうち文字列については XML 形式に移行できています。リポジトリにはまだコミットしてませんが。現在はダイアログのレイアウトの対応中です。もともと Windows 標準のダイアログリソースを使ってたので何にもコードが必要なかったところを、XML 形式で書かれたレイアウト情報を元に自分でダイアログ内のコントロールを配置していく実装がいるのでそれに手間がかかってます。メニューはまだ手を付けていませんが、XML 形式ではただの文字列定義になる予定で、そこからメニューを作るところを実装する必要があります。

ダイアログについてもう少し詳しく書くと、CoveredCalc には、カバーブラウザ、バージョン情報、カバーの情報、設定、キーマップの 5 つのダイアログがあります。このうち、カバーブラウザ、バージョン情報、カバーの情報については移行完了済み。キーマップも実装はしましたが、設定ダイアログがないと呼び出せないので確認がまだ。設定ダイアログはこれから実装というところです。

まあでも、XML 形式に移行してしまえば、今後、言語ファイルを作るのは楽になりそうです。これまでは英語の言語ファイルを作るときなんか、Virtual PC で英語版 Windows 起動 → VC6 (英語版) 起動 → リソースを変更してビルドという流れだったので。それがエディタだけで済みます。あと、開発環境を Visual C++ 2008 Express Edition にした関係でリソースエディタがなくなっているのでその点も楽になるかもとか。

なお、現時点で BeOS/Haiku 版はビルドが通りません(爆)
まあ、BeOS/Haiku 版の言語ファイルも変更する予定があるので共通部分だけ変更してるからなんですけどね。
[PR]
by hironytic | 2008-11-13 08:43 | 開発状況

[CoveredCalc for Windows] Unicode ビルド

CoveredCalc for Windows で Unicode 版としてビルドできるようにしました。
これまでの MBCS 版では、例えば日本語版の Windows なら Shift_JIS で使える文字しか扱えません。
Unicode 版では、Unicode 全部の文字が扱えます。もちろん、フォントが対応していないとダメですが。
代わりに、Windows 98/Me では動作できません。

次バージョンを予定している CoveredCalc v2 では、Unicode 版でリリースする気の方が強くなってます。
Windows 98/Me で動作しないことに不満がある人がもう少ないんじゃないかなあと思うので。

a0011820_238332.jpg


スクリーンショットはいろんな言語の文字を同時に表示できているところ。
まあ、BeOS 版だと最初からこれが当たり前なわけですが。
[PR]
by hironytic | 2008-09-17 23:08 | 開発状況

[CoveredCalc] version 1.10.0 リリース

CoveredCalc version 1.10.0 を リリースしました。
キー定義のカスタマイズがメインです。
1.9.0 をリリースしたのが 去年の 11 月。もともとキー定義のカスタマイズも 1.9.0 で実現する予定でしたが、規模が大きくなるので見送ったのでした。ただ、1.10.0 のリリースまでにこんなに時間がかかるとは思ってませんでした。まあ、CoveredCalc の開発ばかりしてたわけでもないので、放置期間もあったわけですが。(^^;;;

さて、この次のバージョンでは、少し大幅な変更を加えたいなと思っています。
Windows 版を内部 Unicode 動作のアプリにするとか(現在は ANSI/MBCS 動作です)、Win64(64ビットWindows)への対応準備とか。
BeOS 版は Haiku バージョンを作りたいとか。
他にもいくつか、いい機会だと思うので、根本的なところを修正していく予定です。
リリースまでには 1.10.0 にかけた時間よりもっとかかるかもしれませんね(爆)
[PR]
by hironytic | 2008-08-08 00:04 | 開発状況

[CoveredCalc for Windows] メッセージの横取り

Windows版のおはなし。

現在開発中の CoveredCalc のメインはキーカスタマイズなのですが、そのカスタマイズを行うダイアログではどのキーとどの機能を結びつけるかを設定します。「どのキー」を指定するためにキー入力して押されたキーを表示するコントロールを作りました。作りましたっていってもただの Edit コントロールをサブクラス化しただけなんですが‥‥。このコントロールにフォーカスを移した状態で、例えば Shift キーと H キーを押せば、コントロールに「Shift+H」と表示されて Shift+H に対する機能の割り当てができるわけです。
ところが、Alt キーと他のキーを押したとき、コントロールには「Alt+××」と入力されるのですが、そのあと、ダイアログ上のアクセスキーが反応してしまって、別の機能が実行されます。例えば「割り当て(A)」というボタンがあるのですが、Alt+A を押すとこのボタンが押されたことになってしまいます。
‥‥というのが今月のあたまに起こっていたこと。

WM_SYSKEYDOWN メッセージで処理したよと返してやってもシステムが勝手にやっちゃうみたいなんで、BeOS の BMessageFilter みたいに通常のディスパッチに流れる前にメッセージを横取りして、場合によってはディスパッチしなきゃいいんじゃない?と思って、自分のメッセージループにメッセージを横取りする仕組みを加えました。ところが、ダイアログ上ではメッセージが横取りできませんでした。それもそのはず、モーダルダイアログが表示されているときは、Windows API の DialogBox() 関数の中の Windows の用意したメッセージループにいるのです。自分のメッセージループでは横取りできません。ぐはー。
‥‥というのが 2 週間ほど前に起こっていたこと。

どうやって解決しようかなー、MFC みたいにモーダルダイアログに見えるけど実はモードレスダイアログで作って自分のメッセージループを回していましたー的な方法はどうかなー? と思いながら、すごく面倒くさくなって 2 週間プログラムを放置してました。おかげでドラクエ IV が結構進みました(爆)
昨日になって、ようやく、その似非モーダルダイアログを実装してみました。その結果、期待した動きを得ることができました。つーか実装に 1 時間もかかってない気が‥‥。2 週間の放置はなんだったんだろう。
[PR]
by hironytic | 2008-07-24 10:23 | 開発状況

[CoveredCalc for Windows] VC++ 2008 とフォントと言語ファイル

キーカスタマイズの UI を作るのが面倒になって現実逃避中です。
現実逃避のひとつとして CoveredCalc for Windows のコンパイラを Visual C++ 2008 Express Edition にしてみることを検討してみたり。まあ検討しているだけでしばらく現在の Visual Studio 2005 Standard Edition から変わることはないですが。

それはそうと、ダイアログのフォント、現在は日本語なら "MS UI Gothic" 9pt を、英語なら "MS Shell Dlg" 8pt を使っています。XP まではこれでまあよかったんですが、Vista は本当にこれでいいんかいなとちょっと考えたりしてます。日本語版なら "メイリオ" がやっぱりきれいなんじゃないのかなあとか。英語版でも、"MS Shell Dlg" だと "Microsoft Sans Serif" になるみたいですが、Vista では "SeGoe UI" が標準っぽい。

これまでは、どうも "MS Shell Dlg" を使うことで多言語対応できますよ、といったスタンスをマイクロソフトはとっていたように思うんですが、ここを見る限り、Vista では、英語向けなら "SeGoe UI"、日本語向けなら "メイリオ" というように明示的に対応させろと書いてあるように見えます。スタンスが変わったんかいな。(まあ、そもそも "MS Shell Dlg" でも Non-Latin な Windows 9x が対応してなかったので、CoveredCalc では日本語向けリソースでは "MS UI Gothic" を指定したわけで、以前からあんまりすっきりしてなかったのですが)

CoveredCalc の現在の言語ファイルと対応 OS だけで考えると、
Windows 9x 系:日本語="MS UI Gothic"、英語="MS Shell Dlg"(="MS Sans Serif")
Windows 2000/XP:日本語="MS UI Gothic"、英語="MS Shell Dlg 2"(="Tahoma")
Windows Vista:日本語="メイリオ"、英語="SeGoe UI"
あたりが一番きれいなのかもしれません。Windows 2000/XP 日本語は "MS Shell Dlg 2" でもいいかもしれませんが。
でも、利用 OS でフォントを変えるならリソースファイルだけでは対応しづらいんですよね。そうなってくると、言語ファイルをリソースファイルとして保持する必要はなくなってきて、BeOS 版と同じように XML ファイルにしてもいいんじゃないかとか思ってきてます。

どちらにしても、当面はキーカスタマイズの作業が待っているのですが。
ってことで現実逃避でした。
[PR]
by hironytic | 2008-03-23 16:51 | 開発状況

[PonpokoDiff] ベータ版公開 (version 0.1.0)

ベータ版といえる出来には仕上がっていませんが、とりあえず試してみるくらいのことはできると思うので version 0.1.0 として公開しました。
CoveredCalc と同じように Google Code Project Hosting を利用してソースも公開してあります。

プロジェクトサイト:
http://ponpokodiff.googlecode.com/

シンプルすぎる最低限の機能しか持っていません。試してみても、「え?これだけ?」と思うかも。
というか、エラーメッセージが全然出ません。エラーにならないわけじゃなくて単にメッセージを出す部分をまだ実装していないからです^^;
[PR]
by hironytic | 2008-01-12 18:44 | 開発状況

[PonpokoDiff] GUI な diff アプリケーション

あけましておめでとうございます。
本年もよろしくお願いします。

a0011820_0142929.gif

というわけで、CoveredCalc の開発とは別に、BeOS 上の GUI な diff アプリケーションとして「PonpokoDiff」を開発中です。
去年末から diff アルゴリズムを調べたりしていましたが、その成果といえるでしょうか。本当はもともとこのアプリを作りたいがためにアルゴリズムを調べていたわけですが。

とはいうものの、まだメニューなんかは全然動いていなくてなんとか差分抽出の表示ができる程度です。
もう少し実装してメニューが動くレベルになれば、こちらも MIT ライセンスのオープンソースで公開するつもりです。

CoveredCalc を作っていて、差分をとりたいときに自分好みの GUI なアプリケーションを見つけられなかったので、いっそ作ってしまえと思ったのが始まりです。そういう背景なので、目的を満たしてしまえば、それ以上の拡張にはなかなか手を出さないかもです。
フォント設定とか、日本語コード自動判別とか、差分のマージ支援とか、差分表示部分をレプリカント化して他アプリに貼り付けてスクリプティングにより部品として動作させられるようにするとか、いろいろネタはあるのですが‥‥。
[PR]
by hironytic | 2008-01-05 00:16 | 開発状況

[CoveredCalc] 次バージョン

1.9.0 をリリースしたばかりですが、次の 1.10.0 の予定も公開してみたり。
1.10.0 のリリースまでこのタスク表をきちんと更新していけたなら、その次のバージョン以降もこのフォーマットのタスク表を使うつもりです。

それはそうと、プロジェクトページダウンロードのところ、1.8.1 の Featured ラベルを何度消してもしばらくすると元に戻ってしまいます。
おかげでトップページに 1.8.1 がしょっちゅう顔を出してしまいます。‥‥なんかトラブルが発生しているんでしょうか!?>Google Code Project Hosting
[PR]
by hironytic | 2007-11-26 15:33 | 開発状況