PSSdev/FreeDesign

オプション画面でユーザが変更できる変数

概要

オプション画面でユーザが変更できる変数です。

定義できるのは 30 個までです。

設定可能な項目

以下の項目が変更可能です。

また、オプション画面では、デフォルト値を使うかどうかを指定できます。

項目名変数のタイプオプション画面での設定項目備考
フォント関連項目fontフォント選択ダイアログ
カラーcolorカラーピッカー
背景色-カラーピッカースキンでは定義しなくてよい(デフォルト値の指定にはBackgroundColor?を用いる)
背景イメージ-参照ボタンスキンでは定義しなくてよい(デフォルト値の指定にはBackgroundImageFile?を用いる)

Notation

userXX によって定義される。(XXは二桁の数値)

item 系や font 項目と同様に、複数の項目を , で区切った形で記述する。

第1項
変数の解説文(オプション画面で変更する際に利用者に提示される情報)
第2項
変数のタイプ
第3項
変数名($hogeの形で記述する)
user00        = "'区切りの色', color, $bordercolor"
$bordercolor  = "7070ff"
item40	      = "border, (85, 20+20*0, 85+67, 20+20*0+20), $bordercolor"

注意事項

user〜 で指定された変数が上書きされる。

言い換えれば「この変数はユーザで変更してもいいですよ」という指定をすることになる。

ユーザが(オプション画面で)その変数を変更した場合は、スキンファイルで指定した値は無視され、 その変数値は全てユーザが変更した値で置き換えられる。

逆に、ユーザがその変数を変更していない場合は、スキンファイルで指定した値が利用される。 (user〜で何が書いてあっても全く関係ない。「変数のタイプ」すら関係ない。 (ローカル変数に“型”が存在しないため))

font の例

user00        = "'数値のフォント', font, $font_num"
$font_num     = "16, 1, 0, 0, 0, MS Pゴシック"
font09	      = "$font_num"

実装(開発者向け)

ユーザ設定の保存

ユーザがオプションで設定すると、skin/user.ini の [hoge] セクション(hoge はユーザ名)に

ahi00=30

のような記法で記述される。ahi はスキンの名称(DesignName?)、右辺はユーザが設定した変数値。

Pss 本体の実装

  • CFreeDesign?::UserVar?
    • スキンファイル上のユーザ変数を管理する
  • CFreeDesign?::UserVarMangaer?
    • ユーザが変更したユーザ変数を管理する。

学習画面起動時は、スキン読み込み前に UserVarManager? によって skin/user.ini のユーザ変数定義が読み込まれる。

その後、UserVarManager? が渡され、CFreeDesign? によってスキンが読み込まれる。 変数展開の際には UserVarList? にその値が存在するかどうかを確かめ、 UserVarList? 上にその変数値が存在すれば、スキンで定義されている変数値よりも UserVarList? で定義されている値を優先して展開される。

このエントリーをはてなブックマークに追加

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-04-06 (水) 01:38:21 (5364d)