复合部件操作数Compound widget operand

<< 点击显示目录 >>

主页  mappView帮助助手 > mapp View帮助信息 > 工程 > 定制的小工具 > 复合型小部件 > 编辑复合小部件(XML) > 复合小部件事件和行动 >

复合部件操作数Compound widget operand

一个操作数是一个值的容器。

操作数的数据类型定义了它的内容应该如何解释。

操作数的值用读取动作的结果进行初始化。

操作数可以在表达式(条件或方法参数)中按名称使用。

目前,只允许在部件上为操作数配置读操作。

Definition and usage

一个操作数在事件绑定中定义,并在表达式(条件)中使用。

Element

Attribute

说明

Operand

name

操作数在表达式中使用的名称。

一个有效的名称。

以一个字母或下划线开头,后面有任意数量的字母、数字或下划线

不允许与事件参数相同。

不允许被称为 "结果"。

datatype

操作数的数据类型.

BOOL

ANY_REAL

ANY_INT

ANY_STRING

DATE_AND_TIME

ReadTarget

 

对其进行读取操作的目标。

在操作数中读取小组件动作的例子

一个复合部件包含部件RadialButtonBar,它在运行时显示4或8个ToggleButton部件。ToggleButton部件通过一个可见的绑定被显示或隐藏。

根据径向按钮栏上显示的是4个还是8个切换按钮,小部件所对准的轨道的半径应该改变。

<EventBindings>
 <EventBinding>
  <Source xsi:type="widget.Event" widgetRefId="ToggleButton5" event="VisibleChanged" />
  <Operand name="NumberVisibles" datatype="ANY_INT">
   <ReadTarget xsi:type="widget.Action.Read" widgetRefId="RadialButtonBar1">
    <Method name="GetVisibleItems"/>
   </ReadTarget>
  </Operand>
  <EventHandler condition="NumberVisibles=4">
   <Action>
    <Target xsi:type="widget.Action" widgetRefId="RadialButtonBar1">
     <Method name="SetRadius" radius="100px" />
    </Target>
   </Action>
  </EventHandler>
  <EventHandler condition="NumberVisibles=8">
   <Action>
    <Target xsi:type="widget.Action" widgetRefId="RadialButtonBar1">
     <Method name="SetRadius" radius="180px" />
    </Target>
   </Action>
  </EventHandler>
 </EventBinding>
</EventBindings>

行为

所有操作数在事件被触发后和事件处理程序开始前被初始化。在初始化过程中,读取动作的结果被保存在操作数中。当使用多个操作数时,初始化的顺序是未定义的。操作数可以在任何事件/结果处理程序中使用。

操作数总是包含事件被触发时的当前值。对于事件处理程序中的长期运行的操作,有可能该值不再是当前值。
如果在事件处理程序中需要一个当前值,可以在任何时候使用读操作和结果处理程序来检索一个值。