Просмотр движка моделей GUI интерфейса в виде дерева объектов; каждый узел в этом дереве называется лицом, и каждое поле этого лица называется фасетом.
Два фасета, parent
и pane
, связывают грань с его родительским узлом и его дочерними узлами, соответственно. Итак, согласно этой теории, удаление кнопки означает удаление лица button
с панели ее родительского элемента:
view [button "Poof!" [probe select take face/parent/pane 'text]]
Однако это немного ограниченный подход. Удаленная грань отсоединяется от дерева просмотра и больше не может использоваться, если вы повторно не прикрепите объект face!
с той же спецификацией обратно к панели. Может быть, более полезно просто отключить кнопку или временно сделать ее невидимой. Именно этого можно достичь с помощью фасетов enabled?
и visible?
:
view [
title "Face flags example"
below
toggle "Toggle" [foo/enabled?: not foo/enabled?]
foo: button "Switch" disabled [bar/visible?: not bar/visible?]
bar: base red
]
Вы можете адаптировать этот подход к текущей задаче. Насколько я понимаю, вы хотите предложить взаимоисключающие варианты локализации; drop-list
может подойти для этого:
view [drop-list data ["en" "es"]]