首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

01.BMIDE 设置通过属性值变换Item的图标

   以下只是简单的给出个例子,如果有不合理的地方,请及时指出。

在BMIDE中设置通过属性值变换Item显示的图标:这里的图标变换,其实是用一个图标覆盖在原来的图标之上。

1.在BMIDE创建一个业务对象C5MyItem.

2.将图标文件加入到icon文件夹下。选中iconsà右键à添加业务对象图标。

3.添加“属性渲染器”。在“扩展”à“属性渲染器”à“新建属性渲染器…”  

4.输入渲染器名称,渲染器定义的内容,点击完成。渲染器定义的内容决定业务对象的图标变换规则。

以上面例子为例,解释xml含义,解释不合理的地方请及时指出:  

primaryIcon 节点:指定的是主图标或叫原始图标,由参数source来指定图标文件,可以指定为之前添加到icons文件下的图标文件。

overlayIcon 节点:指定的是覆盖图标,source参数指定为一个属性,如“object_desc”,然后通过mapName去找到propertyMap节点,然后通过propertyMap节点下的key和value指定覆盖图标。                 

propertyMap节点:可以理解为存放覆盖图标的容器,通过key和value来指定图标。

Key: 指定object_desc的属性值,不能为中文。

Value:指定的是在icons下的图标文件。

         上面的xml的含义就是:设置主图标为C5_orange.png

,覆盖图标通过object_desc属性的值来指定,当对象的object_desc属性值为“1234”时,使用C5_blue.png

覆盖在原图标之上。当对象的object_desc属性值为“4321”时,使用C5_black.png

覆盖在原图标之上。 

5. 将属性渲染器附加到C5MyItem,在以下的第5步选择属性的时候必须选择object_string。

6. 保存,部署BMIDE。

7. 效果如下:

原始图标C5_orange.png

将object_desc属性值设置为:1234,C5_blue.png

覆盖在原图标之上。  

将object_desc属性值设置为:4321,显示C5_black.png

覆盖在原图标之上

以下提供几个渲染器的例子供参考:

1).根据一个属性的不同的值来显示不同的图标。

<propertyMap name="ObjectDescMap"> <item key="ControlPoint" value="C5PCCtrl.png"/> <item key=" " value="C5PCActivity.png"/> </propertyMap> <primaryIcon source="C5PCActivity.png"> <overlayIcon source="object_desc" mapName="ObjectDescMap"/> </primaryIcon>

2)只有当current_desc属性值等于overlay时,再根据checked_out属性的不同的值来显示不同的图标。

<propertyMap name="CheckedOutMap"> <item key="Y" value="A5_small_green_dot.png"/> <item key="N" value="A5_small_red_dot.png"/> <item key=" " value="A5_small_blue_dot.png" /> </propertyMap> <primaryIcon source="A5_draw.png"/> <overlayIcon source="checked_out" mapName="CheckedOutMap" > <visibleWhen> <with variable="current_desc"> <equals value="overlay" /> </with> </visibleWhen> </overlayIcon>

3)当object_desc属性值等于ControlPoint时,覆盖图标。

<primaryIcon source="C5PCActivity.png" > <overlayIcon source="C5PCCtrl.png"> <visibleWhen> <with variable="object_desc"> <equals value="ControlPoint" /> </with> </visibleWhen> </overlayIcon> </primaryIcon>

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OBSew87ubgLeCgzMveXyon9Q0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券