在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: jfxyl

[求助] SKILL 表格的可编辑设置

[复制链接]
发表于 2020-7-24 19:08:59 | 显示全部楼层


jfxyl 发表于 2020-7-24 16:43
/************Define Params**************/

procedure(prParamsFormField()


我知道问题在哪里了。

在所有改变GUI field的值的时候,不可以直接用Field的handler,要从你创建的AppForm入手。所以我写了一个简单的函数 make_it_grey(), make_it_editable():

procedure( make_it_grey()
prParamsForm~>prRailSapceField~>editable=nil
)

procedure( make_it_editable()
prParamsForm~>prRailSpaceField~>editable=t
)

你的prRailOverlapFiled的callback 写成 list("make_it_editable()" "make_i_grey()") 就可以了。 我测试了一下,每次改动Overlap的Yes或者No的时候,SpaceField都会在可编辑和不可编辑状态中切换。

后面的代码问题是一样的,我没动,你照着改就行了。


Capture.PNG
 楼主| 发表于 2020-7-29 09:11:07 | 显示全部楼层


amodaman 发表于 2020-7-24 19:08
我知道问题在哪里了。

在所有改变GUI field的值的时候,不可以直接用Field的handler,要从你创建的AppFo ...


我简化了一下程序试着运行了一下,不可编辑可以切换到可编辑的,但可编辑就切换不到不可编辑。 prRailSpaceField一开始的editable值是t的话prRailOverlapField怎么选prRailSpaceField都是可编辑
/************Define Params**************/
procedure( make_it_grey()
prParamsForm~>prRailSapceField~>editable=nil
)

procedure( make_it_editable()
prParamsForm~>prRailSpaceField~>editable=t
)

procedure(prParamsFormField()
  prog(()
  prRailOverlapField = hiCreateRadioField(
      ?name 'prRailOverlapField
      ?prompt "Rail Overlap:"
      ?value "Yes"
      ?choices list("Yes" "No")
      ?callback list("make_it_grey()" "make_it_editable()")
      )
sep1=hiCreateSeparatorField(?name 'sep1)


  prRailSpaceField = hiCreateFloatField(
      ?name 'prRailSpaceField
      ?prompt "Rail Space(0~4)"
      ?value 0.0
      ?defValue 0.0
      ?range list(0 4)
     ?editable nil
      )

    hiCreateAppForm(
       ?name 'prParamsForm
       ?formTitle "Rail Params Setting"
       ?fields list(prRailOverlapField
                        sep1 prRailSpaceField)
       ?buttonLayout 'OKCancel
       ?callback "prParamsCallback()"
    )
    hiDisplayForm(prParamsForm)
);end prog
);end proce


procedure(prParamsCallback()
    prRailOverlap = prRailOverlapField->value
    prRailSpace = prRailSpaceField->value
    )

prParamsFormField()


发表于 2020-7-29 10:09:45 | 显示全部楼层


jfxyl 发表于 2020-7-29 09:11
我简化了一下程序试着运行了一下,不可编辑可以切换到可编辑的,但可编辑就切换不到不可编辑。 prRailSpa ...


把一开始的初始值设成No,不就可以了嘛。
 楼主| 发表于 2020-7-30 16:12:05 | 显示全部楼层


amodaman 发表于 2020-7-29 10:09
把一开始的初始值设成No,不就可以了嘛。


初始  #1 value:Yes #2 editable t     运行后#2一直可编辑
初始  #1 value:No #2 editable t     运行后#2一直可编辑
初始  #1 value:Yes #2 editable nil     运行后:不可编辑,#1选择No #2可编辑,再选就都是可编辑
初始  #1 value:No #2 editable nil     运行后:不可编辑,#1选择Yes #2不可编辑,再选No,#2可编辑,接下来#1无论选什么 #2都可编辑

综合下来就是只可以从不可编辑变到可编辑状态,反过来就失效了。


发表于 2020-7-30 17:22:21 | 显示全部楼层
本帖最后由 amodaman 于 2020-7-30 17:27 编辑


jfxyl 发表于 2020-7-30 16:12
初始  #1 value:Yes #2 editable t     运行后#2一直可编辑
初始  #1 value:No #2 editable t     运行后 ...


我再次测试了一下截图中左边的代码。

第一张图是 Rail Overlap缺省是No的时候,Rail Space Field是Greyed out掉的。

第二张图是 Raiders Overlap选择为 Yes的时候,Rail Space Field是可编辑的。

反复按“Yes”或者“No”,Rail Space field都会在不可编辑和可编辑状态中切换。哪里有问题?

这个组合如果你想掉换过来,代码中对换一下位置就可以了。
Capture1.PNG
Capture2.PNG
 楼主| 发表于 2020-7-30 18:11:01 | 显示全部楼层


amodaman 发表于 2020-7-30 17:22
我再次测试了一下截图中左边的代码。

第一张图是 Rail Overlap缺省是No的时候,Rail Space Field是Greyed ...


很无奈啊,在我这运行后,你说的“反复按“Yes”或者“No”,Rail Space field都会在不可编辑和可编辑状态中切换。哪里有问题?”  这个做不到,只能从不可编辑变到可编辑。
非常感谢耐心解答


发表于 2020-7-30 18:18:06 | 显示全部楼层


jfxyl 发表于 2020-7-30 18:11
很无奈啊,在我这运行后,你说的“反复按“Yes”或者“No”,Rail Space field都会在不可编辑和可编辑状 ...


不可能吧,这么简单的代码,还能有这个问题。
你的内存有问题吧。退出你的Cadence session,重新进入,只Load这个代码,我就不信会有啥问题。
 楼主| 发表于 2020-8-3 14:47:25 | 显示全部楼层


amodaman 发表于 2020-7-30 18:18
不可能吧,这么简单的代码,还能有这个问题。
你的内存有问题吧。退出你的Cadence session,重新进入,只 ...


不清楚什么问题。让朋友也跑了下,和我一样的情况。616和617

发表于 2020-8-3 15:40:26 | 显示全部楼层
我只能说这是不可能的。我这边跑了没问题,除非我们谈的不是同一个问题。
 楼主| 发表于 2021-9-3 13:42:57 | 显示全部楼层


amodaman 发表于 2020-8-3 15:40
我只能说这是不可能的。我这边跑了没问题,除非我们谈的不是同一个问题。 ...


今天有空又看了看程序,发现原来是make_it_grey里写成了prRailSapceField
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-11 22:11 , Processed in 0.049517 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表