Sha256: c8678ff016a0d2081b8a7d03ea30c0437f9b33c10feda3fad00ef688a535ec4a

Contents?: true

Size: 1.21 KB

Versions: 4

Compression:

Stored size: 1.21 KB

Contents

# Copyright (c) 2023 M.J.N. Corino, The Netherlands
#
# This software is released under the MIT license.

module Wx

  class OwnerDrawnComboBox

    # make sure to honor the inherited common overloads
    wx_get_client_object = instance_method :get_client_object
    define_method :get_client_object do |*args|
      if args.empty?
        super()
      else
        wx_get_client_object.bind(self).call(*args)
      end
    end
    wx_set_client_object = instance_method :set_client_object
    define_method :set_client_object do |*args|
      if args.size < 2
        super(*args)
      else
        wx_set_client_object.bind(self).call(*args)
      end
    end
    # redefine aliases
    alias :client_object :get_client_object
    alias :client_object= :set_client_object

    alias :get_client_data :get_client_object
    alias :set_client_data :set_client_object

    # Overload to provide Enumerator without block
    wx_each_string = instance_method :each_string
    define_method :each_string do |&block|
      if block
        wx_each_string.bind(self).call(&block)
      else
        ::Enumerator.new { |y| wx_each_string.bind(self).call { |ln| y << ln } }
      end
    end

  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
wxruby3-0.9.7-x64-mingw-ucrt lib/wx/core/owner_drawn_combobox.rb
wxruby3-0.9.5-x64-mingw-ucrt lib/wx/core/owner_drawn_combobox.rb
wxruby3-0.9.4-x64-mingw-ucrt lib/wx/core/owner_drawn_combobox.rb
wxruby3-0.9.3-x64-mingw-ucrt lib/wx/core/owner_drawn_combobox.rb