goo blog サービス終了のお知らせ 

Hironytic Status

ひろんの開発日誌

[CoveredCalc] Covers フォルダの位置をカスタマイズ

2005-03-23 14:54:20 | 開発状況
以前から、実装予定機能には書いてあったのですが、カバーを格納する Covers フォルダの場所をカスタマイズできるようにしようという構想がありました。この実装作業を行いました。

この機能は、もともと、Koki さんのメールがヒントになったものです。
設定ファイルが保存される場所は実行ファイルの場所に関わらないため、複数バージョンの CoveredCalc を別フォルダで共存させて使っていても設定は共有されます。
しかし、CoveredCalc では実行ファイルと同階層にある Covers フォルダ内にあるカバーを使うので、一方のバージョンの Covers フォルダのみに存在するようなカバーを使って終了した場合、次にもう一方のバージョンの CoverdCalc を起動すると前回のカバーが見つからないという状況になってしまいます。
複数バージョンを共存させるのはレアケースだと思いますが、実際、ぼく自身が開発中の Debug 版と Release 版の 2 バージョンを共存させ、さらにリリース済みの最新バージョンをインストールしているので不便に感じていました。

そこで、Covers フォルダの存在するフォルダ(Covers フォルダ自身ではない)を設定ファイルで指定できるようにしました。
ただし、これを設定するダイアログなどの GUI は存在しないので、半ば隠し機能のようなものです。
将来的には設定 UI も作成するつもりですが、今のところ、直接 Settings.xml に <baseFolder>~</baseFolder> の記述を追加します。
詳しい仕様は実装予定機能を見てください。

Version 1.1 のリリースに今回の実装が含まれる予定です。

[CoveredCalc カバー] Displator

2005-03-11 01:48:44 | 開発状況
表示部分だけの省スペース電卓、ほぼ完成しました。
キーがほとんどないのでデザインするのも作るのも簡単でした。
近日中に公開予定です。

まわりをくり抜くことのできない BeOS 版(Dano版はくり抜けます!)では、パネル風でそれなりに見えるように工夫してみました。
(上段がBeOS、下段がWindows)

[CoveredCalc カバー] 気分転換

2005-03-09 02:11:28 | 開発状況
ちょっと気分転換に、数字入力キーがなく表示部分がメインの電卓カバーを作成中です。
本物の電卓では、キーがなければ入力ができませんが、CoveredCalc の場合はキーボードがあれば入力はできるので、これはこれで使い道があるはず。場所とらないし。
まだデザインしている状態で、CoveredCalc では動きません。

[CoveredCalc for BeOS] BTextView が……

2005-03-07 13:01:22 | 開発状況
現在のカバーの情報を表示するダイアログを Dano 版として Dano 上でビルドして Dano で確認してみたら BTextView を使っている部分の背景色が全く反映されていませんでした。
なぜだ~と思って調べてみたら、そもそも BTextView の View Color がリソースにアーカイブした時点で正しくアーカイブされていないみたいです。
Interface Elements で View Color を設定して保存 → いったん閉じて再度そのリソースを開くという操作をしても設定した View Color になっていません。
他にも、GuiBerry (を R5 でビルドしてみたものを Dano で実行)では、BTextView の View Color を指定してもすぐに元に戻ります。

Dano の BTextView の定義を見てたら、SetViewColor() がオーバーライドされているみたいなので何か別のフィールドを使うようになっているのかもしれません。
リソースは R5 で作ったものですからね。

こういう状況になってくると、ウィンドウをリソースで持つことには不安がでてきます。
Zeta では(BMessageの?)フォーマットも変わっているみたいです。(FOB1 の識別子が FOB2 になっているみたい)
まあ、現在リリースしている CoveredCalc が Zeta でも動いているってことは、下位フォーマットもサポートしているんでしょうけど。

すでにリリースしてしまっている状態なのでなんですが、今ならまだダイアログも少ないので別の選択肢に移ることも開発側としては可能です。
でも、リソースだけ置き換えればダイアログの配置なんかを変えられるっていうのは個人的に好きなんですよね~。

[CoveredCalc for BeOS] カバー情報ダイアログ

