2012-11-09 33 views
0

我在玩Rebol,無法弄清楚如何將用戶的組件添加回我的佈局。將圖像鏈接添加到當前佈局 - rebol

我有一個從圖像URL獲取圖像的佈局,鏈接到在線文章/視頻。我想添加更多的圖片鏈接到他們相應的在線文章/視頻,從用戶作爲2個網址(一個用於圖像,另一個用於文章/視頻)。

我是否使用列表,將兩個鏈接添加到列表中並使用show作爲按鈕事件再次調用視圖?有沒有一種方法可以在不刷新整個佈局的情況下添加它?

回答

1

你可以使用一個列表,但它是一個棘手的野獸。我將在這裏包含一個示例,以便您可以評估它的工作方式,以及它是否適合您。

通過列表可以定義佈局,然後根據某些數據或其他數據動態修改佈局。爲了說明這一點,這裏有一些圖標:

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 
] 

列表樣式由一個尺寸,佈局和供應功能(我要去扎普邊緣):

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 
    ] 
] 

包括在底部是一個修改我們數據的按鈕,然後重新顯示只有的列表。

  • 大小爲48x240 - 列表垂直工作,調用供給函數(列表高度/迭代佈局高度)次。我有五個圖標,因此將圖標高度乘以五。

  • [image 48x48]是我們的迭代佈局。請注意,在這個例子中我們只定義了一個面。與一般佈局不同,使用layout/tight改進來創建列表佈局 - 如果您需要替代間距,則需要具體說明。

  • supply [...]部分是我們的供應功能。這是一個將被創建和調用來更新列表的函數的簡寫。該功能是func [face count index][...],其中face是操作面; count是列表中的位置;而index是迭代佈局中的face的偏移量。

  • 重要的是要記住,只有創建迭代佈局一次。隨着計數的增加,您只需更改該佈局中的面的屬性。

  • 您只需要show列表,而不是整個佈局。

因此,從這裏可以看到數據源和顯示之間的關係。

+0

這是使用多個數據的基本示例:http://reb4.me/r/icons-list – rgchris