module RAutomation module Adapter module Ffi class TextField include WaitHelper include Locators # Possible locators are :id, :class and :index. def initialize(window, locators) @window = window extract(locators) end def set(text) #:nodoc: wait_until do hwnd = Functions.control_hwnd(@window.hwnd, @locators) @window.activate @window.active? && Functions.set_control_focus(hwnd) && Functions.set_control_text(hwnd, text) && value == text end end def clear #:nodoc: set "" end def value #:nodoc: Functions.control_value(Functions.control_hwnd(@window.hwnd, @locators)) end def exists? #:nodoc: !!Functions.control_hwnd(@window.hwnd, @locators) end end end end end