2012-11-09 3 views
0

Rebol을 가지고 놀고 있는데 사용자의 구성 요소를 레이아웃에 어떻게 다시 추가 할 수 있는지 알 수 없습니다.현재 레이아웃에 이미지 링크 추가 - rebol

image-urls에서 가져온 이미지가 온라인에있는 기사/비디오에 연결된 레이아웃이 있습니다. 사용자가 2 개의 URL (이미지 및 기사/동영상 중 하나)에서 가져온 해당 기사/동영상에 연결된 이미지를 추가하고 싶습니다.

목록을 사용하고 목록에 두 개의 링크를 추가하고 버튼 이벤트로 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 인 - 목록 공급 기능 (목록 높이/반복 레이아웃 높이) 번 호출 수직 작동한다. 5 개의 아이콘이 있으므로 아이콘 높이에 5를 곱합니다.

  • [image 48x48]은 반복 레이아웃입니다. 이 예제에서는 하나의 면만 정의합니다. 일반 레이아웃과 달리 목록 레이아웃은 layout/tight 상세 검색을 사용하여 생성됩니다. 대체 간격을 원하면 구체화해야합니다.

  • supply [...] 부분은 우리의 공급 기능입니다. 이것은 목록을 업데이트하기 위해 생성되고 호출 될 함수의 축약 형입니다. 이 함수는 func [face count index][...]입니다. 여기서 face은 수술면입니다. count은 목록의 위치입니다. index은 반복 레이아웃에서 face의 오프셋입니다.

  • 반복 레이아웃은 으로 작성해야한다는 것을 기억하십시오. 개수가 늘어 나면 해당 레이아웃 내의면의 속성 만 변경하면됩니다.

  • 전체 레이아웃이 아닌 show에만 목록이 필요합니다.

여기에서 데이터 원본과 디스플레이 간의 관계를 볼 수 있습니다.

+0

이것은 데이터를 조금 더 사용하는 기본 예제입니다. http://reb4.me/r/icons-list – rgchris