TOP/拡張スクリプト/Column クラス

Column クラス

概要

BMX2WAV 本体や BMX2WAV Searcher の一覧でカラム(縦一列)を表すクラスです。 カラムに表示する内容を定義したい場合や並び替えを定義したい場合にこのクラスを継承したクラスを作成し、 関数 display_cell や 関数 compare をオーバーライドすることで定義します。

この機能の使い方についてはチュートリアル - カラム表示にて解説しています。

コンストラクタ

constructor( name )

name は string です。 インスタンスのプロパティ name を引数 nameで初期化します。

プロパティ

name -> string

カラムの名前です。

関数

display_cell( entry ) -> string

entryMain.Entry クラス (BMX2WAV の場合) または Searcher.Entry クラス (BMX2WAV Searcher の場合) です。 セルを表示する際に呼び出される関数で、戻り値の文字列がセルに表示されます。 派生クラスでこの関数をオーバライドしてセルに表示する内容をユーザで定義します。

compare( entry_x, entry_y ) -> integer

entry_xentry_yMain.Entry クラス (BMX2WAV の場合) または Searcher.Entry クラス (BMX2WAV Searcher の場合) です。 カラムのヘッダー部が押されエントリーを並び替える際に呼び出される関数で、entry_xentry_y を比較した値を戻り値としてエントリーを並び替えます。 派生クラスでこの関数をオーバライドしてエントリーの並び替え方をユーザで定義します。

compare_bms_data_must_exist( entry_x, entry_y ) -> integer

ユーザが派生クラスで関数 compare をオーバーライドする際に、 BMS データが存在する(構文解析済み)エントリのみ並び替えたい場合に、関数 compare 内から呼び出します。 この関数からは BMS データが存在する場合のみ関数 compare_bms_data_checked を呼び出すので、 ユーザは関数 compare_bms_data_checked をオーバーライドして並び替え方を定義します。

compare_bms_data_must_exist( entry_x, entry_y ) -> integer

関数 compare_bms_data_must_exist から呼び出される関数で、 entry_xentry_y の両方に関連付けられる BMS データが存在する(構文解析済み)エントリであった場合のみ 呼び出されます。

string_compare( str_x, str_y ) -> integer

str_xstr_y は string です。 文字列を比較し、その結果を返します。 ユーザが並び替えを実装する際に文字列で並び替えたい場合に使用します。

ColumnGroup クラス

ColumnGroup クラスはカラムグループを表すクラスで、カラムインスタンスの集合です。 BMX2WAV 本体や BMX2WAV Searcher では画面中のカラムグループ選択ドロップダウンリストの 1 つ分に相当します。

コンストラクタ

constructor( name )

name は string です。 インスタンスのプロパティ name を引数 nameで初期化します。

プロパティ

name -> string

カラムグループの名前です。

columns -> array

カラムインスタンスの配列です。ユーザはこの配列にカラムインスタンスを挿入してカラムグループを編集出来ます。

Column クラスの派生クラス

Column クラスはベースになるクラスで、実際に表示する内容が決まっているクラスは以下のクラスになります。 ユーザはこのクラスのインスタンスを作成することで表示させる内容を選ぶ事ができます。

HeaderColumn( name, [compare_function] )

name は string でヘッダ名です。compare_function は関数で、比較関数を指定することでソート方法を指定することができます。 BMS のヘッダが表示されます。

PlayerColumn()

BMS のプレイヤーの数(種別)が表示されます。

ObjectCountColumn()

BMS のオブジェクト数が表示されます。

ObjectOf1PCountColumn()

1P 側のオブジェクト数が表示されます。 チャンネル 11 ~ 1Z 、 51 ~ 5Z までのオブジェクト数になります。

ObjectOf2PCountColumn()

2P 側のオブジェクト数が表示されます。 チャンネル 21 ~ 2Z 、 61 ~ 6Z までのオブジェクト数になります。

MostSeriousErrorColumn()

BMS を構文解析した際に検出された最も深刻なエラーレベルが表示されます。

ContainsRandomStatementColumn()

BMS にランダム構文が含まれているかどうかが表示されます。

FullPathColumn()

ファイルのフルパスが表示されます。

BasenameColumn()

ファイルのファイル名が表示されます。

ParentDirectoryColumn()

ファイルが格納されているフォルダ名が表示されます。

ParentsParentDirectoryColumn

ファイルが格納されているフォルダの親フォルダが表示されます。

PlayingTimeColumn()

演奏時間が表示されます。 この時の演奏時間とは、最初の小節から最後の小節(最後の BMS オブジェクトが存在する小節)が終わるまでの時間になります。

ParameterColumn

このクラスは BMX2WAV 本体のみ存在します。 変換設定の名前とそれが共通設定か個別設定かどうかが表示されます。

TOP/拡張スクリプト/Column クラス