フォーカスを受け取ったときにすべてのテキストを自動的に選択する入力コントロールが必要です。コードを実行し、Tab キーを押して 2 つのコントロール間でフォーカスを切り替えると、コントロール内のすべてのテキストが自動的に選択されます。マウスを使用して他のコントロールを選択する場合も、同じ動作が必要です。私の質問は、エントリ コントロールがマウスでクリックされたときに通知される GTK イベントは何ですか?
import Graphics.UI.Gtk
main :: IO ()
main = do
initGUI
vbox <- vBoxNew False 4
window <- windowNew
set window [ containerBorderWidth := 8,
containerChild := vbox ]
mkEntry "Entry 1" vbox
mkEntry "Entry 2" vbox
onDestroy window mainQuit
widgetShowAll window
mainGUI
mkEntry :: String -> VBox -> IO Entry
mkEntry txt vbox = do
entry <- entryNew
entrySetText entry txt
boxPackStart vbox entry PackNatural 0
-- selects all text when tabbing into the control
entry `on` entryActivate $ do editableSelectRegion entry 0 (-1)
return entry