スロットをクリックすると、スロットの内容を変更してユーザー フィードバックを提供し、実行に数秒かかるコードを呼び出します。ただし、スロットへの変更は、「遅い」プロセスが完了するまでレンダリングされません。「遅い」コードが実行される前に、強制的にレンダリングを行う方法はありますか?
次の例では、「処理中です。しばらくお待ちください...」というメッセージがユーザーに表示されることはありません。
class MyTest < Shoes
url '/', :index
url '/result', :result
def index
stack do
my_button=flow do
image './assets/trees.jpg'
para 'Process Image'
end
my_button.click do
my_button.contents[0].hide
my_button.contents[1].text="Processing, please wait ..."
sleep(4) # Simulate slow process
visit '/result'
end
end
end
def result
stack do
para "Finished processing"
end
end
end
Shoes.app
ruby.c または canvas.c の Shoes のソース コードを見ると、リペイントまたはペイント キャンバスへの参照があります。それらは靴の中から呼び出すことができますか?
前もって感謝します