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

2024-04-24

假设您有一个像这样的选项卡面板:

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

view editor

如何动态添加一个新选项卡以包含当前选项卡的内容?


动态添加新选项卡有多种方法,但在所有情况下,都归结为添加:

  • 选项卡标签作为string! to t/data block.
  • 对应的一个panel face object! to t/pane block.

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

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 方言)的示例here https://github.com/red/red/blob/master/tests/view-test.red. tab-panel脸型被描述there https://doc.red-lang.org/en/view.html#_tab_panel.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何动态地将新选项卡添加到红色选项卡面板中 的相关文章

随机推荐