如何动态地将新选项卡添加到Red中的选项卡面板

时间:2017-05-05 16:03:50

标签: red

我们假设你有一个像这样的标签面板:

editor: layout [
    below
    t: tab-panel 350x350 [
        "tab 1" [
            below
            b: button 75x25 "Interpret" on-click [do a/text ]
            a: area 320x250
        ]
    ]
]

view editor

如何动态添加新标签,以便包含当前标签的内容?

1 个答案:

答案 0 :(得分:3)

它们是动态添加新标签的几种方法,但在所有情况下,它归结为添加:

  • 标签标签为string!t/data块。
  • 相应的panelobject!t/pane阻止。

这是一个完整的示例代码:

tab1: [
    below
    button 75x25 "Interpret" on-click [do face/parent/pane/2/text ]
    area 320x250
]

editor: layout compose/deep/only [
    below
    button "add tab" [
        append t/data "tab 2"
        append t/pane make face! [type: 'panel pane: layout/only tab1]
    ]
    t: tab-panel 350x350 ["tab 1" (tab1)]
]
view editor

一些评论:

  • tab1定义已外部化,因此其定义可以重复用于其他标签内容(根据您的请求)。
  • a:字词已被删除,因为它无法复制,现在可以通过向上走树来完成对当前标签面板中当前area面部的访问。 b:定义因同样原因被删除(并且无论如何都没有使用它)。

动态行为和动态面部构造(没有VID方言)的示例可用heretab-panel面部类型描述为there