2005-02-28 10:44:54 | 開発状況
昨日の早朝の時点で BeOS 版でもカバー情報ダイアログを表示できるようになりました。
Windows 版ではモーダルダイアログ(そのダイアログが表示されていると他のウィンドウの操作ができないダイアログ)なんですが、BeOS ではモーダルダイアログは一般的ではないのでモードレスダイアログ(他のウィンドウも操作できるダイアログ)にしてあります。

ちょっと時間がかかってしまった理由は、作業時間があまりとれなかったっていうのもありますが、BTextView にスクロールバーを付けるのに苦労したというのもあります。
BTextView を BScrollView でくるんでやればいいのはわかっていました。InterfaceElements でそう配置しようとしたのですが、BScrollView を作ったら BView な子ビューがすでに入ってました。それを削除して BTextView を入れて保存したところ、子 View の順序が変わったのがいけないのか、次に開くと水平スクロールバーがすごい位置に表示されました。本来、BScrollView のターゲットはコンストラクタで指定したあと変えることはできないはずなので、どうしようもないのかもしれません。
結局、InterfaceElements ではただの BTextView を貼り付けておくことにしました。
実行時にそれを親ビューから削除して、新しく BScrollView を作ります。


これで、Windows と BeOS で Version 1.1 をリリースしてもいいんですが、増えた機能がカバーのバージョン情報が表示されるようになっただけであんまりにも情けないのでもうちょっと細々したところをいじってみることにします。BeOS 版で、別スレッドからウィンドウを操作している部分があって少し不安なところもあるので、その辺もなおしたいし。

カバーの著作権情報が表示されないままなのは問題ありますが、今のところ自分以外にカバーを公開してくださっているのは桝田道也さんだけなのでもう少し延ばしてもまあいいかと勝手に判断。桝田さん、ごめんなさい。

[CoveredCalc for BeOS] Dano 版のビルド

2005-02-22 01:56:52 | 開発状況
Dano の環境を整えたので、Dano でもビルドできるようにしてみました。
ただビルドできるだけじゃする意味ないので、Dano でサポートされた非矩形ウィンドウを使って Dano バージョンなら Windows 版と同じように背景を透過するようにしました。

スクリーンショット左は R5 版、右が Dano 版。

ほんとはこんなことやってないで、カバーのバージョン情報を BeOS 版で表示できるようにしないといけないのだけど。(^^;

[CoveredCalc] カバーのバージョン情報

2005-02-08 18:00:27 | 開発状況
現在のカバーのバージョン情報(about タグ)を表示するダイアログを作成中。
バージョン情報だけでは寂しいのでタイトル説明文も一緒に表示します。

Windows 版は動くようになりました。とりあえずこれだけの修正でいったんバージョンアップしようと考えているので、バージョン番号を上げて、一連のリリース作業をすれば Windows 版だけ先行でバージョンアップできます。
が、BeOS 版と共通のソースも修正しているので、BeOS 版は現在ビルドできないはずです。ここで BeOS 版をビルドできるようにしていると、たいてい共通ソースにも修正が入って Windows 版にも影響を与えることが多いのです。(要するに Windows 版作成時に共通ソースを修正していると BeOS 版に対する考慮が漏れている部分があるということです)
BeOS 版が動くようになるまでにそうそう時間はかからない(と思っている)のでやっぱり BeOS 版と同時リリースにしようと思います。

ちなみに、機能が増えるので、バージョンは 1.1 になります。

[CoveredCalc] さらにバージョンアップ

2005-02-01 00:10:48 | 開発状況
昨日のバージョンアップの修正で仕込んでしまったバグのおかげで連日バージョンアップ。
バグの修正よりもリリースのための作業(マニュアル更新、ZIPへのパッケージング、Web ページの更新など)に時間がかかるんだよな~。もぉ~。
自分で入れてしまった不具合だから文句は言えないけど。

[CoveredCalc] バージョンアップ

2005-01-30 22:21:35 | 開発状況
CoveredCalc for Windows 1.0.4、CoveredCalc for BeOS 1.0.1 をリリースしました。
メインの修正点は、起動時に前回終了時に表示していたカバーを読み込もうとして失敗すると、すぐに終了してしまってカバーを変更することができなかった動作を変更したことです。
こんなときはデフォルトカバーを使って起動するようにしました。
ただし、デフォルトカバーが壊れていた場合はどうしようもありません。