WideStudio/MWT Logo
WideStudio/MWT
Programming Guide
WideStudio/MWT Index
Table of contents


树状列表



通过函数控制树状列表的数据显示

在树状列表 (WSCtreeList),或者WSClist 的列表类别为[树状列表]的列表中追加项目显示数据时, 同前面介绍的列表情况完全一样,使用addItem 函数指定追加的字符串和追加的位置。 省略追加位置时,将被追加到列表的末尾。同时,可以使用 setItemValue 函数设定列表项目的结构。 在引数中,将设定项目的位置,值别等指定于WS_INDENT_LEVEL,及阶层中。 完全不设定的情况下,将成为第0阶层,成为最初阶层。

  setItemValue(pos,Mwt.WS_INDENT_LEVEL,level);
  pos = 0,1,2,...,-1(末端)
  level = 0(top),1,2,3...



[树状列表]

下图是在树状列表中追加项目的范例。

//----------------------------------------------------------
//Function for the event procedure
//----------------------------------------------------------
import org.widestudio.mwt.*;

public class btnep1 {
  protected static void btnep1(WSCbase object){
    // 删除列表的所有项目
    newwin000.newlist_001.delAll();

    // 从列表末端追加项目
    newwin000.newlist_001.addItem("item1",-1);
    newwin000.newlist_001.setItemValue(-1,Mwt.WS_INDENT_LEVEL,0);
    newwin000.newlist_001.addItem("item2",-1);
    newwin000.newlist_001.setItemValue(-1,Mwt.WS_INDENT_LEVEL,1);
    newwin000.newlist_001.addItem("item3",-1);
    newwin000.newlist_001.setItemValue(-1,Mwt.WS_INDENT_LEVEL,2);
    newwin000.newlist_001.addItem("item4",-1);
    newwin000.newlist_001.setItemValue(-1,Mwt.WS_INDENT_LEVEL,3);
    newwin000.newlist_001.addItem("item5",-1);
    newwin000.newlist_001.setItemValue(-1,Mwt.WS_INDENT_LEVEL,0);
    newwin000.newlist_001.addItem("item6",-1);
    newwin000.newlist_001.setItemValue(-1,Mwt.WS_INDENT_LEVEL,1);

    // 列表内容变更后,执行刷新
    newwin000.newlist_001.updateList();
  }
}

在树状列表中,应该注意的是,在项目间完全没有任何关系,即各项目按指定状态进行显示。 因此,删掉最上层的项目,不会使其以下阶层的项目丢失。同时,跟前项之间的差为+1为止。 如果有+1以上差,将被自动订正为+1。

通过属性设定树状列表的数据

项目数比较少时,能通过属性一次性设定项目内容。 首先,将dataSource 属性设定为WS_DATA_SOURCE_NONE。 然后,用以下格式在data 属性中设定数据。

数据格式:(属性 useIcon为True的情况)

icon_filename,indent_level,1=open/0=close,项目字符串\n...

数据格式:(属性 useIcon为 False 的情况)

indent_level,1=open/0=close,项目字符串\n...

如果省略图标,属性 iconPixmap 中指定的图标将被作为图标使用。

//----------------------------------------------------------
//Function for the event procedure
//----------------------------------------------------------
import org.widestudio.mwt.*; 

public class btnep1 {
  protected static void btnep1(WSCbase object){ 
    // 删除列表的所有项目
    newwin000.newlist_001.delAll();

    // 通过属性设置列表内容
    newwin000.newlist_001.setProperty("dataSource",Mwt.WS_DATA_SOURCE_NONE);
    newwin000.newlist_001.setProperty("data",",0,1,item1\n,1,1,item2\n,2,1,item3");
  }
}



通过属性设置列表内容

可以通过指定文件一次性设定项目内容。 首先,将dataSource 属性指定为 WS_DATA_SOURCE_FILE。 然后,在dataSourceName 属性中指定文件名。通过设定属性和程序实现动作。 下列是在程序中的设定的例子。

//----------------------------------------------------------
//Function for the event procedure
//----------------------------------------------------------
import org.widestudio.mwt.*;

public class btnep1 {
  protected static void btnep1(WSCbase object){
    // 删除列表的所有项目
    newwin000.newlist_001.delAll();

    // 通过文件设置列表内容
    newwin000.newlist_001.setProperty("dataSource",Mwt.WS_DATA_SOURCE_FILE);
    newwin000.newlist_001.setProperty("dataSourceName","data.txt")
  }
}

//data.txt 文件的内容
$(WSDIR)/sys/pixmaps/bi16.xpm,0,1,item1
1,1,item2
2,1,item3
3,1,item4
$(WSDIR)/sys/pixmaps/bi16.xpm,0,1,item5
1,1,item6
2,1,item7
3,1,item8



通过Instance显示树状列表的数据

通过指定Instance名,从该Instance的数据源对象属性对项目进行总括设定。 首先,将dataSource 属性设定为WS_DATA_SOURCE_INSTANCE。 然后,在dataSourceName 属性中指定Instance名。 下列的例子中,指定了WSCtextField 的Instance(newtext_000)。 数据的形式,与文件指定的情况一样。被输入到newtext_000中的字符串在列表里将被显示。 通过builder的属性设定,程序的设定可以动作。 下列是在程序设定的例子。被输入区域的Instance newtext_000中所输入的字符串将作为树状列表的项目被显示。

//----------------------------------------------------------
//Function for the event procedure
//----------------------------------------------------------
import org.widestudio.mwt.*;

public class btnep1 {
  protected static void btnep1(WSCbase object){
    // 删除列表的所有项目
    newwin000.newlist_001.delAll();

    // 通过文件设置列表内容
    newwin000.newlist_001.setProperty("dataSource",Mwt.WS_DATA_SOURCE_INSTANCE);
    newwin000.newlist_001.setProperty("dataSourceName","newtext_000");
  }
}


Document Release 3.90 for WideStudio/MWT ver 3.90, Jul 2005


WideStudio/MWT documents index | Table of contents

Copyright(C) WideStudio/MWT Development Team, 1999-2005 Last modified: Jul 31, 2005