Search code examples
rebolrebol3r3-gui

REBOL 3 - How to update a layout that has already been viewed?


I'm trying to add a field to a layout after it has been viewed

view/no-wait m: [field "hello"]
insert tail m 'field
insert tail m "hello"
update-face m
** Script error: update-face does not allow block! for its face argument

I want to update the whole layout, not just the field or some part of it. If I try to use view m, it opens a new window. Do I just have to un-view it and then view again?


Solution

  • You can use the LAYOUT function in R3-GUI as well. See the example below:

    view/no-wait m: layout [field "hello"]
    
    ;We need to get the BACKDROP container which is first sub-face in the WINDOW face
    m: first faces? m
    
    append-content m [
        field "world"
    ]
    
    do-events
    

    Ofcourse there are also other ways how to handle layout content dynamically.