WideStudio Application Builder User's Guide(Ocaml言語)

リスト



メソッドによるリストのデータ表示制御

リストに項目表示データを追加するには、addItem メソッドを用います。 addItem により、追加する文字列、追加する位置を指定します。追加位置を省 略すると、リストの末尾に追加されます。リストに項目を追加するサンプルで す。

(*----------------------------------------------------------*)
(*Function for the event procedure                          *)
(*----------------------------------------------------------*)
open Swig
open Mwt
open Mwtlib
open Newwin000

let btnep1 obj =
  (* リストの項目を全て削除。 *)
  !newlist_001 -> delAll();
  (* リストの末尾に項目を追加。 *)
  !newlist_001 -> addItem ("item1");
  !newlist_001 -> addItem ("item2");
  !newlist_001 -> addItem ("item3");
  !newlist_001 -> addItem ("item4");
  (* リストに位置指定で項目を追加。 *)
  !newlist_001 -> addItem ("item0",(make_int64 0)); (* 0は先頭 *)
  !newlist_001 -> addItem ("item5",(make_int64 (-1))); (* -1は末尾 *)
  (* リストを変更した場合、最後に一度、更新。 *)
  !newlist_001 -> updateList();
  ()
let _ = Callback.register "btnep1" btnep1



プロパティからのリストデータの設定

比較的項目数が少ない場合、プロパティから、一括して項目を設定することが できます。この場合、まず、"dataSource" プロパティを WS_DATA_SOURCE_NONE に指定します。次に、"data" プロパティに改行コー ドで区切ったデータを設定します。

(*----------------------------------------------------------*)
(*Function for the event procedure                          *)
(*----------------------------------------------------------*)
open Swig
open Mwt
open Mwtlib
open Newwin000

let btnep1 obj =
  (* リストの項目を全て削除。 *)
  !newlist_001 -> delAll();
  (* リストにプロパティ経由でデータを設定 *)
  !newlist_001 -> setProperty("dataSource", _WS_DATA_SOURCE_NONE);
  !newlist_001 -> setProperty("data","item0\nitem1\nitem2\nitem3\nitem4");
  ()
let _ = Callback.register "btnep1" btnep1

また次のように、アイコンファイルも同時に指定すると、項目毎にアイコンも 指定することができます。プロパティ "useIcon" を True に設定して、アイ コンを指定する場合は、カンマで区切って指定します。アイコンファイルは省 略すると、プロパティ "iconPixmap" に指定されたものが使用されます。 書式:

アイコンファイル,項目文字列\nアイコンファイル,項目文字列\n....

(*----------------------------------------------------------*)
(*Function for the event procedure                          *)
(*----------------------------------------------------------*)
open Swig
open Mwt
open Mwtlib
open Newwin000

let btnep1 obj =
  (* リストの項目を全て削除。 *)
  !newlist_001 -> delAll();
  (* リストにプロパティ経由でデータを設定 *)
  !newlist_001 -> setProperty("dataSource", _WS_DATA_SOURCE_NONE);
  !newlist_001 -> setProperty("data",
     "$(WSDIR)/sys/pixmaps/bi16.xpm,item1\nitem2\nitem3\nitem4");

  ()
let _ = Callback.register "btnep1" btnep1



ファイルからのリストデータの設定

ファイル名を指定して、ファイルから一括して項目を設定することができます。 この場合、まず、"dataSource" プロパティを WS_DATA_SOURCE_FILE に指 定します。次に、"dataSourceName" プロパティにファイル名を指定します。 ビルダーからのプロパティ設定、プログラムからの設定で動作します。下記は プログラムでの設定の例です。

(*----------------------------------------------------------*)
(*Function for the event procedure                          *)
(*----------------------------------------------------------*)
open Swig
open Mwt
open Mwtlib
open Newwin000

let btnep1 obj =
  (* リストの項目を全て削除。 *)
  !newlist_001 -> delAll();
  (* リストにファイル経由でデータを設定 *)
  !newlist_001 -> setProperty("dataSource", _WS_DATA_SOURCE_FILE);
  !newlist_001 -> setProperty("dataSourceName","data.txt");

  ()
let _ = Callback.register "btnep1" btnep1

# data.txt の内容
$(WSDIR)/sys/pixmaps/bi16.xpm,item1
item2
item3
item4
$(WSDIR)/sys/pixmaps/bi16.xpm,item5
item6
item7
item8



インスタンスからのリストのデータ表示

インスタンス名を指定して、そのインスタンスのデータソース対象プロパティ から一括して項目を設定することができます。この場合、まず、 "dataSource" プロパティを WS_DATA_SOURCE_INSTANCE に指定します。次 に、"dataSourceName" プロパティにインスタンス名を指定します。下記の例 では、WSCtextField のインスタンス newtext_000 を指定しています。デー タの形式は、ファイル指定の場合と変わりません。newtext_000 に入力され ている文字列がリストに表示されます。ビルダーからのプロパティ設定、プロ グラムからの設定で動作します。下記はプログラムでの設定の例です。

(*----------------------------------------------------------*)
(*Function for the event procedure                          *)
(*----------------------------------------------------------*)
open Swig
open Mwt
open Mwtlib
open Newwin000

let btnep1 obj =
  (* リストの項目を全て削除。 *)
  !newlist_001 -> delAll();
  (* リストにインスタンス経由でデータを設定 *)
  !newlist_001 -> setProperty("dataSource", _WS_DATA_SOURCE_INSTANCE);
  !newlist_001 -> setProperty("dataSourceName","newtext_000");

  ()
let _ = Callback.register "btnep1" btnep1

次の図では、上部のテキスト入力から入力した文字列が、下部のリストに表示 されています。



[インスタンスからの項目設定]


Document Release 3.80 for WideStudio ver 3.80, Jan 2005


WideStudio documents index | 目次
バグ情報、ご質問等ございましたら、メーリングリストでご確認の上、 御気軽にこちらの方までよろしくお願いいたします。