DAVE SDK 4.1.2 Help content (翻译)——MF



MF

声明:

MF MF(

    Closure function,

    classreturnType

)                     

描述:

一个标准的APP需要一些从GUI上获取输入值的逻辑,用他们计算出另外的数值传递给template文件或者显示在GUI上另外的窗体部件上。

这可以通过MF函数来实现(事实上MF并不是一个函数而是一个闭包,例如一个构造函数的函数)。这种特殊的类型需要与Groovy的闭包区分。

Parameter name

Parameter type

Description

function

Closure

A Closure means some embedded code between braces

returnType

class

This parameter determines the class type of the closure (e.g. "Boolean", "Integer", "String", "Float", "List", "Map")

 

Execution context

Instance constructor

 

例子:

在这个例子里我们的“DEMOAPP”有两个窗体元素:一个GLabel和一个GCheckGLabel的可见属性可以被MF设置和更新。在这种情况下当我们按下check box label 变得不可见。

void DEMOAPP(DaveEnv daveEnv){
    glabel_1.visible = MF(
        {                     // The code between ..
            gcheck_1.value    // .. braces is known .. 
        },                    // .. as the "Closure"
        Boolean               // This is the "class" return type
    )
}

MF 函数的执行方式:

在实际运行时DAVE™用一种特殊的方式来执行MF,与电子表格的执行方式相似。例如Microsoft Excel 文件。

我们把GUI中直接或间接变化的变量称为MVariables,就是MF中关联的变量。MVariables就像电子表中的单元格,他们可以包含常量或函数,常量就像一个没有输入值的函数。

 

定义:

Free MVariable: 包含常量的MVariable 或没有输入变量的MF函数

Non-free MVariable: 有输入值的 MF函数

 

MVariable 属性:

1. 如果你读取Non-freeMVariable你会得到函数值的更新。

2. 不可以更改"non-free"MVariable 的值或函数表达。

3. 如果你更改Free MVariable ,所有的于它相关的Non-free MVariable会由从属关系树向下递归直到所有受到影响的MVariables更新。

4. 不能做循环引用。

5. 所有APP GUI 变量是MVariables

6. 如果更新变量相同MVariables将不会更新。

7. MVariables可以在APP 构建时设定,但在MF 函数中只可读,应为它会自动更新。

 

 

an example of MVariables dependency tree:

MVariables 类型:

每一个 GUI Widget 有多种变量属性,但在于GUI交互时只有MVariables 导出的属性可以被控制。

  • MInt

  • MFloat

  • MString

  • MBoolean

  • MList

  • MMap

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值