倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

はじめての幻獣 Griffon 研 (2) : Model

今回は関数描画アプリケーションのモデルを作成します(一覧)。

モデルの分析


関数描画アプリケーションのモデルがもつ情報(プロパティ)は下表の通り:

プロパティ名 説明
function String 関数(式)を表す文字列
from double x 座標の最小値(描画の左端)
to double x 座標の最大値(描画の右端)
min double y 座標の最小値(描画の下端)
max double y 座業の最大値(描画の上端)

これらは全て view にバインド(view から値を変更できるようにする)します。

FunctionPlotterModel.groovy


次は実装。 ソースファイルは

  • FunctionPlotter/griffon-app/models/functionplotter/FunctionPlotterModel.groovy

です。

package functionplotter

class FunctionPlotterModel {

    @Bindable String function

    @Bindable double from
    @Bindable double to
    @Bindable double min
    @Bindable double max
}
  • Groovy は自己記述的な言語なので、上記の分析自体を Groovy コードでやった方がいいですね。
  • Griffon 0.9.1 あたりから Model クラス内では @Bindable アノテーションは自動インポートされるようです。 したがって「import groovy.beans.Bindable」は不要。 別に書いても構いませんが。

追記


Griffon 0.9.1 から自動インポートされるクラスは

  • groovy.beans -> @Bindable, @Vetoable
  • griffon.beans -> @Listener
  • java.beans -> useful for all PropertyChange* classes

だそうです(こちらを参照)。

Groovyイン・アクション

Groovyイン・アクション