これをさっきオーバーライドした関数の中に置く。レイアウトWidgetのキャンバスに置かれているすべてのパーツが検出対象で、何かあるところでマウスボタンを押すと、この関数が呼び出される。特定のパーツのみを対象にしたい。WebページのデザインでCSSを触ったことがあるならピンとくるはず。このノードはカーソルが乗っているかどうかをブーリアンの値で返してくれるノード。テストするためにPrintStringをつないでみる。コンパイルするとWarningが出た。空いてるとダメなのだった。ノードをつないで祈る。鎮まり給へ!鎮まった。よし、ちゃんと反応してる。今度は閉じるイベント作って、それを呼び出せばいい。テキスト入力Widgetを編集しよう。呼び出すだけでいいのか?勝手にいろんなタイミングでクリックされるから、都合の悪い時がある。あと、入力中のやつはキャンセルするけど、非アクティブの方はすでに閉じてる。なると、フラグが要るな。ブーリアン型の変数を2つ用意しよう。この値をセットするはここだ。Buttonをクリック処理するところ。このフラグを元にカスタムイベントで閉じることが可能かチェックする。このあとに閉じるアニメーションをつなぐんだけど、ちょうどいい場所があった。!送信した直後だから、ただ閉じる処理しかしていない。この処理の一番最後尾でフラグを元に戻せばいい。これで、テキスト入力Widget側の準備はできた。テストでPrintStringをつないでいたところを差し替える。さっき準備したカスタムイベントを呼び出す。