Layout 将图像链接添加到当前布局-rebol

Layout 将图像链接添加到当前布局-rebol,layout,rebol,Layout,Rebol,我在玩Rebol,不知道如何将用户的组件添加回布局 我有一个布局,其中包含从图像URL获取的图像,链接到在线文章/视频。我想添加更多的图片链接到他们相应的文章/视频在线,采取从用户作为2个网址(一个为图像和一个为文章/视频) 我是否使用列表,将两个链接添加到列表中,并使用show作为按钮事件再次调用视图?有没有办法在不刷新整个布局的情况下添加它 你可以使用列表,但这是一个棘手的问题。我将在这里包括一个示例,以便您可以评估它的工作方式,以及它是否适合您 通过列表,可以定义布局,然后根据某些数据或其

我在玩Rebol,不知道如何将用户的组件添加回布局

我有一个布局,其中包含从图像URL获取的图像,链接到在线文章/视频。我想添加更多的图片链接到他们相应的文章/视频在线,采取从用户作为2个网址(一个为图像和一个为文章/视频)


我是否使用列表,将两个链接添加到列表中,并使用show作为按钮事件再次调用视图?有没有办法在不刷新整个布局的情况下添加它

你可以使用列表,但这是一个棘手的问题。我将在这里包括一个示例,以便您可以评估它的工作方式,以及它是否适合您

通过列表,可以定义布局,然后根据某些数据或其他数据动态修改布局。为了进行说明,以下是一些图标:

icons: [
    http://reb4.me/r/html-document.png
    http://reb4.me/r/pdf-document.png
    http://reb4.me/r/excel-document.png
    http://reb4.me/r/word-document.png
    http://reb4.me/r/zip-document.png
]
列表样式由大小、布局和供应函数组成(我将对边缘进行处理):

底部包含一个按钮,用于修改数据,然后仅重新显示列表

  • 大小为
    48x240
    -列表垂直工作,调用供应函数(列表高度/迭代布局高度)次。我有五个图标,所以将图标高度乘以五

  • [image 48x48]
    是我们的迭代布局。请注意,在本例中,我们仅定义一个面。与常规布局不同,列表布局是使用
    layout/tight
    细化创建的。如果需要替换间距,则需要指定

  • 供应[…]部分是我们的供应职能。这是将创建和调用以更新列表的函数的缩写。该函数是
    func[face count index][…]
    ,其中
    face
    是操作面<代码>计数是列表中的位置;而
    索引
    是迭代布局中
    的偏移量

  • 关键是要记住,迭代布局只创建一次。随着计数的增加,您只需更改该布局中面的属性

  • 您只需要显示列表,而不是整个布局


因此,从这里,您可以看到数据源和显示之间的关系。

这是相同的基本示例,更多地使用了数据:
view center-face layout [
    across

    lst: list 48x240 edge none [image 48x48] supply [
        face/image: all [
            img: pick icons count
            load-image img
        ]
    ]

    btn "Random" [
        icons: random icons
        show lst
    ]
]