Thu. 2001.05.18

Mac

なんだか日記は久しぶりの更新。FlowNewzを1.0.3にアップしました。機能は大幅にアップしてますので、色々試してみてください。1.0.4でやろうと思っているものも、ちらほらと見えるはず。また、Win版もきちんと作った(つもり)なので、ある程度は動きますが、やはりMac版と同じようには動いてくれません(;_:)

ここからは技術的な話。1.0.2のソースを元にしていますが、中はほぼ100%新しいコードで書き直しました。

  1. オブジェクトモデルの徹底
    初期設定の保存方法は、オブジェクトモデルにしたがって、それぞれのクラスに、自分のプロパティを保存するように作り替えました。これは自分の勉強も兼ねてますが。
  2. クラスのカプセル化
    クラスのプロパティには外部から一切タッチできないような作りにしました。これって、今まで意外ときちんと出来ていなかったので、徹底。アクセッサをきちんと作ったということで良いのかな?
  3. ポリモルフィズム
    オブジェクトモデルを徹底するのと同時に、プロパティを保存するメソッド等を、Applicationクラスから、EditFieldなどのコントロールクラスまで、全て統一しました。ソースを公開すれば分かってもらえるところなんだけど(^^ゞ
  4. 完全なワンソース
    Rbの利点であるWin版バイナリを吐き出す機能ですが、ソースをそれぞれに分けてしまっては面白くないので、1つのプロジェクトファイルからコンパイルするだけで、 Mac版とWin版を生成してます。これでCarbon版対応もすれば良いんだけど(^^ゞ

プロジェクトファイルの中身はこんな感じ。Rbが分かる人なら、だいたい何をやっているのかは分かりますね(^^ゞ
upresizeという謎のカーソルがあったりしますが、既に1.0.4のコードも書いてあって、とりあえずコメントアウトしてあります。