Sha256: 27d2f30cd833d2de558593c4668abc22a4016a4b54a11f51a9f6d877d87a21d2

Contents?: true

Size: 1.11 KB

Versions: 4

Compression:

Stored size: 1.11 KB

Contents

module RAutomation
  module Implementations
    module AutoIt
      class TextField
        include WaitHelper
        include Locators

        # Special-cased locators
        LOCATORS = {:class_name => :classnn}

        # Possible locators are :id, :class, :class_name and :instance.
        def initialize(window, locators)
          @window = window
          extract(locators)
        end

        def set(text) #:nodoc:
          wait_until do
            @window.activate
            @window.active? &&
                    Window.autoit.ControlFocus(@window.locator_hwnd, "", @locators) == 1 &&
                    Window.autoit.ControlSetText(@window.locator_hwnd, "", @locators, text) == 1 &&
                    value == text
          end
        end

        def clear #:nodoc:
          set ""
        end

        def value #:nodoc:
          Window.autoit.ControlGetText(@window.locator_hwnd, "", @locators)
        end

        def exists? #:nodoc:
          not Window.autoit.ControlGetHandle(@window.locator_hwnd, "", @locators).empty?
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rautomation-0.0.4 lib/rautomation/implementations/autoit/text_field.rb
rautomation-0.0.3 lib/rautomation/implementations/autoit/text_field.rb
rautomation-0.0.2 lib/rautomation/implementations/autoit/text_field.rb
rautomation-0.0.1 lib/rautomation/implementations/autoit/text_field.rb