Default Settings File Reference

ソースコードのフォントサイズを変える

基本

デフォルト設定ファイルは下記のパスに設置します。

デフォルト設定ファイルは拡張子 .xml で保存してください。

書式

サンプル

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
	<global>
		<appInformations>
			<name>default Settings File Sample</name>
		</appInformations>
		<guiCategory>
			<hoge>group1</hoge>
		</guiCategory>
		<appSettings>
			<KYE>
				<interface>
					<caption>INPUTBOX1</caption>
					<type>inputbox</type>
				</interface>
				<syntax>
					<type>number</type>
					<min>10</min>
					<round />
				</syntax>
				<value>120</value>
			</KYE>
		</appSettings>
	</global>
	<japanese>
		・
		・
		・
	</japanese>
</configuration>

XML 宣言

<?xml version="1.0" encoding="UTF-8"?>

まず始めに XML 宣言をおきます。

ファイル保存時の文字コードは UTF-8 にしてください。BOM なし UTF-8 が無難です。

configuration 要素

<configuration>
	<global></global>
	<japanese></japanese>
</configuration>

ルートノードです。

包含可能要素

global 要素, language 要素

<global>
	<appInformations></appInformations>
	<guiCategory></guiCategory>
	<appSettings></appSettings>
</global>
<japanese>
	<appInformations></appInformations>
	<guiCategory></guiCategory>
	<appSettings></appSettings>
</japanese>

language 要素は Sleipnir の言語設定に一致した場合に使われる設定の定義を格納する要素です。

global 要素は Sleipnir の言語設定に一致する language 要素が存在しないときに使われる設定の低後を格納する要素です。

包含可能要素

appInformations 要素, InformationItem 要素

<appInformations>
	<Name>Sample</Name>
	<Version>1.0.0</Version>
	<OfficialSite href="http://localhost/sahk/lab/8th713/">8th_713 Lab(sahk)</OfficialSite>
</appInformations>

appInformations 要素は InformationItem 要素のルートノードです。

直下の要素を Information Item 要素として扱います。

InformationItem 要素はスクリプトの情報を格納するための要素です。

設定用 GUI でタイトル下に表示したい情報を定義します。

上の例では下記のように表示されます。

Name : Sample
Version : 1.0.0
OfficialSite : 8th_713 Lab(sahk) // href 属性があるためリンクになります

追加可能属性

href="URL"
URL を指定することでその項目をリンクとして使えます。

InformationItem 要素は自由な要素名、自由な値を持つことができますが子要素を持つことはできません。また空要素も使えません。

<appInformations>
	<Version>1.2.3</Version>	// これは OK
	<Builder>
		<foo>hogehoge</foo>		// 子要素を持っているため NG
	</Builder>
	<ScriptName /> 			// 空要素なので NG
</appInformations>

guiCategory 要素, categoryItem 要素

<guiCategory>
	<hoge>group1</hoge>
	<piyo>group2</piyo>
</guiCategory>

guiCategory 要素は categoryItem 要素のルートノードです。

直下の要素を categoryItem 要素として扱います。

categoryItem 要素は設定のカテゴリを定義する要素です。

要素名をカテゴリを識別するフラグ、値を GUI に表示するカテゴリ名として使います。

appSettings 要素, settingItem 要素

<appSettings>
	<KYE2></KYE1>
	<KYE2></KYE2>
</appSettings>

appSettings 要素は settingItem 要素のルートノードです。

直下の要素を settingItem 要素として扱います。

settingItem 要素は各設定のルートノードです。

settingItem 要素は自由な要素名をつけることができます。
設定であることを明示的にするためすべて大文字を使うなどの規則性を持たせておくことが推奨されます。

包含可能要素

  • interface 要素
  • syntax 要素
  • value 要素(最低一つ必要です。)

settingItem 要素内の書式

interface 要素

<interface>
	<category></category>
	<caption></caption>
	<type></type>
	<rows></rows>
</interface>

GUI 上でのインタフェースを定義するための要素です。

包含可能要素

category 要素

<category>hoge</category>

categoryItem 要素の要素名と同一の値を設定することで設定をそのカテゴリに含めることができます。

