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

詳細リスト



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

詳細リスト(WSCverbList)または、WSClist のリスト種別を詳細リストに設定 したものに項目表示データを追加するには、リストの場合と全く同じように addItem メソッドを用います。addItem により、追加する文字列、追加する位 置を指定します。追加位置を省略すると、リストの末尾に追加されます。リス トの場合と異なる部分は、各項目のカンマで区切られた項目を設定することで す。



[詳細リスト表示の例]

図の様に横4セクションのリストとする場合、プロパティ "barValue" に、 50,100,150 を設定します。このプロパティは、タイトルのセパレータの位置 を指定します。このプロパティによって、セクションの数が決まりますので注 意してください。プロパティ "titleString" には、sec1,sec2,sec3,sec4 を 設定します。

詳細リストに項目を追加するサンプルです。

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

let btnep1 obj =
  (* リストの項目を全て削除。 *)
  !newlist_001 -> delAll();

  (* リストの末尾に項目を追加。 *)
  !newlist_001 -> addItem ("item1,aaa,bbb,ccc");
  !newlist_001 -> addItem ("item2,aaa,bbb,ccc");
  !newlist_001 -> addItem ("item3,aaa,bbb,ccc");
  !newlist_001 -> addItem ("item4,aaa,bbb,ccc");

  (* リストを変更した場合、最後に一度、更新。 *)
  !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",
     "item1,aaa,bbb,ccc\nitem2,aaa,bbb,ccc\nitem3,aaa,bbb,ccc");

  ()
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,aaa,bbb,ccc\nitem2,aaa,bbb,ccc\nitem3,aaa,bbb,ccc");

  ()
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,aaa,bbb,ccc
item2,aaa,bbb,ccc
item3,aaa,bbb,ccc
item4,aaa,bbb,ccc
$(WSDIR)/sys/pixmaps/bi16.xpm,item5,aaa,bbb,ccc
item6,aaa,bbb,ccc
item7,aaa,bbb,ccc
item8,aaa,bbb,ccc



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

インスタンス名を指定して、インスタンスから一括して項目を設定することが できます。この場合、まず、"dataSource" プロパティを WS_DATA_SOURCE_INSTANCE に指定します。次に、"dataSourceName" プロ パティにインスタンス名を指定します。下記の例では、WSCtextField のイン スタンス newtext_000 を指定しています。データの形式は、ファイル指定の 場合と変わりません。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 | 目次
バグ情報、ご質問等ございましたら、メーリングリストでご確認の上、 御気軽にこちらの方までよろしくお願いいたします。