caption 要素

<caption>User Name</caption>

設定用 GUI で label タグの innerText に代入される説明文です。

type 要素

<type>textarea</type>

GUI 上でのインタフェースを定義するための要素です。

指定可能値

textarea
テキストエリアになります。
inputbox
インプットボックスになります。
checkbox
チェックボックスになります。
selectbox
リストボックスになります。
bitcheck
複数のチェックボックスを持ち bit 演算結果を返すインタフェースになります。
hide
インタフェースを持たない隠し設定になります。

省略すると inputbox として扱います。

rows 要素, cols 要素, size 要素

<rows>5</rows>
<cols>50</cols>
<size>72</size>

GUI 上でのインタフェースのサイズを決めるための要素です。

rows
テキストエリアの縦幅(行数)を指定します。省略時は 3 です。
cols
テキストエリアの横幅を指定します。省略時は 48 です。
size
インプットボックスの横幅を指定します。省略時は 60 です。

rows, cols は type が textarea のときのみ有効です。

size は type が inputbox のときのみ有効です。

ime 要素

<ime>auto</ime>
<ime>active</ime>
<ime>inactive</ime>
<ime>disabled</ime>

フォーカス時の IME のモードを操作するための要素です。 CSS の ime-mode プロパティと同じです。

auto
特に指定しません。
active
初期値が日本語入力モードになります。
inactive
初期値が英数字入力モードになります。
disabled
IME の使用を禁止します。直接入力固定になりますがコピペによってマルチバイト文字を含むことは防げないので注意してください。

syntax 要素

<syntax>
	<type>number</type>
	<noEmpty />
	<min>10</min>
	<max>20</max>
	<round />
</syntax>

ユーザーが設定 GUI から設定変更を行うとき不正な値が入らないよう制限を設けることができます。
syntax 要素はその制限を定義するための要素です。

type 要素

<type>number</type>

get メソッドで値を取得した際の値の型を指定します。

また GUI 上から入力できる値を指定型として評価できるものに限定します。

省略した場合 string を指定したものとして扱います。

指定可能値

string
文字列型
number
数値型
boolean
真偽値型

value の値が true や false であっても type が指定されていない場合 "true","false" という文字列になります。

数値も同様に type が指定されていない場合 "100","0.23" などの文字列になります。

noEmpty 要素

<noEmpty />

無指定を禁止します。

min, max, round

<min>10</min>
<max>20</max>
<round />

min, max はそれぞれ数値の最小値、最大値を定義します。

round は小数の指定を制限します。

min, max, round は type が number のときのみ評価されます。

value 要素

<value>120</value>

親である setting 要素の実際の値となるノードです。SettingsLibrary の get メソッドの戻り値になります。

例外として interface/type が bitcheck のとき value の値は戻り値として扱いません。

子要素を持つことができません。テキストのみを含むことができます。

value 要素が空要素であった場合 syntax/type によって戻ってくる結果が変わります。

string
空文字列("")
number
数値の 0
boolean
真偽値の false

value 要素は同じ階層に複数設置可能です。

追加可能属性

selected="true"
interface/type が bitcheck か selectbox のときのみ効果を発揮します。その項目が選択されていることを示します。
cap="文字列"
interface/type が bitcheck のときチェックボックスのラベルとして使用されます。
interface/type が selectbox のとき option タグの innerText として使用されます。

概略

configuration 					// documentElement
	/global						// 日本語環境以外で使われる。
		/appInformations		// appInformations Root
			/*					// Information Item
		/guiCategory			// guiCategory Root
			/*					// category Item
		/appSettings			// appSettings Root
			/*					// setting Item
				/interface		// interface Root
					/category	// カテゴリー
					/caption	// 見出し
					/type		// GUIのタイプ
					/rows		// textarea の rows 属性
					/cols		// textarea の cols 属性
					/size		// input の size 属性
				/syntax			// 書式ルール
					/type		// 型制限
					/noEmpty	// 未指定の不許可
					/max		// number の最大値
					/min		// number の最小値
					/round		// number の小数不許可
				/value			// 既定値(必須)
	/japanese					// 日本語環境で使われる。